0
点赞
收藏
分享

微信扫一扫

使用注解实现spring核心

使用注解实现spring IOC

注解方式

  • 步骤
  1. 使用注解定义Bean
  • 通过注解实现不同层级Bean
  • @Controller :用于标注控制器类
  • @Service :用于标注业务类
  • @Repository :用于标注DAO类
  • @Component :定义非以上所属层级的类
  1. 使用注解实现Bean的注入
  • @Autowired //相当于xml文件配置中的:<property name="userDao" ref="userDao"/>

按类型匹配的方式为属性自动装配合适的依赖对象,
即容器会查找和属性类型相匹配的Bean组件,并自动为属性注入
可以使用@Qualifier("")指定Bean名称注入

  1. 需要对包含注解类的包进行扫描,代码如下,如果有多个包用逗号隔开

<context:component-scan base-package="com.lx.service,com.lx.dao"/>

Java标准注解

  • 区别在于实现Bean注入的时候是通过Java本身自带的注解@Resource注解实现,
  • 他是基于属性名进行匹配,如果没有找到相对应得属性名,则按照类型进行匹配

总结

使用注解主要是代替xml文件的注入,控制反转这一过程

使用注解实现spring AOP

  • @Aspect:定义切面 ;非spring框架不能对类定义Bean,需手动定义
  • 手动定义Bean2种方式
  1. xml文件中定义bean标签
  2. 添加@Component注解(spring会自动配置Bean);需对注解进行扫描
  • 定义切点

@Pointcut("execution(* com.lx.service.impl.*.*(..))")
public void pointCut() {
}

  • 或在通知注解中value属性手动添加
  • 实现增强
  • 增强的注解形式

抛出异常增强

<aop:before/>

@AfterThrowing

前置增强

<aop:before/>

@Before

后置增强

<aop:after-returning/>

@AfterReturning

环绕增强

<aop:around/>

@Around

最终增强

<aop:after/>

@After

  • 最后只需要在配置文件中配置

<aop:aspectj-autoproxy/>

  • 因为@Aspect并不是spring包的,需要手动指定
举报

相关推荐

0 条评论