简介
Spring:将对象配置到容器内,通过容器获取对象!
使用
1. Spring需要在resource中使用applicationContext.xml进行配置。
2. 编写Java类
2. 使用<bean>标签配置对象。
标签
<bean>
作用:在spring容器中配置对象。
属性
id:bean在Spring内的唯一标识
class:全限定类名
scope:对象的操作范围
singleton:默认,单例。容器中该对象唯一。生命周期:随applicationContext加载时创建,applicationContext销毁时销毁
prototype:多例。容器中该对象多例。声明周期:调用applicationContext.getBean("id")时创建,对象不使用时销毁。
内部标签
<property>
作用:对bean对象的成员变量初始化。使用set方法
属性
name:set的方法名。
ref:引用spring容器内对象
<constructor-arg>
作用:对bean对象的成员变量初始化。使用有参构造方法
属性
name:有参构造参数名
ref:应用spring容器内对象
基本数据类型,引用数据类型,集合类型等成员变量的初始化
从上可知:初始化成员变量有<property>代表set方法。<constructor-arg>代表有参构造。对于引用数据类型初始化使用ref属性,引用spring容器内对象即可。
基本数据类型:
<property>中使用value=""属性赋值
String username;
<property name="username" value="张三">
引用数据类型:
List:使用<list>标签赋值。 Map<T,T>使用<map>标签赋值
List<String> strArray
<property name="strArray">
<list>
<value>aaa</value>
</list>
</property>
Map<String,Book> bookMap
<property name="bookMap">
<map>
<entry key="book1" ref="b1">:key:键。ref:引用spring容器内对象
</map>
</property>
使用
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="user1" class="xyz.javaswing.spring03.domain.User"> <property name="username" value="张三"/> <property name="age" value="17"/> <property name="strArray"> <list> <value>aaa</value> <value>bbb</value> <value>ccc</value> </list> </property> </bean> <bean id="user2" class="xyz.javaswing.spring03.domain.User"> <property name="username" value="李四"/> <property name="age" value="18" /> <property name="strArray"> <list> <value>111</value> <value>222</value> <value>333</value> </list> </property> </bean> <bean id="book" class="xyz.javaswing.spring03.domain.Book"> <property name="bookName" value="三国演义"/> <property name="author" value="罗贯中"/> <property name="map"> <map> <entry key="a" value="1"></entry> <entry key="b" value="2"></entry> <entry key="c" value="3"></entry> </map> </property> </bean> <bean id="userDao" class="xyz.javaswing.spring03.dao.UserDao"></bean> <bean id="bookDao" class="xyz.javaswing.spring03.dao.BookDao"></bean> <bean id="userService" class="xyz.javaswing.spring03.service.UserService"> <property name="userDao" ref="userDao"/> </bean> <bean id="bookService" class="xyz.javaswing.spring03.service.BookService"> <property name="bookDao" ref="bookDao"/> </bean> </beans>
<import resource="applicationContext-xxx.xml"/>
import:导入其他模块的applicationContext配置文件