Spring帮助我们管理Bean分为两个部分:
一:注册Bean:即把已经在xml文件中配置好的Bean拿来用,完成属性、方法的组装;比如@Autowired , @Resource,可以通过byTYPE(@Autowired)、byNAME(@Resource)的方式获取Bean;
二:装配Bean:@Component , @Repository , @ Controller , @Service , @Configration这些注解都是把你要实例化的对象转化成一个Bean,放在IOC容器中,等你要用的时候,它会和上面的@Autowired , @Resource配合到一起,把对象、属性、方法完美组装。
完成这两个动作有三种方式:
一:使用自动配置的方式,使用@Component去告诉Spring,我是一个bean,你要来管理我,然后使用@AutoWired注解注入Bean。
二:使用JavaConfig的方式,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。@Configuration其实就是告诉spring,spring容器要怎么配置(怎么去注册bean,怎么去处理bean之间的关系(装配))。那么久很好理解了,@Bean的意思就是,我要获取这个bean的时候,你spring要按照这种方式去帮我获取到这个bean。
三:使用XML配置的方式。<bean>标签就是告诉spring怎么获取这个bean,各种<ref>就是手动的配置bean之间的关系。