3:普通数据类型和集合的注入
DAOImpl:
public class UserDaoImpl implements UserDao
{
private String username;
private int age;
private List<String> stringList;
private Map<String, User> userMap;
private Properties properties;
public UserDaoImpl()
{
System.out.println("UserDaoImpl对象创建...");
}
public void setUsername(String username) {
this.username = username;
}
public void setAge(int age) {
this.age = age;
}
public List<String> getStringList() {
return stringList;
}
public void setStringList(List<String> stringList) {
this.stringList = stringList;
}
public Map<String, User> getUserMap() {
return userMap;
}
public void setUserMap(Map<String, User> userMap) {
this.userMap = userMap;
}
public Properties getProperties() {
return properties;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
@Override
public void save()
{
System.out.println("stringList:"+stringList);
System.out.println("userMap:"+userMap);
System.out.println("properties:"+properties);
/*System.out.println("username:"+username);
System.out.println("age:"+age);*/
System.out.println("save running...");
}
}
map中的user类:
public class User
{
private String name;
private String addr;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", addr='" + addr + '\'' +
'}';
}
}
XML(容器):
<bean id="user1" class="com.example.MySpringStudy.entity.User">
<property name="name" value="张三"></property>
<property name="addr" value="北京"></property>
</bean>
<bean id="user2" class="com.example.MySpringStudy.entity.User">
<property name="name" value="李四"></property>
<property name="addr" value="上海"></property>
</bean>
<bean id="userDao"
class="com.example.MySpringStudy.Impl.UserDaoImpl"
scope="prototype">
<property name="username" value="张三"> </property>
<property name="age" value="18"> </property>
<property name="stringList">
<list>
<value>a</value>
<value>b</value>
<value>c</value>
</list>
</property>
<property name="userMap">
<map>
<entry key="user1" value-ref="user1"></entry>
<entry key="user2" value-ref="user2"></entry>
</map>
</property>
<property name="properties">
<props>
<prop key="p1">ppp1</prop>
<prop key="p2">ppp2</prop>
<prop key="p3">ppp3</prop>
</props>
</property>
</bean>
<!--有参构造对象-->
<bean id="userService" class="com.example.MySpringStudy.Impl.UserServiceImpl"
>
<constructor-arg name="userDao" ref="userDao"> </constructor-arg>
<!--name代表 传递给userServiceImpl中构造函数 参数名-->
</bean>
UserServiceImpl:
public class UserServiceImpl implements UserService
{
private UserDao userDao;
@Override
public void save()
{
userDao.save();
}
public UserServiceImpl(UserDao userDao)
{
this.userDao = userDao;
}
public UserServiceImpl()
{}
}
UserController:
public class UserController
{
public static void main(String[] args)
{
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService = (UserService) app.getBean("userService");
userService.save();
}
}