前言
在Spring中依赖关系注入使用的是xml配置的方式
一般而言
构造器注入方式注入强制依赖项
设置值方式注入可选依赖项
例子
服务类UserService依赖数据访问类UserDao
UserDao
/**
* @Title: UserDao.java
* @Package cn.osxm.ssmi.chp2
* @Description: TODO
* @author osxm:oscarxueming
* @date 2018年12月9日 上午7:25:18
* @version V1.0
*/
package cn.osxm.ssmi.chp02;
/**
* @ClassName: UserDao
* @Description: TODO
* @author osxm:oscarxueming
*/
public class UserDao {
public void add(User user) {
System.out.println("[UserDao]Insert User to Db Table :"+user.getName());
}
}
UserService
/**
* @Title: UserService.java
* @Package cn.osxm.ssmi.chp2
* @Description: TODO
* @author osxm:oscarxueming
* @date 2018年12月9日 上午7:25:34
* @version V1.0
*/
package cn.osxm.ssmi.chp02;
import org.springframework.transaction.annotation.Transactional;
/**
* @ClassName: UserService
* @Description: TODO
* @author osxm:oscarxueming
*/
public class UserService {
private UserDao userDao;
public UserService(UserDao userDao) {
this.userDao = userDao;
}
public void add(String userName) {
User user = new User();
user.setName(userName);
userDao.add(user);
}
@Transactional
public void update(User user) {
System.out.println("Update User");
}
}
分析:这里UserService中用构造函数初始了一个userDao的实例,然后再在add中调用userDao对应方法
如果我们使用Spring容器,UserDao的依赖直接在XML配置:
构造函数注入
对应的xml就是:
设置值注入
直接在userService下的property设置属性注入依赖即可
对应的xml语言: