在Java中的POJO类中添加@Component或@Bean是否合适?

问题描述 投票:-4回答:1

我的对象的范围是在方法级别,用@Componet或@Bean用范围请求或原型来装饰POJO类是好的,这样我们就可以将它注入所需的类中以避免手动进行对象实例化。

这是一个好习惯吗?

spring spring-boot
1个回答
2
投票

注释什么?

在Spring Framework中,只在标有@Configuration的类中使用@Bean批注。

虽然可以在@Component类中使用@Bean,但不建议这样做,因为你将创建轻豆(这被认为是不好的做法)。

何时使用@Bean vs @Component?

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

什么不用@Component或@Bean注释

不要注释域类或实体(例如您的person类),只注释被认为是无状态的类。 (就像你的ManagerPerson课程一样)。

不要注释您的DTO。

如果你有任何这些当前注释,我强烈建议首先跳回Spring框架教程。

请注意,这仅适用于@Component和@Bean,其他注释(如@Entity)适用于您的域类,如Person类。

范围怎么样?

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

只有一对,即:

  • 单例(默认范围)应用程序的单个Spring Bean实例 - 在整个应用程序中使用的相同实例。)
  • 原型(用于任何地方的新bean)
  • 请求(仅针对Spring MVC的每个请求的Spring Bean)
  • 会话(仅针对Spring MVC的每个会话的Spring Bean)
  • 自定义范围(是的,你可以创建自己的...但不要;))
© www.soinside.com 2019 - 2024. All rights reserved.