spring注解
一.注入的注解 设置值
@Autowired:去容器中根据对应类型 查找对应bean,并设置到当前属性中如果容器有多个类型的bean则报错,如果类型与属性名一致也不会报错
@Qualifier:@Qualifier 与@Autowired 配合,当根据类型找到多个时使用 @Qualifier 按照id 或者name 查找为一个bean
@Resource:首先按照 id 为属性名studentDakllo去容器中找到对应的bean如果找不到在按照类型去查找 如果找到多个报错
二.半自动注解装配
只能进行注入,使注入的注解生效,bean的生成还需要在xml进行配置
<context:annotation-config></context:annotation-config>
1.首先在容器中声明bean
2.使用对应注入的注解 注入bean
3.是注入的注解生效
三.生成bean的注解
@Component是下面三个注解的父类
@Repository 指明当前实例 是dao 层的实例
@Service 指明当前实例是service 层的实例
@Controller 指明当前实例是控制 层的实例 但是springmvc 中控制层只能用 @Controller
这四个注解都是都一个作用生成bean
四.自动注解
在xml进行配置
<!-- 开启注解扫描器-->
<context:component-scan base-package="com.w"></context:component-scan>
自动注解就是 通过注解自动的生成bean 并经行装配
实现:在xml 声明 context:component-scan 使对应包下的 注入的注解(@Autowired @Qualifie @Resource )生成bean的注解(@Component@Repository @Service @Controller)生效
1.开启自动注解
2.标记需要 生成 bean 和主要注入的属性
五.基于注解的AspectJ
AspectJ框架为AOP的实现提供了一套注解,用以取代Spring配置文件中为实现AOP功能所配置的臃肿代码。
@Aspect:声明切面
@Pointcut:用于定义切入点表达式
@Before:用于前置通知
@AfterReturning:用于后置通知
@Around:用于定义环绕通知
@AfterThrowing:用于定义异常通知来处理程序中未处理的异常
@After:用于定义最终通知
在xml文件中开启AOP配置
<!-- 开启注解扫描器-->
<context:component-scan base-package="com.w"></context:component-scan>
<!-- 开启aop asjpectj 功能-->
<aop:aspectj-autoproxy/>
</beans>