Spring2.5教程:3、Bean
来源:互联网 发布:网络产品线 it产品线 编辑:程序博客网 时间:2024/05/21 15:47
三种实例化bean的方式(bean为业务bean:像task)
1.使用类构造器实例化,(调用默认的构造函数)
<bean id=“orderService" class="cn.itcast.OrderServiceBean"/>
2.使用静态工厂方法实例化
<bean id="personService" class="cn.itcast.service.OrderFactory" factory-method="createOrder"/>
public class OrderFactory {
public staticOrderServiceBeancreateOrder(){
return new OrderServiceBean();
}
}
3.使用实例工厂方法实例化:
<bean id="personServiceFactory" class="cn.itcast.service.OrderFactory"/>
<bean id="personService" factory-bean="personServiceFactory" factory-method="createOrder"/>
public class OrderFactory {
public OrderServiceBeancreateOrder(){
return new OrderServiceBean();
}
}
Bean的作用域(通过scope属性指定)
.singleton (默认下bean是单例模式)
在每个Spring IoC容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定Bean节点的lazy-init=“true”来延迟初始化bean,这时候,只有第一次获取bean会才初始化bean。如:
<bean id="xxx" class="cn.itcast.OrderServiceBean" lazy-init="true"/>
如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=“true“,如下:
<beans default-lazy-init="true“ ...>(不建议使用)
.prototype
每次从容器获取bean都是新的对象,在第一次获取时初始化。scope="prototype"
下面是对应于web应用的
.request
.session
.global session
指定Bean的初始化方法和销毁方法
指定Bean的初始化方法和销毁方法
<bean id="xxx" class="cn.itcast.OrderServiceBean" init-method="init" destroy-method="close"/>
init-method:在bean实例化后会执行init()方法,在bean销毁(即spring容器退出)的时候执行close()
Init初始化方可以对一些资源进行打开等等
业务bean类里有初始化方法init,可以通过" init-method="“来指定初始化方法,来让容器初始化的时候执行。
容器执行顺序:先实例化bean,再执行初始化方法。
- Spring2.5教程:3、Bean
- Spring2.5教程:3、Bean
- spring2.5自动扫描bean
- Spring2.5中定义bean特性
- Spring2.5中bean定义的继承
- Spring2.3——抽象Bean和子Bean
- Spring2.5教程:6、AOP
- Spring2 Bean详解
- spring2.5 实例化bean的三种方法
- spring2.5系列之---------spring管理bean的生命周期
- (五)Spring2.5中bean实例化方式讲解
- (九)Spring2.5中Bean之间的相互引用
- (十)Spring2.5中基于注解方式Bean讲解
- Spring2.5教程:4、注入依赖
- Spring2.5教程:4、注入依赖
- Spring2.5—— Bean的生命周期、作用域不同步的Bean
- Spring2.5+JPA+Struts1.3
- Spring2.5+Hibernate3.3+Struts2
- Oracle查询中rownum与Order by查询的关系(取数据的前几条)
- 线程间通信
- java读取文件夹下所有文件并替换文件每一行中指定的字符串
- Tsung的安装和使用
- dispatchTouchEvent/dispatchTouchEvent/onInterceptTouchEvent调用时机
- Spring2.5教程:3、Bean
- Phonegap-----Media
- POJ-1191-棋盘分割
- 中文转拼音
- .C与.CPP 在编译时的区别
- Hibernate的级联操作详解(转)
- Eclipse中将web项目自动发布到Tomcat webapps下
- 在LINUX上创建GIT服务器
- svn is already under version control问题解决