SpringIOC
1.什么是SpringIOC
控制反转,在过去,我们创建一个对象都需要使用关键字new,但是使用了SpringIOC后(只是一个思想,并不是一个新的东西),创建对象交给了Spring容器,不需要我们手动进行创建了。
2.入门案列
1.在SpringConfig文件中创建一个实例对象
<bean id = "team1" class="com.lijie.Team">
一个bean标签声明一个对象:
id=“自定义对象的名称,要求唯一”
class=“类的完全限定名”《spring底层是反射机制创建对象的,因此必须使用类名,而不是接口》
2.获取spring容器和容器中的对象
BeanFactory 和 ApplicaiotnContext
1.获取容器 (BeanFactory是ApplicaiotnContext的父类)
BeanFactory beanFactory = new XmlBeanFactory(new FileSystemResource("xml相对于项目的路径"))
ApplicationContext applicationContext = new FileSystemXmlApplicationContext("xml相当于电脑的路径")
重要+常用
ApplicaiotnContext applicationContext = new ClassPathXmlApplicationContext("xml名字")
2.获取容器中的对象
applicationContext.getBean("xml中对象的id")
附带两个API
获取容器中对象的数量
applicationContext.getBeanDefinitionCount
获取容器中全部对象的名字
applicationContext.getBeanDefinitionName
对bean标签进行补充
scope=“singleton/prorotype”
singleton:容器创建的时候对象就被创建了
prototype:对象什么时候被调用什么时候创建
lazy-init=“true/false”
true:真懒,对象什么时候被调用什么时候创建
false:假懒,默认值,自动去创建对象
在Team中创建init()和destroy()方法
init-method:表示创建对象调用的方法
destroy-method:容器关闭时候调用的方法
<bean id="team1" class="com.lijie.Team" scope="singleton" lazy-init="false" init-method="init" destroy-method="destroy">
<bean id="team2" class="com.lijie.Team" scope="prototype">