Spring的核心原理是IOC和DI;
bean:作用 替换new操作,实例化指定的bean
id:唯一标识
class:权限定路径名
scope:作用域 singleton prototype
init-method:指定初始化方法
destroy-method:指定销毁方法
factory-bean:制定工厂实例
factory-method:制定工厂方法
DI:配置
set注入
<property name=属性名 value=基本数据类型的值/ref=引用数据类型/>
构造方法注入:
<constructor-age name=参数名/index=参数索引/type=参数类型 value=基本数据类型的值/ref=引用数据类型/>
启动注解扫描,加载类中配置的注解项
<context:component-scan base-package="packageName"/>
在进行包扫描时,会对配置的包及其子包中所有文件进行扫描,扫描结束后,将有效注解转化为spring对应的资源加入IOC容器
@Component @Controller @Service @Repository
写在类的上方,设置该类作为spring管理的bean
@Scope
写在类的上方,设置该类作为bean对应的scope属性,里面可以填写属性,默认singleton
@PostConstruct @PreDestroy
写在方法上,可以在初始化进行的方法,和销毁之前处理的方法
@Autowired @Qualifier @Primary
写在属性定义上,方法定义上方,设置对应属性的对象或方法进行引用类型传参、@Autowried 按照类型装配 有多个对象,会调用有@Primary的对象 , @Qualifier可以指定自动装配的bean的id
@Configuration @ComponentScan
写在类的上方,设置当前类为spring核心配置加载类
@Import
写在类上,导入第三方bean作为spring控制的资源
@DependsOn
写在类或方法上,控制bean的加载顺序,使其在指定bean加载完毕后再加载
@Order
写在类上,控制类的加载顺序
@Lazy
写在类或方法上,控制bean的加载实际,使其延迟加载