第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不被spring管理的類依賴于spring管理的bean,如何讓spring管理的bean及早初始化?

不被spring管理的類依賴于spring管理的bean,如何讓spring管理的bean及早初始化?

開滿天機(jī) 2019-05-06 21:43:33
我要配置mybatis二級緩存為redis因為需要注入redis的ipportusername等等我需要構(gòu)建JedisPoolConfig的bean,然后得到JedisConnectionFactory的bean而我定義的redis緩存如下finalclassMybatisCacheimplementsCache{privateStringidprivatefinalReadWriteLockreadWriteLock=newDummyReadWriteLock()privateRedisTemplateredisTemplateprivateHashOperationshashOperationsprivatestaticJedisConnectionFactoryjedisConnectionFactorystaticsetJedisConnectionFactory(JedisConnectionFactoryfactory){jedisConnectionFactory=factory}MybatisCache(Stringid){if(id==null){thrownewIllegalArgumentException("CacheinstancesrequireanID")}else{this.id=idredisTemplate=newRedisTemplate()redisTemplate.setConnectionFactory(jedisConnectionFactory)redisTemplate.setKeySerializer(newStringRedisSerializer())redisTemplate.setValueSerializer(newGenericJackson2JsonRedisSerializer())redisTemplate.setHashKeySerializer(newGenericJackson2JsonRedisSerializer())redisTemplate.setHashValueSerializer(newGenericJackson2JsonRedisSerializer())redisTemplate.afterPropertiesSet()hashOperations=redisTemplate.opsForHash()}。。。}但是MybatisCache不是spring的bean,所以如果這個類被加載時JedisPoolConfig,JedisConnectionFactory等bean還沒有初始化的話,就得到null,有沒有什么辦法讓JedisPoolConfig,JedisConnectionFactory等bean能保證在MybatisCache被使用期前初始化?
查看完整描述

2 回答

?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗 獲得超8個贊

1、要么把你所謂的那些不被spring管理的類依賴于spring管理的bean,配置為Spring管理的Bean,這樣你就可以用Spring的IOC注入了,這種方式更簡單,理論上任何Bean,都可以被Spring管理。2、如果你不想讓Spring管理,那你在你代碼里面,先把Spring初始化,這個應(yīng)該好辦的,初始化完成后,代碼里可以監(jiān)聽Spring初始化完成的事件的,得到以后,你拿到Spring工廠,自己做IOC,做自己的類的初始化。
                            
查看完整回答
反對 回復(fù) 2019-05-06
  • 2 回答
  • 0 關(guān)注
  • 369 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號