bean的作用域-scope指bean的作用域,在配置bean时,有scope属性来配置bean的作用域。
<!--
bean的作用域,默认是单例:
singleton单例:整个容器中只有一个对象实例
prototype原型:每次获取bean都产生一个新的对象
request:每次请求时创建一个新的对象
session:在会话的范围内是一个对象
global session:只在portlet下有用,表示是application
application:在应用的范围内一个对象
-->
<bean id="addr" class="com.zfy.vo.Address" scope="singleton">
<property name="address" value="北京"></property>
</bean>
注意:在整合struts2和spring时,需要将action设置为scope=”prototype”原型
2、bean的自动装配-Autowiring 简化spring配置
在配置bean时,可以设置bean的autowire属性,用于指定装配类型
<!-- <bean id="userDao" class="com.bjsxt.dao.impl.UserDaoMySqlImpl"></bean> -->
<bean class="com.bjsxt.dao.impl.UserDaoOraclerImpl" ></bean>
<!--
autowire自动装配 简化spring配置 默认是no不使用自动装配
no:不使用自动装配
-->
<!--
byName:根据名称(set方法名称来的)去查找相应的bean,如果有则装配上
byType:根据类型进行自动装配,不用管bean的id,但是同一种类型的bean只能有一个,建议慎重。
constructor:当通过构造器实例化bean时,spring使用byType的方式装配构造方法
-->
<bean id="userService" class="com.bjsxt.service.impl.UserServiceImpl" autowire="no"></bean>
可以配置全局的自动装配类型。在头文件中:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
default-autowire="constructor">
不推荐使用手动配置自动装配,而使用annotation