在Spring中自动装配与实例化

我最近开始使用Spring。我正在做Spring MVC项目。所以我的问题是,是在spring之前制作接口并将其与特定实现自动连接,还是只使用类实例

,以防万一,我只有该接口的一个实现?

例如:

@Controller

public class MyController {

@Autowired

MyService myService;

@RequestMap("/")

public String mainPage() {

...

}

}

要么

@Controller

public class MyController {

@RequestMap("/")

public String mainPage() {

MyService myService = new MyServiceImpl();

...

}

}

如果只有MyService接口的一种实现?

回答:

在大多数情况下,您应该进行注射,因为:

  • 它简化了单元测试(您可以注入模拟或其他实现)
  • Spring还可以注入一些依赖项MyServiceImpl,因为它管理此对象
  • 您没有将控制器与特定实现耦合在一起

即使您的服务没有接口,由于第二个原因,您也应该考虑注入。

您可能要跳过Spring的唯一情况是该类没有任何依赖项并且是无状态的。但是,此类很可能是一个实用工具,因为它只有static成员,因此根本不需要任何实例。

以上是 在Spring中自动装配与实例化 的全部内容, 来源链接: utcz.com/qa/411143.html

回到顶部