最佳答案
您希望Spring为以下类创建bean:
>您希望/需要在其他bean中注入实例
>您需要在自己的实例中注入bean(或依赖项).
>你希望他们从Spring功能中受益(实例化管理,事务管理,代理类Spring赋予权力,例如Repository / Interceptor等等……)
服务,控制器或拦截器就是它们的一个例子.
例如,控制器可能需要注入服务或拦截器.
同样,您不希望通过为每个类实现单例模式来处理这些类的实例化.这可能容易出错并需要锅炉板代码.
所以你希望所有这些类都是由Spring管理的bean.
但是你不希望Spring为以下类创建bean:
>您不希望/需要在其他bean中注入实例
>您不需要在自己的实例中注入bean(或rdependencies)
>你不需要他们受益于Spring功能
实体,DTO,价值对象就是它们的例子.
例如,实体永远不需要作为依赖项注入到另一个实体或服务中,因为实体不是在容器启动时创建的,而是通常在方法内部创建,并且范围仅限于方法生命周期.
除了你不需要Spring来创建寿命是一种方法的实例.新的操作符做得很好.
因此将它们定义为bean实例是没有意义的,甚至反直觉.