spring依赖注入----注解章

spring在IOC中常用的注解

用于创建对象
  和在xml文件中的<bean></bean>标签实现的功能是一样的

  @Component: 用于把当前对象存入spring容器当中
  @Controller 一般在控制层
  @Service 一般在业务层
  @Repository 一般在持久层

  以上三个注解和Component作用都一样
  他们三个是spring提供的明确的三层注解
  属性: value 用于指定id的值 当不写时默认值为当前类名 且首字母小写
  用于注入数据
  和xml文件中<bean></bean>标签中的<property></property>标签的作用是一样的
  @Autowired:自动按照类型注入
           我的理解:springIOC容器的结构是Map { key(String): value(Object)},
           被注解的变量类型在IOC容器中匹配对象时会直接略过key,直接找bean对象,如果找到了就匹配成功。
           如果找不到的话,就会报错(空指针异常)。
           如果IOC容器中有多个类型匹配时:首先会匹配所有找到的对象,然后根据注入的变量名称与找到的匹配对象的key(也就是id)相匹配
           作用:只要容器中有唯一的bean对象类型和要注入的变量类型匹配 就可以注入成功,
           如果IOC容器中没有任何的bean类型和要注入的变量类型匹配就会报错
           如果IOC容器中有多个类型匹配时:
           出现位置:可以是变量,也可以是方法
           细节:在使用注解注入时,set方法就不是必须的了
  @Qualifier
           作用:按照类中注入的基础上按照名称注入。他在给类的成员注入时不可以单独使用,但是方法可以单独使用
           属性:value(用于指定bean的id)
  @Resource
           作用:直接按照bean的id注入,可以使用
           属性:name(用于指定bean的id)
  以上三个注入都只能注入其他bean类型,不能注入基础数据类型和String类,另外集合类型的注入只能通过xml来实现
  @Value
        作用:注入基本数据类型和String类
        属性: 指定数据的值,它可以使用spring的spEl (el表达式)
        spEl的写法也是${表达式}
  改变作用范围的 scope
  和在xml文件中的<bean></bean>标签中使用scope属性实现的功能是一样的
  @Scope
        作用:用于指定bean的作用范围
        属性:value(指定范围取值) 常用的取值single prototype
  和生命周期相关
  和在xml文件中的<bean></bean>标签中使用init-method 和 destory-methid的作用是一样的
  @PreDestroy
        作用:用于指定销毁方法
  @PostConstruct
        作用:用于指定初始化方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值