Spring注解@驱动开发
Posted Panda_cv
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring注解@驱动开发相关的知识,希望对你有一定的参考价值。
Spring注解驱动开发之IOC
1. @bean
- 由原来.xml中
ApplicationContext 容器:
applicationContext.getbean(“person”) - package com.atguigu.config; 现在由配置类换成配置文件了
@configuration //告诉Spring这是一个配置类
public class xxx{
@bean
public Person person(){ return new Person (“sun”);} - 在mian函数 可直接获取容器中的Person
2. @ComponentScan
@ComponentScan(value = “包名 com.atguigu”)
包含@Service @Controller BookDao.java中@Repository
3. @Conditional
按照一定的条件进行判断,满足条件时创建bean 加入容器。
4. @Import
@Import(Color.class) id是组件的全类名
- @Import(要导入到容器中的组件);容器中就会自动注册这个组件,id默认是全类名
- @ImportSelector
5. @FactoryBean
普通的bean: 容器会创建对象,调用无参、有参构造器
工厂bean: &
6. bean的生命周期
- bean的创建-----初始化-----销毁的过程
- 容器管理bean的生命周期。
- 构造(对象创建)
单实例:在容器启动的时候创建对象
多实例:在每次获取的时候创建对象 - 初始化:对象创建完成,并赋值好,调用初始化方法
销毁:容器关闭的时候 - @scope(“prototype”)(参考JavaWeb-pp.420)
bean 初始化:在每次获取的时候创建对象
bean 销毁:什么时候销毁,手动调用销毁方式。容器不会管理这个bean; 容器不会调用销毁方法;
7. @Value
- 基本数值
- @Value ("#{18}")
- @PropertySource读取外部配置文件中的k/v保存到运行的环境变量中。加载完外部的配置文件以后使用${ }取出配置文件的值。
8. @Autowired
- 自动装配:
Spring利用依赖注入,完成对IOC容器中中各个组件的依赖关系赋值 - @Autowired:自动注入
①默认优先按照类去容器中找对应得组件
②如果找到多个相同的类型组件,在将属性得名称作为组件的id去容器中查找。 - @Qualifier
使用@Qualfier指定需要装配的组件id,而不是使用属性名。 - @Autowired(required = fasle)
- @Primary
@Bean(" ")
让Spring进行自动装配的时候,默认使用首选的bean;
9. @Resource
类似@Autowired自动装配功能;默认是按照组件的名称进行装配的;
没有能支持@Primary功能 没有支持@Autowired(Required = false);
10. @Autowired:构造器 参数 方法 属性
第一次见的是在属性前面加Autowired()
四者都是从容器中获取参数组件的值
11. 总结
- 组件添加(重点掌握 conditional 和import )
- 组件赋值
- 组件注入
参考资料:
https://www.bilibili.com/video/BV1gW411W7wy?p=26
以上是关于Spring注解@驱动开发的主要内容,如果未能解决你的问题,请参考以下文章