文章目录
一、IoC配置
IoC的配置是通过Spring的xml文件的bean标签进行的。
1、bean标签介绍
bean标签一般是在xml文件进行配置的,xml文件一般样式如下:
<?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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
可在其中进行bean标签的配置。
1.1、bean标签的作用
bean标签用于配置被spring容器管理的bean的信息
注意:bean标签配置的bean的创建默认是调用无参数的构造方法,若没有无参构造方法则不能创建成功。
1.2、bean标签属性
- id:给对象在容器中提供一个唯一标识。用于获取对象。
- class:指定类的全限定名。用于反射创建对象。默认情况下调用无参构造函数。
- scope:指定对象的作用范围。
- singleton:默认值,单例的(在整个容器中只有一个对象).
- prototype:多例的
- request:将Spring 创建的 Bean 对象存入到 request 域中.
- session:将Spring 创建的 Bean 对象存入到 session 域中.
- global session:WEB 项目中,应用在 Portlet 环境.如果没有 Portlet 环境那么globalSession 相当于 session。
- init-method:指定类中的初始化方法名称。
- destroy-method:指定类中销毁方法名称。比如DataSource的配置中一般需要指定destroy-method=“close”。
- lazy-init:ApplicationContext实现的默认行为就是在启动时将所有 singleton bean进行实例化。lazy-init可以延迟初始化,设置
lazy-init="true"
使得Ioc容器在第一次需要bean的时候进行实例化。
示例xml代码如下:
<?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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="wanger" class="com.luis.dto.Person"></bean>
<bean id="zhangsan" class="com.luis.dto.Person" init-method="init" destroy-method="over"></bean>
<bean id="lisi" class="com.luis.dto.Person" scope="prototype"></bean>
<bean id="lazy" class="com.luis.dto.Person" lazy-init="true"/></beans>
<bean name="address" class="com.luis.dto.Address"></bean>
</beans>