时间:2022-11-27 10:22:19 | 栏目:JAVA代码 | 点击:次
单例模式(懒汉式,饿汉式)都只能创建一个指定类的唯一对象
工厂模式(一个接口,多态性的体现)可以创建该接口的工厂下的所有类的唯一对象
IOC容器可以有多个,new几个就有几个IOC容器,一个容器绑定一个xml文件,一个xml中可以配置多个bean,容器可以关闭
第三个是基于注解的获取容器方式,利用反射而非解析xml配置
SpringBoot中获取ApplicationContext的三种方式
1.@Autowired: 在任意被spring托管的类中注入
2.ApplicationContextAware接口:实现这个接口可以在普通类中获取Spring的IOC容器
在bean.xml中配置了bean的属性后,先解析xml得到IOC接口对象(IOC容器),然后通过容器来getBean,获得对象
同时,ApplicationContext也可以换成其父接口BeanFactory,结果不受影响
DI:依赖注入(注入属性)
两种方法
set方法+property
有参构造+constructor
以下5个注解都可以创建Bean对象交给Spring的IOC容器进行管理
因为元注解Component可以指定value=“别名”,所以以上5种注册Bean的方式都可以起别名,一个接口多个实现类Bean的情况需要起别名,否则Spring无法判断获取哪个Bean
scope属性值:(常用singleton和prototype)
在bean.xml中或者@Bean(scope="")中配置
1.无参构造
2.调用set方法解析配置
3.调用bean的初始化方法
如果有配置了初始化方法,需要配置init-method=“初始化方法的名称”
例如:在@Bean(initmethod=“xxx方法”)
4.获取bean并使用
注解方法可以直接@Autowired注入bean,配置xml的方式通过
new ClassPathXmlApplicationContext(xxxx.xml)解析并获取IOC容器之后getBean
5.bean的销毁与销毁时方法
springboot中的bean创建与销毁
销毁方法的配置@Bean(destroyMethod = “xxxxx”)
如果是配置在xml中,则
<bean id=" " class=" " destroy-method=" "></bean>
xml配置的Bean的关闭:关闭IOC容器即可
spring中xml配置
spring和springboot中的注解配置
@ComponentScan