Bean与Spring容器
什么是Bean?
Spring Bean是被实例的、组装的及被Spring容器管理的java对象。
1. java面向对象,对象有属性和方法,那么就需要对象实例来调用方法和属性(实例化);
2. 凡是有方法或属性的类都需要实例化,这样才能具象化去使用这些方法和属性;
3. 凡是子类及带有方法或属性的类都要加上注册Bean到Spring IoC的注解;
(@Component , @Repository , @ Controller , @Service , @Configration)
4. 把Bean理解为类的代理或代言人(实际上通过反射、代理实现),这样它就能代表类该有的东西
5. 在Spring中标记一个@符号,那么Spring就会来看看,并且从这里拿到一个Bean(注册)或者给出一个Bean(使用)。
注解有两类:
1. 一类是使用Bean,即把已经在xml文件中配好的Bean拿来用,完成属性、方法的组装;比如@Autowired,@Resource可以通过byTYPE(@Autowired),byNAME(@Resource)的方式获取Bean;
2. 一类是注册Bean,@Repository , @ Controller , @Service , @Configration这些注解都是要把实例化的对象转化成一个Bean,放在IoC容器中,等需要用的时候,它会和@Autowired,@Resource配合,把对象、属性、方法完美组装。
什么是Spring 容器?
Spring容器是Spring的核心,一切Spring Bean都存储在Spring容器内,并由其通过IoC技术管理。Spring容易也就是一个bean工厂(BeanFactory),应用中Bean的实例化、获取、销毁都由这个bean工厂管理。
具象化:在java项目中,我们使用实现了org.springframework.context.ApplicationContext接口的实现类。在web项目中,我们使用spring.xml(Spring的配置文件)。
代码:一个Spring容器就是某个实现了ApplicationContext接口的类的实例。也就是说,从代码层面,Spring容器其实就是一个ApplicationContext(一个实例化对象)。
Spring容器的功能