Spring容器装配Bean的三种方式
隐式的Bean发现机制和自动装配
Spring从两个角度来实现自动化装配;组件扫描(Spring自动发现应用中上下文所需要的创建的Bean),自动装配(Spring自动满足Bean之间的依赖)
使用@Component将普通Java类配置成SpringBean
使用@Autowired(自动装配)使Spring满足Bean的依赖
@Component
public class User {
    @Autowired
    private Article article;
    public void action() {
        article.action();
    }
}
基于Java的Bean装配
使用 @Bean 注解将方法返回的实例对象添加到上下文中
在@Bean返回的实例对象中可以通过构造器注入传入相关依赖
@Configuration
@ComponentScan("com.jimisun")
public class WebConfig {
    @Bean
    public User user() {
        return new User(myArticle());
    }
    @Bean
    public MyArticle myArticle() {
        return new MyArticle();
    }
}
基于XML的Bean装配
对于在XML中进行配置可能使我们经常使用的,在以前的Spring版本中几乎我们都是使用XML进行配置Spring,下面我们简单来看一下。
<?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-4.0.xsd">
    <bean class="com.jimisun.spring.example.User" id="user">
        <constructor-arg ref="myArticle"/>
    </bean>
    <bean class="com.jimisun.spring.example.MyArticle" id="myArticle"></bean>
</beans>
注意:在实际应用中如何不想被海量的<bean>标签埋没前,你应当优先使用隐式的Bean发现机制和自动装配和在Java中进行装配,最后再选择使用在XML中配置。
最后值得一提的是在实际项目中我们通常都会选择组合使用
隐式的Bean发现机制和Java中进行装配进行组合
隐式的Bean发现机制和XML配置进行组合
作者:墨色尘埃
链接:https://www.jianshu.com/p/9b12819b89eb
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号