国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 玉田县| 突泉县| 于田县| 铜梁县| 临清市| 浮梁县| 时尚| 布拖县| 彭泽县| 德令哈市| 南木林县| 鸡泽县| 高清| 通化县| 太仓市| 景泰县| 天等县| 海南省| 嵊州市| 迁西县| 贵阳市| 弋阳县| 嘉义市| 上饶县| 灌阳县| 温泉县| 寿光市| 祁连县| 舞钢市| 富蕴县| 呼伦贝尔市| 麟游县| 淳化县| 从化市| 禹州市| 三河市| 江都市| 永吉县| 招远市| 大英县| 子长县|