成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術(shù)文章
文章詳情頁

Spring Boot中單例類實(shí)現(xiàn)對象的注入方式

瀏覽:74日期:2023-06-27 17:11:07
Spring Boot 單例類實(shí)現(xiàn)對象的注入1、最近接手了一個項(xiàng)目

項(xiàng)目用的是SpringBoot,但其中有個類用的是單例,為了不改變單例,且還需要引入Spring管理的Bean對象

2、對于一個單例類按照平時的注解方式添加

啟動時會報(bào)空指針異常,因?yàn)閟tatic類對象是創(chuàng)建對象后,內(nèi)存中還沒有注入Bean信息,且無法初始化Bean實(shí)例,這里的解決辦法是利用@PostConstruct來對單例類中對象的注入

@Componentpublic class MesssageHandle implements IMessageHandler { private final static Logger logger = LoggerFactory.getLogger(MesssageHandle.class); private static MesssageHandle instance = new MesssageHandle(); @Autowired private ScheduleService scheduleService; private MesssageHandle(){ } public static MesssageHandle getInstance() { return instance; } @PostConstruct public void init(){ instance = this; instance.scheduleService = this.scheduleService; }spring boot的對象注入1、需求

現(xiàn)在我們的項(xiàng)目中需要引入一個java類庫,我想要很方便的使用該類庫中的一個類,并且我想要創(chuàng)建這個類的一個單例對象。然后可以很方便的在各個模塊中用@AutoWired進(jìn)行對象注入。

比如一個配置文件,我在一個地方創(chuàng)建Configuration對象,讀取配置文件中的配置,然后在各個模塊中使用該對象。

2、需求分析

這個需求涉及到兩個問題

一個是單例對象的創(chuàng)建;另外一個是單例對象的引用。因?yàn)椋阋靡粋€對象,你首先得創(chuàng)建它。創(chuàng)建一個對象在Spring中有固定的模式,在定義類的時候使用@Component注解,@Component默認(rèn)是單例的。這樣spring framework在進(jìn)行component scan的時候就會創(chuàng)建這個對象。用的時候很簡單,只需要@Autowired就可以了。

@Autowired最好使用構(gòu)造器注入,也就是說,不是直接將@Autowired放在成員變量上面,而是放在構(gòu)建函數(shù)上面,然后通過構(gòu)造函數(shù)的參數(shù)注入。為何要這么麻煩?

3、Spring boot是對spring使用的簡化

所以這整個的過程也是Spring boot所具備的能力。

4、以上分析的是自己創(chuàng)建的類對象注入

現(xiàn)在如果用這種對象注入來使用成熟的包中的對象呢?

4.1 使用配置文件生成bean

<bean class='xxx'></bean>

4.2 使用@Configuration注解生成bean

@Configurationpublic class AppConfig { @Bean(name = 'timedCache') public TimedCache<String, Muser> listStrBean() {return new TimedCache<String, Muser>(30 * 6000); } }5 各個常用的注解

5.1 dao

@Repository

5.2 model

不需要注解

5.3 restful的controller

@RestController

5.4 service

service接口處不用,在接口的實(shí)現(xiàn)類處用@Service

6 關(guān)于@Autowired

要用到另外一個類的對象時,首先定義一個引用。

然后在本類的構(gòu)造函數(shù)中給該引用賦值,然后將@Autowired來注解這個構(gòu)造函數(shù)。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 国产成人综合久久精品亚洲 | 玖玖在线国产精品 | 亚洲欧美激情精品一区二区 | 18视频免费网站 | 欧美日韩精品一区二区在线线 | 看欧美毛片一级毛片 | 久久91精品综合国产首页 | 欧美成人精品欧美一级乱黄 | 中文一区 | 亚洲色在线视频 | 国产精品久久国产精品99盘 | 久99久精品视频免费观看v | 欧美一级高清黄图片 | 台湾一级特黄精品大片 | 国产精品久久久久网站 | 久久精品视频99 | 亚洲一区二区三区精品影院 | 精品日韩在线视频一区二区三区 | www.黄色免费网站 | 国产精品日韩 | 亚洲男人的天堂在线视频 | 亚洲撸 | 国产精品3| 日韩免费一级片 | 欧美日韩国产综合一区二区三区 | 国产精品夜色视频一区二区 | 一本色道久久综合亚洲精品 | 国产精品漂亮美女在线观看 | 成人老司机深夜福利久久 | 黄色日韩网站 | 国产精品久久久久久久专区 | 1024色淫免费视频 | caoporen国产91在线 | 欧美成人久久一级c片免费 欧美成人看片黄a免费 | 国产在线视频一区 | 日本a级在线| 国产91久久精品一区二区 | 一级毛片私人影院老司机 | 欧美日韩不卡在线 | 久久久久亚洲精品影视 | 亚洲精品一区二区三区四区手机版 |