最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于注解的組件掃描詳解

 更新時(shí)間:2017年12月23日 11:09:25   作者:人圭先生  
這篇文章主要介紹了基于注解的組件掃描詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。

在使用組件掃描時(shí),需要現(xiàn)在XML配置中指定掃描的路徑

<context:component-scan back-package="yangjq.test">

容器實(shí)例化會(huì)掃描yangjq.test包及其子包下的所有組件類。

只有當(dāng)組件類定義前面有下面的注解標(biāo)記時(shí),這些組件類才會(huì)被掃描到Spring容器
- @Component 通用注解
- @Name 通用注解
- @Repository 持久化層組件注解
- @Service 業(yè)務(wù)層組件注解
- @Controller 控制層組件注解

命名

組件在掃描過(guò)程會(huì)生成一個(gè)默認(rèn)的id值(小寫開(kāi)頭的類名),這個(gè)也可以在注解標(biāo)記中自定義id值,比如:

//這個(gè)是默認(rèn)的id,值為OracleUserDao
@Repository
public class OracleUserDao implements UserDao{
}
//這個(gè)是自定義的id,值為loginService
@Service("loginService")
public class UserService{
}

組件的作用域

Spring管理的組件通常默認(rèn)的作用域是”singleton”,如果需要其他的作用域,則可以用@Scope注解,只需要在注解中提供作用域的名稱就可以。

@Scope("prototype")
@Repository
public class OracleUserDao implements UserDao{
}

初始化和銷毀

@PostConstruct和@PreDestroy注解標(biāo)記用于指定初始化和銷毀的回調(diào)方法,比如:

public class ExampleBean{
	@PostConstruct
	  public void init(){
		//.......初始化
	}
	@PreDestroy
	  public void destroy(){
		//........銷毀
	}
}

對(duì)于具有依賴注入關(guān)系Bean的注解

它可以使用下面幾個(gè)任意一個(gè)實(shí)現(xiàn)關(guān)系注入

- @Resource
- @AutoWired/@Qualifier
- @Inject/@Named

通常用的@Resource比較多,就說(shuō)個(gè)@Resource吧,其他的用的時(shí)候再搜索看下
@Resource注解標(biāo)記可以用在字段定義或setter方法定義前面,默認(rèn)首先按名稱匹配注入,然后類型匹配注入

public class UserSerivce{
	//@Resource  這個(gè)用在字段定義
	private UserDao userDao;
	@Resource  //這個(gè)用在setter方法前面
	public void setUserDao(UserDao dao){
		this.UserDao=dao;
	}
}

遇到多個(gè)匹配Bean時(shí)注入會(huì)發(fā)生錯(cuò)誤,可以顯式指定名稱,比如@Resource(name=”exampleDao”).

總結(jié)

以上就是本文關(guān)于基于注解的組件掃描詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • Spring多種加載Bean方式解析

    Spring多種加載Bean方式解析

    本篇文章主要介紹了Spring多種加載Bean方式解析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Java中不可或缺的關(guān)鍵字volatile詳析

    Java中不可或缺的關(guān)鍵字volatile詳析

    volatile是Java提供的一種輕量級(jí)的同步機(jī)制,下面這篇文章主要給大家介紹了關(guān)于Java中不可或缺的關(guān)鍵字volatile的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 關(guān)于spring5的那些事:@Indexed 解密

    關(guān)于spring5的那些事:@Indexed 解密

    這篇文章主要介紹了關(guān)于spring5的那些事:@Indexed 解密,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • springboot 中整合mybatis多數(shù)據(jù)源不使用JPA

    springboot 中整合mybatis多數(shù)據(jù)源不使用JPA

    這篇文章主要介紹了springboot 中整合mybatis多數(shù)據(jù)源不使用JPA,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 詳解mybatis #{}和${}的區(qū)別、傳參、基本語(yǔ)法

    詳解mybatis #{}和${}的區(qū)別、傳參、基本語(yǔ)法

    這篇文章主要介紹了mybatis #{}和${}的區(qū)別、傳參、基本語(yǔ)法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 為什么Java項(xiàng)目中別用!=null做判空

    為什么Java項(xiàng)目中別用!=null做判空

    本文主要介紹了為什么Java項(xiàng)目中別用!=null做判空,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 關(guān)于Java中try finally return語(yǔ)句的執(zhí)行順序淺析

    關(guān)于Java中try finally return語(yǔ)句的執(zhí)行順序淺析

    這篇文章主要介紹了關(guān)于Java中try finally return語(yǔ)句的執(zhí)行順序淺析,需要的朋友可以參考下
    2017-08-08
  • Java接口和抽象類用法實(shí)例總結(jié)

    Java接口和抽象類用法實(shí)例總結(jié)

    這篇文章主要介紹了Java接口和抽象類用法,結(jié)合實(shí)例形式總結(jié)分析了Java接口與抽象類的具體定義、使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2015-12-12
  • MyBatis入門初體驗(yàn)之使用大全(2)

    MyBatis入門初體驗(yàn)之使用大全(2)

    這篇文章主要介紹了MyBatis入門初體驗(yàn)之使用大全(2)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • 淺談 JDBC 元數(shù)據(jù)

    淺談 JDBC 元數(shù)據(jù)

    這篇文章主要介紹了JDBC元數(shù)據(jù)的相關(guān)內(nèi)容,涉及一些獲取數(shù)據(jù)源各種信息的方法,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-09-09

最新評(píng)論

安阳市| 库车县| 惠水县| 广宁县| 东台市| 江北区| 临朐县| 商南县| 搜索| 铜鼓县| 宁阳县| 钟祥市| 永平县| 宁南县| 册亨县| 商洛市| 囊谦县| 浙江省| 吴川市| 菏泽市| 平远县| 项城市| 浦北县| 沂南县| 扬中市| 迭部县| 大化| 民和| 泸西县| 罗山县| 依兰县| 屏东县| 达尔| 武隆县| 灵宝市| 大城县| 巴中市| 无为县| 岚皋县| 上栗县| 柞水县|