注入的方式
1)set注入
在UserServiceImpl中添加setUserDao方法
public class UserServiceImpl implements UserService{
private UserDao userDao;
public void setUserDao(UserDao userDao){
this.userDao = userDao;
}
@Override
public void save(){
userDao.save();
}
}
<bean id="userDao" class="edu.ahau.dao.impl.UserDaoImpl"></bean>
<bean id="userService" class="edu.ahau.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao" />
</bean>
2)构造方法注入
- 有参构造
public class UserServiceImpl implements UserService{
private UserDao userDao;
public UserServiceImpl(UserDao userDao){
this.userDao = userDao;
}
@Override
public void save(){
userDao.save();
}
- 无参构造在我们前面说过。
数据类型注入
1)普通类型
public class UserDaoImp implements UserDao{
private int age;
private String name;
public void setAge(int age){
this.age = age;
}
public void setName(String name){
this.name = name;
}
public void xxxMethod(){
}
}
<bean id="userDao" class="edu.ahau.dao.impl">
<property name = "age" value="12"></property>
<property name = "name" value="张三"></property>
</bean>
2)List集合
public class UserDaoImpl implements UserDao{
private List<String> strList;
public void setStrList(List<String> str){
this.strList = str;
}
}
<bean id="userDao" class="edu.ahau.dao.impl">
<property name="strList">
<list>
<value>aaa</value>
<value>bbb</value>
</list>
</property>
</bean>
3)Map<String,User>
public class UserDaoImpl implements UserDao{
private Map<String,User> userMap;
public void setUserMap(Map<String,User> map){
this.userMap = map;
}
}
<bean id="u1" class="edu.ahau.domain.impl" />
<bean id="u2" class="edu.ahau.domain.impl" />
<bean id="userDao" class="edu.ahau.dao.impl">
<property name="userMap">
<map>
<entry key="user1" value-ref="u1" />
<entry key="user2" value-ref="u2" />
</map>
</property>
</bean>
4 )
public class UserDaoImpl implements UserDao{
private Properties properties;
public void setProperties (Properties str){
this.properties = str;
}
}
<bean id="userDao" class="edu.ahau.dao.impl">
<property name="properties">
<props>
<prop key="p1">aaa</bean>
<prop key="p2">nna</bean>
</props>
</property>
</bean>