欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

聊聊SpringBoot中組件無法被注入的問題

 更新時(shí)間:2021年08月31日 14:58:12   作者:Champion-Dai  
這篇文章主要介紹了SpringBoot中組件無法被注入的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot中組件無法被注入

1、描述問題

在SpringBoot中,無法通過注解@AutoWired來自動(dòng)綁定實(shí)體bean或者組件component。

2、解決問題

首先檢查自己的是否在實(shí)體類上加上了@Component這樣的注解,@ComponentScan可以掃描的有@Service、@Repository、@Componnet、@Controller、@RestController等注解的類。當(dāng)項(xiàng)目啟動(dòng)的時(shí)候,說明在Spring容器中已經(jīng)存在了這些組件,放我們請求綁定的時(shí)候,如@Autowired或者@Resourece時(shí),通過IOC,會(huì)自動(dòng)為我們添加一個(gè)對象到我們的當(dāng)前類中。

但當(dāng)我們這一切都做好了,卻發(fā)現(xiàn)依舊不能通過@AutoWired進(jìn)行綁定時(shí),我們需要考慮需要綁定的對象是否存在一個(gè)無參構(gòu)造函數(shù)(默認(rèn)有,但是會(huì)被其他有參構(gòu)造函數(shù)覆蓋掉),下面的注解是我使用Lombok的注解。@Data包含了屬性的Set/Get的方法,還有包括toString()、Equals()等。@NoArgsConstructor表示構(gòu)造無參函數(shù)。@AllArgsConstructor表示構(gòu)造全參函數(shù)。

有了無參構(gòu)造函數(shù),基本就可以進(jìn)行綁定,并且調(diào)用該對象的方法了。

3、總結(jié)問題

Spring通過DI(依賴注入)來實(shí)現(xiàn)IOC(控制反轉(zhuǎn))

常用的注入方式Spring容器有三種方式:

①構(gòu)造方法注入,②Set方法注入,③接口注入。

方法比較多,放我們熟悉一種的時(shí)候,不妨去學(xué)習(xí)其他的方法,三者的注入方式都有一定的適用場景,這也是知識從點(diǎn)到面的過程。

解決在@Component注入為null

package com.gblfy;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
/**
 * @author gblfy
 * @ClassNme BaseCommon
 */
@Component//關(guān)鍵點(diǎn) 1 為spring組件
public class BaseCommon {
    //添加所需ConfigParam的私有成員
    @Resource
    private ConfigParam configParam;
    //  關(guān)鍵點(diǎn)2  靜態(tài)初使化 一個(gè)工具類  這樣是為了在spring初使化之前
    private static BaseCommon baseCommon;
    //關(guān)鍵 3   通過@PostConstruct 和 @PreDestroy 方法 實(shí)現(xiàn)初始化和銷毀bean之前進(jìn)行的操作
    @PostConstruct
    public void init() {
        baseCommon = this;
        // 初使化時(shí)將已靜態(tài)化的configParam實(shí)例化
        baseCommon.configParam = this.configParam;
    }
    /**
     * @param serviceName
     * @throws Exception
     */
    @Transactional
    public void logWebService(String serviceName) throws Exception {
        //關(guān)鍵點(diǎn) 4 調(diào)用時(shí)請使用 此類靜態(tài)變量 .對象 例如:baseCommon.configParam
        String params = baseCommon.configParam.getParams(serviceName);
        System.out.println("返回參數(shù)" + params);
    }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于SpringBoot大文件RestTemplate下載解決方案

    關(guān)于SpringBoot大文件RestTemplate下載解決方案

    這篇文章主要介紹了SpringBoot大文件RestTemplate下載解決方案,最近結(jié)合網(wǎng)上案例及自己總結(jié),寫了一個(gè)分片下載tuling/fileServer項(xiàng)目,需要的朋友可以參考下
    2021-10-10
  • 聊聊SpringBoot自動(dòng)裝配的魔力

    聊聊SpringBoot自動(dòng)裝配的魔力

    這篇文章主要介紹了SpringBoot自動(dòng)裝配的魔力,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解Spring系列之@ComponentScan自動(dòng)掃描組件

    詳解Spring系列之@ComponentScan自動(dòng)掃描組件

    這篇文章主要介紹了Spring @ComponentScan自動(dòng)掃描組件使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • SpringBoot Maven Clean報(bào)錯(cuò)解決方案

    SpringBoot Maven Clean報(bào)錯(cuò)解決方案

    這篇文章主要介紹了SpringBoot Maven Clean報(bào)錯(cuò)解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • java線程池合理設(shè)置最大線程數(shù)和核心線程數(shù)方式

    java線程池合理設(shè)置最大線程數(shù)和核心線程數(shù)方式

    這篇文章主要介紹了java線程池合理設(shè)置最大線程數(shù)和核心線程數(shù)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Springboot配置返回日期格式化五種方法詳解

    Springboot配置返回日期格式化五種方法詳解

    本文主要介紹了Springboot配置返回日期格式化五種方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 在JPA中criteriabuilder使用or拼接多個(gè)like語句

    在JPA中criteriabuilder使用or拼接多個(gè)like語句

    這篇文章主要介紹了在JPA中criteriabuilder使用or拼接多個(gè)like語句,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java ResultSet案例講解

    Java ResultSet案例講解

    這篇文章主要介紹了Java ResultSet案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 淺談java+內(nèi)存分配及變量存儲位置的區(qū)別

    淺談java+內(nèi)存分配及變量存儲位置的區(qū)別

    下面小編就為大家?guī)硪黄獪\談java+內(nèi)存分配及變量存儲位置的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-08
  • java使用httpclient模擬post請求和get請求示例

    java使用httpclient模擬post請求和get請求示例

    這篇文章主要介紹了java使用httpclient模擬post請求和get請求示例,需要的朋友可以參考下
    2014-02-02

最新評論