spring注入的几种方式

本文为博主原创,未经允许不得转载:

Spring注入有以下几种方式:

  1. 构造方法注入:通过构造方法实现依赖注入。在类的构造方法中使用@Autowired注解注入需要的依赖类。
  2. Setter方法注入:通过setter方法实现依赖注入。在类中定义对应的setter方法,并使用@Autowired注解注入需要的依赖类。
  3. 字段注入:直接在类中定义依赖类的字段,并使用@Autowired注解注入需要的依赖类。
  4. 接口注入:通过实现接口实现依赖注入,将需要注入的依赖类定义为接口类型,在类中使用@Autowired注解注入实现该接口的类。
  5. 注解注入:除了@Autowired注解,还可以使用@Inject、@Resource等注解,实现依赖注入。选择哪种注解要根据具体情况来决定。

总的来说,Spring的依赖注入机制可以灵活地应对不同种类的依赖注入需求,提高了代码的可维护性和可重用性。

  1. 构造方法注入:
@Service
public class UserServiceImpl implements UserService {

    private final UserDao userDao;

    @Autowired
    public UserServiceImpl(UserDao userDao) {
        this.userDao = userDao;
    }

    // 业务方法
    @Override
    public void addUser(User user) {
        userDao.addUser(user);
    }
}

  

  1. Setter方法注入:
 
@Service
public class UserServiceImpl implements UserService {

    private UserDao userDao;

    @Autowired
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    // 业务方法
    @Override
    public void addUser(User user) {
        userDao.addUser(user);
    }
}
  1. 字段注入:
 
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;

    // 业务方法
    @Override
    public void addUser(User user) {
        userDao.addUser(user);
    }
}
  1. 接口注入:
@Service
public class UserServiceImpl implements UserService {

    private UserMapper userMapper;

    @Autowired
    public UserServiceImpl(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    // 业务方法
    @Override
    public void addUser(User user) {
        userMapper.addUser(user);
    }
}
  1. 注解注入:
@Service
public class UserServiceImpl implements UserService {

    @Resource
    private UserDao userDao;

    // 业务方法
    @Override
    public void addUser(User user) {
        userDao.addUser(user);
    }
}

  可以根据实际需求选择不同的方式进行注入。

 

posted @ 2022-05-26 23:44  香吧香  阅读(783)  评论(0编辑  收藏  举报