国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

基于注解的組件掃描詳解

2024-07-13 10:15:22
字體:
來源:轉載
供稿:網友

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

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

容器實例化會掃描yangjq.test包及其子包下的所有組件類。

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

命名

組件在掃描過程會生成一個默認的id值(小寫開頭的類名),這個也可以在注解標記中自定義id值,比如:

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

組件的作用域

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

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

初始化和銷毀

@PostConstruct和@PreDestroy注解標記用于指定初始化和銷毀的回調方法,比如:

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

對于具有依賴注入關系Bean的注解

它可以使用下面幾個任意一個實現(xiàn)關系注入

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

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

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

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

總結

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


注:相關教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 麻城市| 布拖县| 永泰县| 安康市| 富顺县| 新余市| 建阳市| 河南省| 高平市| 乌兰县| 西贡区| 巴楚县| 永仁县| 关岭| 东辽县| 平乡县| 申扎县| 白城市| 武穴市| 安龙县| 榆社县| 黔江区| 伊宁县| 安图县| 古浪县| 武乡县| 石景山区| 集安市| 八宿县| 茌平县| 西峡县| 青神县| 建始县| 泰安市| 谷城县| 运城市| 运城市| 玉树县| 游戏| 曲周县| 瑞昌市|