spring中的注解开发
Posted 拿红罗卜钓鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring中的注解开发相关的知识,希望对你有一定的参考价值。
1.
使用
ioc
相关注解
使用步骤:
1
、导入相关
jar (core beans context expression jcl
以及
aop )
2
、创建
spring
的配置文件 需要的命名空间及约束
( beans context )
3
、开启注解扫描,告诉程序注解的对象放在了程序的哪个包下面
4
、创建类,使用注解进行对象创建,
@Component @Controller @Service
@Repository
此类注解用于
ioc
中的对象声明 属性:
value
用来设置对象在容器中的名称 ,如果没有设置
value
,则默认将类名首字
母小写作为对象名称
5
、使用依赖注入,将容器中的对象赋值类响应的属性;
@Autowired @Qualifier
@Resource
此类注解用于
DI
依赖注入,将对象赋值给类中的属性
@Autowired
:和属性的类型有关,与属性名称无关;
1.
先找当前容器中是否有此类型的对象,如果有且仅有一个直接注入;
2.
如果找多个此类型的对象,则按照属性名称去找对象,如果有一样名称的直
接注入;
3.
如果没有一样名称的,则使用
@Qualifier("bean
名称
")
指定具体
bean
对象;
@Resource
:先根据属性名称去容器中寻找对象
1.
先去容器中寻找和属性名称相同的对象,如果有则直接进行注入;
2.
再根据类型进行匹配对象;
3.
如果此时还是确定不了具体对象,需要使用
name
属性指定
bean
对象的名称
@Resource(name="userDao1")
6
、创建测试类,先加载容器,获取容器中的对象,使用对象;
2.
使用
aop
相关注解
使用步骤
(
注解方式
)
:
1
、导入相关
jar ( core beans context expression jcl
以及
aop )
还需要
( aspects
以及第三方
jar aspectjweaver.jar)
2
、创建
spring
的配置文件 需要的命名空间及约束
( beans context aop )
3
、开启
IOC
注解扫描,告诉程序注解的对象放在了程序的哪个包下面,并且再开启
AOP
的注解
支持
4
、创建切面类,即代理类,需要在类上方使用
@Aspect
注解,表示当前类为切面类,同时加
@Component
注解将切面类交由
spring
容器进行管理吗,在类中的不同方法上使用
@Before
@AfterRetruning @After @AfterThrowing @Around
可以使用无参无返回无方法体的方法定义为 切入点表达式 基本写法:
基本语法:
execution(
权限修饰符 返回值类型 包名
.
包名
.
包名
.
类名
.
方法名
(
参数
类型,参数类型
))
通配符写法:
execution( * *..*.*(.. ) )
5
、还是执行原来的方法,就可以自动进行
aop
的切面编程处理;
以上是关于spring中的注解开发的主要内容,如果未能解决你的问题,请参考以下文章
太爽了,纯注解开发模式简直就是Spring中的Spring!