在 Spring MVC 和 Portlet 应用程序中,字段注入是指直接将依赖项注入到带注释的字段中的做法使用@Autowired,如以下示例所示:
@Component public class MyComponent { @Autowired private Cart cart; }
作为替代方案,构造函数注入涉及传递依赖作为构造函数中的参数:
@Component public class MyComponent { private final Cart cart; @Autowired public MyComponent(Cart cart) { this.cart = cart; } }
优点和缺点:
构造函数注入有几个优点:
Setter 注入也是一种选项,提供一种注入依赖项的机制,该依赖项可能是可选的或随时间变化的。
相反,字段注入有几个缺点:
注入指南:
Spring 建议遵循以下指南:
结论:
考虑到字段注入的缺点,通常建议支持构造函数或setter注入。场注入的便利性被其潜在的缺点和限制所抵消。
以上是为什么在 Spring 中构造函数或 Setter 注入优于字段注入?的详细内容。更多信息请关注PHP中文网其他相关文章!