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

Spring boot 無法注入service問題

 更新時間:2021年10月09日 11:51:07   作者:croder  
這篇文章主要介紹了Spring boot 無法注入service問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Spring boot 無法注入service

SpringBoot項目的Bean裝配默認規(guī)則是根據(jù)Application類所在的包位置從上往下掃描!

“Application類”是指SpringBoot項目入口類。

這個類的位置很關鍵:

如果Application類所在的包為:com.boot.app,則只會掃描com.boot.app包及其所有子包,如果service或dao所在包不在com.boot.app及其子包下,則不會被掃描!

即,把Application類放到dao、service所在包的上級,com.boot.Application

知道這一點非常關鍵,大多數(shù)情況下bean無法注入進來都是這個原因引起的。

附上正確目錄結構

@Autowired注入無法實例化service

問題場景

springboot整合netty時,netty的處理類無法實例化service

問題解讀

經(jīng)過查閱資料,netty的bean對象默認不交由spring管理

解決方案

@Component//1.添加注解
public class NettyServerHandler extends ChannelInboundHandlerAdapter {
    private static Log log = LogFactory.getLog(NettyServerHandler.class);
    @Autowired
    private RedisUtils redisUtils;
    //2.聲明本類
    private static NettyServerHandler nettyServerHandler;
    //3.聲明構造方案
    public NettyServerHandler(){}
    //4.添加注解,在項目初始化時執(zhí)行這個方法
    @PostConstruct
    public void init() {
        nettyServerHandler = this;
        nettyServerHandler.redisUtils = this.redisUtils;
    }
=====================================
經(jīng)過以上4步驟的處理
for (Map dto : variants){
    String key = dto.get("key").toString();                   
     nettyServerHandler.redisUtils.hmset(dto.get("key").toString(),
dto, 100000);
 }
//nettyServerHandler.redisUtils.hmset()  通過這種方式調(diào)用redisUtils就可以了

@PostConstruct 描述

@PostConstruct

從Java EE5規(guī)范開始,Servlet增加了兩個影響Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct。這兩個注解被用來修飾一個非靜態(tài)的void()方法.而且這個方法不能有拋出異常聲明。 @PostContruct是spring框架的注解,在方法上加該注解會在項目啟動的時候執(zhí)行該方法,也可以理解為在spring容器初始化的時候執(zhí)行該方法。

@PostConstruct在項目中的用處

@PostConstruct注解的方法在項目啟動的時候執(zhí)行這個方法,也可以理解為在spring容器啟動的時候執(zhí)行,可加載項目中常規(guī)數(shù)據(jù)。

spring中Constructor、@Autowired、@PostConstruct的順序

要將對象b注入到對象a,那么首先就必須得生成對象b與對象a,才能執(zhí)行注入。所以,如果一個類a中有個成員變量b被@Autowired注解,那么@Autowired注入是發(fā)生在a的構造方法執(zhí)行完之后的。

如果想在生成對象時候完成某些初始化操作,而偏偏這些初始化操作又依賴于依賴注入,那么就無法在構造函數(shù)中實現(xiàn)。為此,可以使用@PostConstruct注解一個方法來完成初始化,@PostConstruct注解的方法將會在依賴注入完成后被自動調(diào)用。

Constructor >> @Autowired >> @PostConstruct

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

相關文章

  • Java實現(xiàn)將CSV轉(zhuǎn)為Excel的示例代碼

    Java實現(xiàn)將CSV轉(zhuǎn)為Excel的示例代碼

    CSV(Comma?Separated?Values)文件是一種純文本文件,包含用逗號分隔的數(shù)據(jù),常用于將數(shù)據(jù)從一個應用程序?qū)牖驅(qū)С龅搅硪粋€應用程序。本文將利用Java實現(xiàn)CSV轉(zhuǎn)為Excel,感興趣的可以了解一下
    2022-03-03
  • Java并發(fā)編程之詳解CyclicBarrier線程同步

    Java并發(fā)編程之詳解CyclicBarrier線程同步

    在之前的文章中已經(jīng)為大家介紹了java并發(fā)編程的工具:BlockingQueue接口,ArrayBlockingQueue,DelayQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue,BlockingDeque接口,ConcurrentHashMap,CountDownLatch,本文為系列文章第十篇,需要的朋友可以參考下
    2021-06-06
  • java代理模式與動態(tài)代理模式詳解

    java代理模式與動態(tài)代理模式詳解

    代理就是一個人或者一個機構代表另一個人或者另一個機構采取行動。在一些情況下,一個客戶不想或者不能夠直接引用一個對象,而代理對象可以在客戶端和目標對象之前起到中介的作用
    2014-02-02
  • java實現(xiàn)簡單的小超市程序

    java實現(xiàn)簡單的小超市程序

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單的小超市程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • idea文件被鎖無法更改問題

    idea文件被鎖無法更改問題

    這篇文章主要介紹了idea文件被鎖無法更改問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 詳解Java中的封裝、繼承、多態(tài)

    詳解Java中的封裝、繼承、多態(tài)

    本文主要介紹了Java中的封裝、繼承、多態(tài)的相關知識,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 詳解Spring獲取配置的三種方式

    詳解Spring獲取配置的三種方式

    這篇文章主要為大家詳細介紹了Spring獲取配置的三種方式:@Value方式動態(tài)獲取單個配置、@ConfigurationProperties+前綴方式批量獲取配置以及Environment動態(tài)獲取單個配置,感興趣的可以了解一下
    2022-03-03
  • springboot+EHcache 實現(xiàn)文章瀏覽量的緩存和超時更新

    springboot+EHcache 實現(xiàn)文章瀏覽量的緩存和超時更新

    這篇文章主要介紹了springboot+EHcache 實現(xiàn)文章瀏覽量的緩存和超時更新,問題描述和解決思路給大家介紹的非常詳細,需要的朋友可以參考下
    2017-04-04
  • PageHelper分頁查詢操作方法示例

    PageHelper分頁查詢操作方法示例

    這篇文章主要為大家介紹了PageHelper分頁查詢數(shù)據(jù)操作方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Spring?Boot?快速使用?HikariCP?連接池配置詳解

    Spring?Boot?快速使用?HikariCP?連接池配置詳解

    Spring Boot 2.x 將其作為默認的連接池組件,項目中添加 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa 模塊后,HikariCP 依賴會被自動引入,這篇文章主要介紹了Spring?Boot使用HikariCP連接池配置詳解,需要的朋友可以參考下
    2023-06-06

最新評論