Spring Core 知识点总结
1、容器:创建并管理bean的容器
①创建:使用反射技术,创建bean的实例
②设计:使用工厂模式(BeanFactory)
③管理:容器中的每个bean,Spring默认采用单例方式管理,可以通过设置<bean scope="prototype"/>更改每次获取时创建不同的实例
④ApplicationContext(接口):
ClassPathXmlApplicationContext:在classpath路径下加载xml配置文件,完成Spring容器的加载;也可以采用注解的方式,需要在xml配置文件中使用<context:component-scan base-package=""/>完成类扫描
AnnotationConfigApplicationContext:基于注解配置的Spring容器加载方式
2、注解
①声明bean
@Component:组件
@Controller:控制器组件
@Service:业务层组件
@Repository:数据访问层组件
②声明注入
Spring Framework
@Autowired:自动装配(默认按照类型自动装配),按照当前声明的接口类型,在容器中查找该接口的实现类对象bean,进行自动注入
@Qualifier:按照bean名称名称自动装配,与@Autowired注解配合使用。按照当前当前指定的bean名称,在容器中查找该名称对应的bean,进行自动注入
Java标准注解
@Resource:javax扩展包提供的注解,完成自动注入,默认按照类型自动注入,也可以使用name属性按照名称自动注入
3、IOC和DI
IOC:Inverse Of Control(控制反转)
DI:Dependency Injection(依赖注入)
思想:将项目中的类(组件)交给Spring容器管理,按照组件之间的依赖关系(采用xml配置文件或注解),完成组件之间的注入,降低组件之间的耦合
三种注入方式:
(1)属性setter注入(必须存在无参构造方法)
(2)构造注入(使用有参构造方法进行注入)
(3)接口注入