spring学习-IOC(七)-XML转Annotation

  • 参照之前xml方式的注解,可以大致如下:
    • 用于创建对象bean的
    • 用于注入数据的
    • 用于改变作用域的
    • 声明周期相关的

  • 用于创建对象bean的:
    • @Component:创建当前对象的bean,未指定bean id时,默认为类名首字母小写
      • @Component(“accountService”)
    • @Controller:表现层
    • @Service:业务逻辑层
    • @Repository:持久层
      注意:Controller、Service、Repository三者作用一样,只是为了更好的描述三层关系
    • @Component-scan:指定扫描路径,相当于xml中:<context:component-scan base-package=“anotation1”/>

  • 用于注入数据的:

    • @Autowired:
      • 按照类型注入
      • 作用于变量(可以是接口类,有对应的实现bean即可)、方法上
      • 注入策略:
        • 首先:根据类型判断(接口满足也可),
          • 无匹配:失败退出
          • 有唯一bean:注入成功
          • 有多个bean:继续匹配
        • 其次:多个bean时,再按照变量名是否等于bean id,匹配则成功,否则异常退出
    • @Qualifier:
      • value:限定注入名称:@Qualifier(“accountDao”)
    • @Resource:
      • Value:直接指定bean id注入
    • @Value:
      • 注入基本类型、String
      • 语法:直接写入值,也可以是spel语法:${表达式}
  • 注意事项:

    • 变量注入时:@Qualifier不能单独使用,需要配合@Autowired
    • 方法注入时:@Qualifier可以单独使用
    • @Autowire、@Qualifier、@Reousrce:只能注入bean,不能注入变量
    • 集合类型的:只能通过xml方式注入

  • 用于改变作用域的
    • @Scope:
      • Value:5个阈值,常用的就是singleton、prototype

  • 声明周期相关的
    • @PreDestroy:指定销毁方法
    • @PostConstruct:指定初始化方法
      这2个方法,就是xml中的init-method、destory-method
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值