步骤:
UserSrvImpl 不需要 通过 new 实例化 UserDao :
- UserSrvImpl类定义 成员变量
IUserDao dao - 生成 setter 方法
- 在xml中增加
<property name="dao" ref="UserDao"/>
定义dao接口
public interface IUserDao {
public void save(String username,String password);
}
定义dao实现类
public class UserDao implements IUserDao {
public void save(String username,String password){
System.out.println("UserDao 保存 "+username+","+password+" 成功!");
}
}
定义service接口
public interface IUserService {
public void save(String username, String password);
}
定义service实现类(关键)
public class UserSrvImpl implements IUserService {
private IUserDao dao;
public UserSrvImpl(){
System.out.println("UserSrvImpl构造方法");
}
public void save(String username,String password){
dao.save(username,password);
}
public void setDao(UserDao dao) {
this.dao = dao;
}
}
注意: 定义 IUserDao dao 成员变量,并增加 set() 方法
定义spring.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="UserSrvImpl" class="top.malaoshi.UserSrvImpl">
<property name="dao" ref="UserDao"></property>
</bean>
<bean id="UserDao" class="top.malaoshi.UserDao">
</bean>
</beans>
解释: 在 <bean> 标签中,需要增加 <property name="dao" ref="UserDao"></property> 标签,name 属性值是该类的 setXXX() 方法中 XXX的部分ref 属性值是 <bean> id="UserDao"> 的 UserDao
注入基本数据类型
可以通过下面方式注入 基本数据类型
<property name="name" value="李雷">
