Spring配置详解
1. Bean标签
- id: Bean标签自定义名称,但不能使用特殊符号。在代码中可以根据id 值获取到对象
- class:类的完全限定名(全路径)
- scope:
|-- prototype 用户每次从IoC容器里面取对象,IoC容器都给调用者一个新的对象
|-- singleton 这个对象在IoC容器中只会存在一个
|-- request 在web项目同一个request里面只会创建一个对象
|-- session 在web项目里面同一个session 共享一个对象 - name:在springmvc 里面去指定controller的请求路径
- lazy-init:
|-- 默认情况下启动程序时对象就直接创建了
|-- 当加入lazy-init=“true” 之后使用者获取对象时才会创建
2. Spring 实例化Bean 的三种方式
1. 使用类中的无参构造方法
在User类中要有一个无参的构造方法,不然会创建bean失败
2. 使用静态工厂【了解】
- 创建UserFactory
- 修改applicationContext.xml
3. 使用实例工厂【熟悉—Activiti 要使用 】
- 修改UserFactory
- 修改applicationContext.xml
3. Bean属性的注入
1. 使用set方法注入
- 创建Person
- 修改applicationContext.xml
2. 使用有参构造方法
- 创建person 的有参构造方法
- 修改applicationContext.xml
3. List 集合属性注入
- 创建Animal
- applicationContext.xml
<!-- 声明一个String -->
<bean id="str01" class="java.lang.String">
<constructor-arg name="original" value="清远4"></constructor-arg>
</bean>
<!-- 声明一个User -->
<bean id="user" class="com.lasing.domain.User">
<property name="id" value="2"/>
<property name="name" value="lasing2"/>
<property name="address" value="清远2"/>
</bean>
<!-- List集合的注入 -->
<bean id="animal" class="com.lasing.domain.Animal">
<property name="strList">
<list>
<value>清远1</value>
<value>清远2</value>
<value>清远3</value>
<ref bean="str01"/>
<bean class="java.lang.String">
<constructor-arg name="ortginal" value="清远5"></constructor-arg>
<<