javaEEday05-分层解耦-IOC&DI-DI详解

This commit is contained in:
2026-09-19 16:21:15 +08:00
parent 374ee007f1
commit 859ba987ec
2 changed files with 9 additions and 2 deletions
@@ -5,7 +5,9 @@ import com.inmind.pojo.Result;
import com.inmind.service.EmpService;
import com.inmind.service.impl.EmpServiceImplA;
import com.inmind.utils.XmlParserUtils;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -15,6 +17,8 @@ import java.util.List;
public class EmpController {
//设置一个员工业务对象
@Autowired//运行时,IOC容器会提供该类型的bean对象,并赋值给该变量----依赖注入
@Qualifier("empServiceImplA") //优先级更高,比@Primary,优先级高
//@Resource(name = "empServiceImplB")//jdk提供的注解,不用
private EmpService empService ;
@RequestMapping("/listEmp")
@@ -4,10 +4,13 @@ import com.inmind.dao.EmpDao;
import com.inmind.pojo.Emp;
import com.inmind.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.util.List;
//@Component //将当前类交给IOC容器管理,让它称为IOC容器中的bean对象---IOC控制反转
@Primary //当DI依赖注入EmpService的变量时,优先使用当前实现类
@Service //将当前类交给IOC容器管理,让它称为IOC容器中的bean对象---IOC控制反转
public class EmpServiceImplA implements EmpService {
//设置一个dao的成员变量
@Autowired//运行时,IOC容器会提供该类型的bean对象,并赋值给该变量----依赖注入