- Offer来了:Java面试核心知识点精讲(框架篇)
- 王磊
- 356字
- 2020-08-27 16:23:13
1.4 Spring的注解
Spring的注解将应用程序中Bean的定义和Bean之间复杂的依赖关系的配置从XML配置中解放出来,应用程序只需在需要某些服务或者功能时,使用注解依赖注入即可,具体Bean的定义和依赖关系由Spring的自动装配来完成。这使得Spring的使用更加方便。
1.4.1 Spring注解的使用
Spring注解的使用很简单,首先导入命名规范,然后指定IoC的扫描包,最后在Java类中直接使用注解依赖注入需要的资源即可。
1.导入命名空间及规范
在Spring的applicationContext.xml配置文件中导入命名空间及规范。代码如下。
![](https://epubservercos.yuewen.com/77CFA6/16992237505826906/epubprivate/OEBPS/Images/txt001_6.jpg?sign=1739682226-QJjH5jZH0QQnoEM8QE1Ur2WFJQDuSLWY-0-b1d2d95d179e5d111ee261461ddf02c3)
2.配置扫描包
在applicationContext.xml配置文件中配置需要扫描的包。如下代码开启了自动扫描com.alex.spring包下的所有类,也就是说,只有在com.alex.spring包中的注解才能够生效。
![](https://epubservercos.yuewen.com/77CFA6/16992237505826906/epubprivate/OEBPS/Images/txt001_7.jpg?sign=1739682226-5dX3VKk83dzdf0kXzCF088DaCOglhmum-0-39d16a11fdffee8b9aa8f294bc1d392b)
完整的Spring注解配置文件如下。
![](https://epubservercos.yuewen.com/77CFA6/16992237505826906/epubprivate/OEBPS/Images/txt001_8.jpg?sign=1739682226-BTciV75SzficAOgPaSY638jHNra24OsZ-0-920ad77ad6c03a1de62784671dd3917a)
![](https://epubservercos.yuewen.com/77CFA6/16992237505826906/epubprivate/OEBPS/Images/txt001_9.jpg?sign=1739682226-fAoOYIj6mPuuEdEwZI2G6iXPT3MoxQMM-0-5c5c3e6f4ec734da309ccad34441a2f4)
3.使用注解
使用注解比较简单,直接在Java类中用@按需使用即可。具体代码如下。
![](https://epubservercos.yuewen.com/77CFA6/16992237505826906/epubprivate/OEBPS/Images/txt001_10.jpg?sign=1739682226-y5mHCNvoTGtsLxGoewQe12yZUawLOBbE-0-71f0e71821a3bde3b33d534f81b67824)
1.4.2 Spring的常用注解
Spring的注解在开发中无处不在,常用注解如表1-3所示。
表1-3 Spring的常用注解
![](https://epubservercos.yuewen.com/77CFA6/16992237505826906/epubprivate/OEBPS/Images/txt001_11.jpg?sign=1739682226-J2F9e4vnr4AtXaqMqknnfdYtYubes7Ol-0-0d6cd69f7e02a06bdecd332b772e8979)
续表
![](https://epubservercos.yuewen.com/77CFA6/16992237505826906/epubprivate/OEBPS/Images/txt001_12.jpg?sign=1739682226-WALClbTwekxtI1G5nMJOUE7xRrcObniT-0-5e76120062bca454ead204da4b864353)
续表
![](https://epubservercos.yuewen.com/77CFA6/16992237505826906/epubprivate/OEBPS/Images/txt001_13.jpg?sign=1739682226-eUxh0R9fR1fHORzYRRacCn1jYfN89gBf-0-028ac13f5db77dd206787f6789dab731)