Spring容器核心技术IOC学习
- 什么是bean?
- 如何配置bean?
- @Component方式
- @bean配合配置类的方式
- @import导入方式
什么是bean?
被Spring管理的对象就是bean,和普通对象的区别就是里面bean对象里面的属性也被注入了。
如何配置bean?
@Component方式、@bean配合配置类的方式、@import导入方式、类实现importSelect的方式
@Component方式
在需要被注册成bean的类上加上这个注解就可以了,只要spring能够扫描到,配置了@Component的类会被注册成bean
@Component的扩展注解还有@Service、@Repository
@bean配合配置类的方式
@bean写在方法上面并且结合配置类
@Configuration
@ComponentScan
public class SpringConfig {@Beanpublic User user(){return new User();}
}
特别注意@bean底层会走cglib动态代理进行增强,代理逻辑就是先从spring容器中去找,如果没找到才会创建bean,找到了直接返回,目的是防止多例bean
- 测试类
@org.junit.Testpublic void test(){//要依赖spring注入,就需要从spring容器中获取UserServiceAnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);User user = (User) context.getBean("user");System.out.println(user);}
@import导入方式
@import注解导入的类会被spring注册成一个bean,一般这个注解放在配置类上