在Spring中自动装配与实例化
我最近开始使用Spring。我正在做Spring MVC项目。所以我的问题是,是在spring之前制作接口并将其与特定实现自动连接,还是只使用类实例
,以防万一,我只有该接口的一个实现?
例如:
@Controllerpublic class MyController {
@Autowired
MyService myService;
@RequestMap("/")
public String mainPage() {
...
}
}
要么
@Controllerpublic class MyController {
@RequestMap("/")
public String mainPage() {
MyService myService = new MyServiceImpl();
...
}
}
如果只有MyService接口的一种实现?
回答:
在大多数情况下,您应该进行注射,因为:
- 它简化了单元测试(您可以注入模拟或其他实现)
- Spring还可以注入一些依赖项
MyServiceImpl
,因为它管理此对象 - 您没有将控制器与特定实现耦合在一起
即使您的服务没有接口,由于第二个原因,您也应该考虑注入。
您可能要跳过Spring的唯一情况是该类没有任何依赖项并且是无状态的。但是,此类很可能是一个实用工具,因为它只有static
成员,因此根本不需要任何实例。
以上是 在Spring中自动装配与实例化 的全部内容, 来源链接: utcz.com/qa/411143.html