个人理解大概的分成三种:
1、配置XML文件方式;
2、注解方式;
3、直接向容器进行注册;
1、XML配置方式
这个在Spring早期的时候,基本上都是采用这种配置XML文件的方式来声明Bean对象。
XML配置Bean对象
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="registerByBeanXML" class="org.springframework.test.RegisterByBeanXML"/>
</beans>
2、 注解注入
2.1、@Bean注解方式
@Bean的注解不能直接放在Class对象上面,使用在方法或者Annotation对象。常用的是和@Configuration注解使用。
2.2、@Comment注解方式
@Comment注解方式也包含了@Service@Repository@Controller。
理解只是做了个分类,区分Service、Controller这些。
3、直接注入:通过beanDefination编程式定义
或者直接registerBean(Class),很多把这中划分为supplier方式,但是看源码会发现,还是会先生成有个beanDefination。所以这里我把他归一类。