Python 官方文档:入门教程 => 点击学习
目录一、变量注入(Field Injection)二、构造器注入(Constructor Injection)三、setter方法注入(Setter Injection)四、使用场景
spring的依赖注入,我们一般使用@Autowired注解来完成,关于依赖注入一般有三种方式:
变量注入、构造器注入、setter方法注入,下面我们仔细分析一下三种注入方式各自的特点以及使用场景。
先看看怎么使用:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
//...
}
使用idea开发的时候,我们发现直接在变量上注解 @Autowired,它会有个警告提示:Field injection is not recommended。如下图:
具体是:Field injection is not recommended
Inspection info: Spring Team recommends: "Always use constructor based dependency injection in your beans. Always use assertions for mandatory dependencies"。
意思是说“变量依赖注入是不被建议的方式”。Spring官方建议“总是采用构造器注入的方式建立依赖注入”。
优点:
弊端:
先看看怎么使用:
@Service
public class UserServiceImpl implements UserService {
private final UserMapper userMapper;
@Autowired
public UserServiceImpl(UserMapper userMapper) {
this.userMapper = userMapper;
}
}
优点:
弊端:
使用 IEDA 可以在修改变量后重新使用快捷键生成构造方法。
先看看怎么使用:
@Service
public class UserServiceImpl implements UserService {
private UserMapper userMapper;
@Autowired
public void setUserMapper(UserMapper userMapper) {
this.userMapper = userMapper;
}
}
优点:
弊端:
到此这篇关于Spring依赖注入Dependency Injection的三种方式的文章就介绍到这了,更多相关Spring依赖注入内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Spring依赖注入DependencyInjection的三种方式
本文链接: https://www.lsjlt.com/news/195949.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0