码迷,mamicode.com
首页 > 编程语言 > 详细

Spring的生命周期及注入详解

时间:2015-12-07 22:44:15      阅读:596      评论:0      收藏:0      [点我收藏+]

标签:

1.web服务启动时,Spring在默认情况下是实例化所有的Bean(而不是需要用时在实例化,就好比数据库连接池),而且只创建一次,而且是单例的,这就是Bean的生命周期。

2.要改变默认的单例模式,可以这么做,把scope属性值设置为prototype(这个属性默认是懒加载的,意思是用到相应的Bean时才实例化):

<bean id="a"  class="com.gdut.Student" scope="prototype"/>

 

从上面的1.2可以得知,Spring在web服务启动的时候是先实例化单例的Bean,因为是web服务启动的时候就已经实例化了。

 

Bean的生命周期:创建、初始化、销毁。可以解决创建实例时初始化数据的问题。

Bean创建主要使用构造方法去创建,另外2中方法静态和动态工厂(很少用),具体怎么做呢???

 

(依赖注入的两种方式)各种值(如A依赖于B,那么B如何注入呢?)如何注入到Bean中:1.set()方法;2.构造方法

两者的区别:构造方法的话是在创建对象的时候可以确定的参数,然后把它注入,就好比人生下来性别是确定的,在new人这个对象的时候就可以把性别这个属性通过构造方法注入;而set()主要是用于一些参数不确定的时候注入,比如说人生下来的时候学历是未知的,但是经过一定时间之后我们可以知道,在后期我们就可以通过set()方法注入,而且需要改变的时候还可以set()方法改变,方便后期的维护。

构造方法:<bean id="a" class="com.gdut.Student">

        <constructor-arg  name="sname" value="zhangsan" ></constructor-arg>(name的值是构造方法的形参的名字)

     </bean>

set()方法注入

      <bean id="a" classs="com.gdut.Student">

        <property name="studentService" ref="com.gdut.StudentService">

      </bean>

 

另一个问题:演示各种类型参数的注入,比如Map、Date、List、Set、properties

 

Spring的生命周期及注入详解

标签:

原文地址:http://www.cnblogs.com/2027437606qq/p/5027519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!