spring 学习笔记1

spring学习笔记
1.spring概念:
   [1]控制反转(IoC):应用不负责创建及维护依赖对象,依赖对象是由容器创建及维护的,这种控制的转移就叫控制反转。
   [2]依赖注入:运行期间,容器将依赖对象注入到组件中。

2.spring容器实例化有2种方式
   [1]ApplicationContent act=new ClassPathXmlApplicationContent(new String[]{"xx.xml"});
   [2]ApplicationContent act=new FileSystemXmlApplicationContext(new String[]{"d:\\xx.xml"});
   第2种方法不好,测试的时候可以使用,但是如果操作系统不一样,若是linux系统,则就不可以了。

3.spring的bean实例化原理:
   spring根据bean.xml文件读到<bean...>,根据bean的class属性通过反射(Class.forName())得到Bean实例对象。

4.spring 的bean有3中实例化方法:
   [1]构造方法
<bean id="type" class="com.swspt.type.TypeBuss" />
   [2]静态工厂方法
<bean id="type2" class="com.swspt.type.TypeBussFactory" factory-method="createTypeBuss()" />
   [3]实例工厂方法
<bean id="typeBussFactory" class="com.swspt.type.TypeBussFactory" />
<bean id="type3" factory-bean="typeBussFactory" factory-method="createTypeBuss2()"/>


5.spring bean的作用域
    在beans.xml文件中<bean id="xxx" class="xxx.xxx" scope="" />元素中是通过bean标签的scope属性指定的。
   [1]singleton 单例(默认)
   [2]prototype 每次从容器都得到一个新的bean
   [3]request
   [4]session
   [5]global session

6.spring bean的生命周期
   [1]bean的初始化:默认当容器初始化时就实例化bean了。
   可以通过<bean...>标签的lazy-init(延迟加载)属性改变,为true时则当调用时才初始化,为false时则当容器初始化时就实例化了(默认)。
   建议:使用默认的,否则只有在运行时才能看到bean是否被加载。
   若在bean初始化时要执行init()方法,则通过<bean...>标签的init-method属性指定初始化方法。
   [2]bean的销毁:当sprign容器关闭时才销毁bean
   可以通过<bean...>标签的destory-method元素指定bean的销毁方法。

你可能感兴趣的:(spring,linux,xml,bean,IOC)