1:spring中,用配置文件时
<bean>的<scope>属性是singleton时在创建容器时创建对象,创建一个容器在,对象在;
<bean>的<scope>属性是singleton时在使用对象时创建对象,创建多个,不使用时就会销毁;
的init-method指定初始化方法的名称
的destroy-method指定销毁方法的名称
2:工厂实例化bean
静态:
//工厂部分:
package com.lj.factory;
public class StaticFactory {
public static UserDao getUserDao(){
return new UserDaoImpl();
}
}
//xml中:
<bean id="userDao" class="com.lj.factory.StaticFactory" factory-method="getUserDao"></bean>
3:p命名空间
配置文件中添加xmlns:p=“http://www.springframework.org/schema/p”
bean中添加p:XXXX-ref=“某某类”
4:依赖注入的数据类型
4.1:普通数据类型
配置文件里的<bean>中添加<property name=“id” value=“值”></property>
4.2:集合:
配置文件中:
<bean id="userDao1" class="com.lj.impl.UserDaoImpl" >
<property name="userName" value="zima"></property>
<property name="age" value="17"></property>
<property name="stringList">
<list>
<value>aaa</value>
<value>bbb</value>
<value>ccc</value>
</list>
</property>
<property name="userMap">
<map>
<entry key="U1" value-ref="user1"></entry>
<entry key="U2" value-ref="user2"></entry>
</map>
</property>
<property name="properties">
<props>
<prop key="p1">p1</prop>
<prop key="p2">p2</prop>
<prop key="p3">p3</prop>
</props>
</property>
</bean>
<bean id="user1" class="com.lj.domain.User">
<property name="name" value="ks"></property>
<property name="addr" value="jp"></property>
</bean>
<bean id="user2" class="com.lj.domain.User">
<property name="name" value="wh"></property>
<property name="addr" value="qyy"></property>
</bean>
UserDaoImpl中:
private List<String> stringList;
private Map<String, User> userMap;
private Properties properties;
public void show(){
System.out.println("UserDaoImpl{" +'\n'+
"stringList=" + stringList +'\n'+
"userMap=" + userMap.toString() +'\n'+
"properties=" + properties +'\n'+
"userName='" + userName + '\'' +'\n'+
"age=" + age +'\n'+
'}');
}