一、Spring入口
启动Spring容器的两种方式:
1.非web项目:使用容器类加载
2.web项目:在web.xml中启动或使用注解启动
二、Spring Bean的注册
非web项目:容器类加载xml配置文件或配置类,启动容器时将bean注册到容器中
web项目:
1.Bean写在xml配置文件中,启动web.xml时扫描注册(不常用)
2.自动扫描:在xml文件中启动自动扫描,用来扫描包中声明为@Component的类或配置类,配置类可通过@ComponentScan注解进一步扫描。
三、依赖注入
1.xml方式注入:Setter、Getter、构造器注入(局限性较大、不常用)
2.Java配置类注入(常用):
1.通过同一配置类中的@Bean,使用方法名+()注入(spring会自动拦截声明为@Bean的方法,并将其视为bean)
2.在方法头写入参数,通过byType注入(经测试,任何方式注入到容器中的bean均可以被注入)
3.自动扫描注入:@Autowired、@Qualifer、@Resource
Spring会尽量满足所有方法对属性的注入:
例如:被声明为@Component类的构造方法中,使用@Autowired填充,即可完成依赖注入。同样,使用其余自定义方法时,spring会尽量满足bean对象的填充:
如下图的方法,apple属性仍会被填充到bean中
@Autowired
public void fly(Apple apple){
this.apple=apple;
}