本文只是学习过程的记录笔记
Spring容器负责创建程序中的bean,并且通过DI的方式协调各个对象之间的关系。spring提供了三种装配机制
①:在XML文件中进行配置
②:Java中配置
③:隐藏式的自动装配与bean的发现机制
spring的配置方式是可以互相搭配的,你可以选择XML方式也可以使用Java的配置的方式,也或者两者都用。
1:自动化装配bean
首先spring从两个方面实现自动化装配
①:组件扫描的方式
②: 自动装配
组件扫描
package A
@Configuration
@ComponentScan
public class DuanXinConfig{
}
package A
@componemt
public class shouji implements Send{
public void sendSms (){
system.out.println(我要发短信")
}
}
public interface Send{
void sendSms ();
}
DuanXinConfig并没有显示的声明任何bean,只是使用了@ComponentScan这个注解,这个注解可以启动组件扫描。
@ComponentScan 会默认扫描与配置类相同的包,包括包下的所有子包带有@componemt注解的类。由此就会在spring中自动为Send创建一个bean。
自动装配
自动装配就是让spring自动满足bean依赖,在满足的同时会在spring上下文寻找匹配某个bean的另外的bean。为了声明进行自动装配,用@Autowired这个注解。
2:通过Java代码装配bean
在很多场景下组件扫描和自动化装配实现spring自动化配置,但是把第三方库中的组件装配到自己的项目 中没有办法在他的类上使用@Component与@Autowired。所以这种情况下就要使用显示装配,Java或者XML。
创建一个Javaconfig要为其添加一个@Configuration注解,这个注解表明了Javaconfig这个类是一个配置类。