在 Java 的 POJO 类中添加@Component或@Bean好吗?



我的对象范围在方法级别 ,用 POJO 类装饰好不好 @Componet或@Bean的作用域请求或原型,以便我们可以将其注入到所需的类中,以避免手动实例化对象。

这是一种好的做法吗?

注释什么?

在 Spring 框架中,仅在标有 @Configuration 的类中使用 @Bean 注释。

尽管可以在@Component类中使用这些@Bean,但不建议这样做,因为您将创建轻豆(这被认为是不好的做法,可能会导致意想不到的副作用(。

何时使用@Bean与@Component?

黄金法则,在您自己的分类中使用@Component(或@Service(,对第三方代码使用@Configuration + @Bean。

不要用@Component或@Bean注释的内容

不要批注域类或实体(例如你的 person 类(,只批注被视为无状态的类。(比如你的经理/**服务类(。

不要批注您的 DTO。

如果你目前有其中任何一个注释,我强烈建议你先跳回 Spring 框架教程。

范围呢?

去看看 https://www.baeldung.com/spring-bean-scopes

只有一对,即:

  • 单例(默认范围(应用程序的单个弹簧 Bean 实例 - 在整个应用程序中使用的同一实例。
  • 原型(无论在哪里使用新豆(
  • 请求(Spring Bean per per request 仅适用于 Spring MVC(
  • 会话
  • (每个会话的 Spring Bean 仅适用于 Spring MVC(
  • 自定义范围(是的,您可以创建自己的范围...但不要;)(

最新更新