分层解耦-IOC&DI-入门

IOC&DI入门

还是以三层架构的案例来实现解耦的操作,具体文章参照:写文章-CSDN创作中心

步骤

  • Servic层和Dao层的实现类,交给IOC容器
  • 为Controller及Service注入运行时的依赖对象
  • 运行测试 

使用@Component表示将当前类交给IOC管理,称为IOC容器中的bean

使用@Autowired表示IOC容器会提供该类型的bean对象,并赋值给该变量即完成依赖注入 

具体关键代码如下

package com.example.Service.impl;

import com.example.DAO.EmpDao;
import com.example.DAO.impl.EmpDaoA;
import com.example.POJO.Emp;
import com.example.Service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

@Component     // TODO 将当前类交给IOC容器管理,称为IOC容器中的bean
public class EmpServiceA implements EmpService {
    @Autowired // TODO 运行时,IOC容器会提供该类型的bean对象,并赋值给该变量 即依赖注入
    private EmpDao empDao;

    @Override
    public List listEmp() {
        // 调用dao获取数据
        List empList = empDao.listEmp();
        empList.stream().forEach(emp -> {
            // 处理gender: 1:男;2:女
            String gender = emp.getGender();
            if ("1".equals(gender)) {
                emp.setGender("男");
            } else if ("2".equals(gender)) {
                emp.setGender("女");
            }
            // 处理job:1:讲师;2:班主任;3:就业辅导
            String job = emp.getJob();
            if ("1".equals(job)) {
                emp.setJob("讲师");

            } else if ("2".equals(job)) {
                emp.setJob("班主任");
            } else if ("3".equals(job)) {
                emp.setJob("就业辅导");
            }
        });
        return empList;
    }
}

你可能感兴趣的:(java,开发语言)