日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

基于spring三方包類注入容器的四種方式小結

瀏覽:17日期:2023-08-11 17:32:40

如果引用第三方jar包,肯定是不能直接使用常用注解@Controller、@Service、@Repository、@Component將類的實例注入到spring容器中。以下四種方法可以向spring容器中導入三方包中類實例 。

1 xml配置

這種情況大家用的比較多,就是在spring的xml文件中配置需要導入的bean。在springweb項目工程web.xml中 ContextLoaderListener或者DispatcherServlet的初始參數contextConfigLocation指定spring配置文件位置,可以在該配置文件中直接定義bean,或者在該配置文件中import專門配置三方bean的xml文件。springboot工程,可以在啟動類上面加注解@ImportResource。@ImportResource注解可以通過value指定需要掃描的xml文件,value是字符串數組可以指定多個xml配置文件。

@SpringBootApplication@ImportResource(value = {'classpath:spring-bean.xml'})public class DubboOneApplication { public static void main(String[] args) { SpringApplication.run(DubboOneApplication.class, args); }}

2 @Configuration和@Bean

可以通過直接直接向spring容器注入bean。在開啟注解掃描的情況下,在掃描的包路徑中添加具有@Configuration注解的類,在該類的定義返回某個實例的方法,這個方法加上@Bean的注解,那么這個方法的返回值將注入spring容器,這個bean的名稱是這個方法的名稱。

3 @Import

@Import可以直接向容器中導入第三方包中bean。在開啟注解掃描的情況下,可以在有@Controller,@Service,@Component,@Repository,@Configuration注解的類上面添加@Import注解,@Import注解有一個類數組類型的屬性,類數組中的類有以下四種情況

普通的類名稱,該類被注入容器,bean名稱是全類名

@SpringBootApplication@Import({TestTwo.class})public class DubboOneApplication { public static void main(String[] args) { SpringApplication.run(DubboOneApplication.class, args); }}

具有Configuration作用的類,沒有@Configuration注解,里面定義了具有@Bean注解的方法,例如上面TestTwo中有一個返回TestThree的方法使用了@Bean注解,那么TestThree也會注入進容器,bean名稱就是方法名,和@Configuration注入功能類似。

ImportSelector實現類,該接口具有一個方法,方法的返回值是字符串數組,每一項是全類名,通過參數AnnotationMetadata可以得到這個被@Import注解修飾類的信息。同樣這樣注入進來的bean的名稱也是全類名,可以返回空數組,不可以返回null。第一種直接寫注入類名和使用ImportSelector實現類,都沒有辦法使用注入類的有參構造方法,bean的名稱也沒有辦法指定,不過只單實例自動注入,不用關心bean名稱。

public interface ImportSelector { /** * Select and return the names of which class(es) should be imported based on * the {@link AnnotationMetadata} of the importing @{@link Configuration} class. */ String[] selectImports(AnnotationMetadata importingClassMetadata); }

ImportBeanDefinitionRegistrar實現類,該類有個方法可以直接向Application中手動注入bean,我們可以簡單定義一個bean然后注入。

@Overridepublic void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { RootBeanDefinition definition = new RootBeanDefinition(TestFive.class); registry.registerBeanDefinition('testTive',definition); }

4 @FactoryBean

FactoryBean可以用來實現代理,原始的代理實現就可以使用ProxyFactoryBean,還有專門用來實現事務代理的TransactionProxyFactoryBean。使用注解和配置的方式和一般bean一樣向容器中注入一個FactoryBean的實現類,實際注入的該FactoryBean中getObject方法返回的對象,這個bean的名稱還是對應配置或注解中指定的名稱。

@Component('testFive')public class TestFour implements FactoryBean<TestFive>{ @Override public boolean isSingleton() { return true; } @Override public TestFive getObject() throws Exception { return new TestFive(); } @Override public Class<?> getObjectType() { return TestFive.class; }}

補充知識:Spring Boot @Import注解(將指定類實例注入到IOC容器中)

[color=red][size=large][b]SpringBoot 的 @Import 用于將指定的類實例注入到Spring IOC Container中。[/b][/size][/color] SpringBoot 提供了 三種使用 @Import 將 類實例注入至 Spring IOC Container中 的實例。

1.直接注入

2.實現 ImportBeanDefinitionRegistrar 接口 注入

3.實現 ImportSelector 注入

[color=red][b]直接注入

[/b][/color]

Broker.java(無任何屬性和實現)

package com.springBoot.entrance.importBean.direct;public class Broker {}

Customer.java(無任何屬性和實現)

package com.springBoot.entrance.importBean.direct;public class Customer {}

ImportDirect.java

package com.springBoot.entrance.importBean.direct;import org.springframework.context.annotation.Import;import org.springframework.stereotype.Component;@Component@Import({Customer.class,Broker.class})/** *使用Import 將指定的類的實例注入至Spring 容器中 */public class ImportDirect {}

[b][color=red]代碼解讀:使用 @Import({Customer.class,Broker.class}) 后 Customer 和 Broker類的實例將會被注入之Spring IOC Container中[/color][/b]

App.java

//import Direct 使用import 直接將指定的類實例注入至Spring 容器中System.out.println(context.getBean(ImportDirect.class));System.out.println(context.getBean(Customer.class));System.out.println(context.getBean(Broker.class));

以上這篇基于spring三方包類注入容器的四種方式小結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
私拍精品福利视频在线一区| 91精品xxx在线观看| 欧美粗暴jizz性欧美20| 人在线成免费视频| 日韩国产一区二区| 久久精品99久久无色码中文字幕| 国产亚洲一区二区手机在线观看| 精品五月天堂| 精品免费av一区二区三区| 国内精品麻豆美女在线播放视频| 精品美女久久| 在线手机中文字幕| 91精品精品| 国产一级久久| 精品视频网站| 亚洲人www| 在线视频亚洲欧美中文| 久久精品播放| 国产亚洲综合精品| 精品丝袜久久| 免费的成人av| 久久免费影院| 亚洲午夜久久久久久尤物| 在线国产日韩| 亚洲永久字幕| 亚洲69av| 69堂精品视频在线播放| 国产精品久久久久毛片大屁完整版| 国产精品色在线网站| 欧美丰满日韩| 一区在线视频观看| 人人精品久久| av最新在线| 亚洲综合丁香| 国产精品美女在线观看直播| sm捆绑调教国产免费网站在线观看| 国产99亚洲| 玖玖精品视频| 国产欧美日韩综合一区在线播放| 成人在线视频免费看| 亚洲激情五月| 国产精品毛片视频| 99精品网站| 日韩欧美中文字幕在线视频| 高清一区二区| 中文一区一区三区免费在线观| 国产精品2区| 1024精品一区二区三区| 日韩高清二区| 99久久亚洲精品蜜臀| 中文字幕免费一区二区| 成人国产精品| 综合激情网...| 精品三级在线| 亚洲综合电影一区二区三区| 欧美经典一区| 国产亚洲福利| 成人台湾亚洲精品一区二区| 丝袜国产日韩另类美女| 精品久久久久久久| 一区二区电影| 日韩在线看片| 欧美日韩亚洲一区三区| 欧美 日韩 国产精品免费观看| 日韩精品一级| 91精品亚洲| 麻豆精品在线观看| 亚洲免费在线| 日韩欧美精品一区| 国产视频网站一区二区三区| 99精品在线免费在线观看| 国产视频一区二| 99热精品在线观看| 国产美女高潮在线观看| 日韩av网站在线观看| 99久久久久| 老司机精品在线| 中文无码久久精品| 久久精品中文| 你懂的国产精品| 亚洲精品在线国产| 午夜国产一区二区| 久久一区精品| 日韩中文字幕| 日韩视频免费| 不卡一二三区| 日韩不卡一区二区三区| 久久午夜精品一区二区| 国精品一区二区| 午夜久久中文| 免费日韩成人| 日本91福利区| 亚洲尤物av| 99xxxx成人网| 欧美日韩在线二区| 色在线中文字幕| 国产精品2023| 蜜臀久久久久久久| 日韩成人亚洲| 成人一区不卡| 久久影视三级福利片| 日本国产亚洲| 亚洲五月综合| 亚洲一区二区三区高清不卡| 精品中文一区| 激情久久久久久| 99久久婷婷这里只有精品| 亚洲美女久久精品| 国产一区二区三区久久| 麻豆91小视频| 欧美交a欧美精品喷水| 91亚洲无吗| 日韩欧美中文字幕在线视频| 国产精品日本欧美一区二区三区| 久久视频国产| 亚洲啊v在线| 国产高清不卡| av中文字幕在线观看第一页| 麻豆精品视频在线观看视频| 国产精品videossex久久发布| 日本久久二区| 最新国产精品视频| 色综合视频一区二区三区日韩 | 亚洲va中文在线播放免费| 久久午夜影院| 精品一区二区三区中文字幕在线| 日韩和欧美一区二区三区| 亚洲精品视频一二三区| 中文字幕免费一区二区| 蜜臀av一区二区在线免费观看| 国产亚洲毛片在线| 每日更新成人在线视频| 免费在线视频一区| 视频一区二区中文字幕| 亚洲欧美日韩在线观看a三区| 欧美日韩精品免费观看视欧美高清免费大片 | 麻豆精品蜜桃视频网站| 欧美黄色一区二区| 成人午夜亚洲| 波多视频一区| 91精品一区二区三区综合| 亚洲高清久久| 首页国产欧美日韩丝袜| 中文字幕一区二区三区日韩精品| 亚洲精品国产精品粉嫩| 青草国产精品| 国产专区精品| 国产一区清纯| 国产一级久久| 91成人精品在线| 精品国产亚洲一区二区三区| 精品欧美日韩精品| 久久久天天操| 另类av一区二区| 国产日韩1区| 天堂√中文最新版在线| 伊人久久亚洲热| 中文字幕av一区二区三区四区| 91成人小视频| 91欧美日韩| 中文精品在线| 日韩av一级片| 天堂а√在线最新版中文在线| 日韩午夜黄色| 亚洲tv在线| 麻豆精品久久久| 日韩欧美午夜| 亚洲综合另类| 国产精品v亚洲精品v日韩精品| 在线观看精品| 中文字幕一区二区三区四区久久| 国产精品久久久久av蜜臀 | 老司机免费视频一区二区三区| 黑人精品一区| 中文一区一区三区免费在线观| 久久久精品国产**网站| 久久精品国语| 91精品国产自产在线丝袜啪| 色爱综合网欧美| 免费观看在线综合| 免费看久久久| 妖精视频成人观看www| 国产精品毛片视频| 影音国产精品| 精品久久91| 日本 国产 欧美色综合| 国产在线观看www| 日韩视频1区| 国产精品亚洲一区二区三区在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 国内精品伊人| 色婷婷成人网| 日韩午夜高潮| 极品av在线| 欧美午夜网站| 欧美99久久| 欧美成人一二区| 日韩在线一二三区| 日韩电影二区| 久久国产精品免费精品3p|