Spring托管bean与非托管bean

Spring托管bean与非托管bean,spring,containers,autowired,Spring,Containers,Autowired,我有一个从方法返回的简单结果数据持有者对象 我对使用SpringBoot来使用或创建这个对象的正确方式感到困惑 该类是否应标记为@Component注释 我可以使用“new Result()”创建此对象,还是应该自动连线并使用它 如果我使用'new Result()',那么这个实例将不会由Spring管理。这种理解正确吗?托管bean与非托管bean的优缺点是什么 谢谢, 苏达 如果我使用'new Result()',那么这个实例将不会由Spring管理。这种理解正确吗?托管bean与非托管be

我有一个从方法返回的简单结果数据持有者对象

我对使用SpringBoot来使用或创建这个对象的正确方式感到困惑

  • 该类是否应标记为@Component注释
  • 我可以使用“new Result()”创建此对象,还是应该自动连线并使用它
  • 如果我使用'new Result()',那么这个实例将不会由Spring管理。这种理解正确吗?托管bean与非托管bean的优缺点是什么
  • 谢谢, 苏达

    如果我使用'new Result()',那么这个实例将不会由Spring管理。这种理解正确吗?托管bean与非托管bean的优缺点是什么

    最大的区别是控制反转IoC(也称为依赖注入DI)。如果
    Result
    是由spring管理的,那么您可以自动连接其他springbean(如服务、组件、存储库等),而且您还可以在其他springbean中自动连接
    Result
    bean。更多细节可以找到

    我可以使用“new Result()”创建此对象,还是应该自动连线并使用它

    这取决于你的情况。例如,如果您在Spring控制器中有一个JSON响应,那么在本例中,最好使用经典的POJO并创建它,因为它取决于您的业务逻辑。 另一方面,id-yourbean是一种服务,可以在项目的其他地方使用,因为它提供了一些方法,在这种情况下,我想自动连接它并将其作为springbean是很好的

    该类是否应标记为@Component注释


    正如我之前所说的,这取决于你的情况。在您描述的情况下(方法的结果),可能最好使用经典的POJO。但是你没有提供足够的信息

    你的问题不够详细,无法提供更具体的指导,因此我将提供一些一般信息。Spring管理的bean通常(尽管不总是)是无状态的,默认情况下是单例的(尽管可以进行不同的配置)。Spring管理生命周期。也许一个更好的问题是,为什么您认为它应该由spring管理?谢谢Angelo。这个类没有行为。它只是保存了一个方法的结果,从你的回复来看,我似乎可以把它变成一个POJO。