Java:检测服务中过多的注入依赖项

Java:检测服务中过多的注入依赖项,java,spring-boot,dependency-injection,Java,Spring Boot,Dependency Injection,如果一个服务注入了太多的服务,是否有可能自动检测 工具链:java+spring boot+sonarqube+gitlabci public class TooMuchService { // injection private AService aService; private BService bService; private CService cService; private DService dService; private EService eServ

如果一个服务注入了太多的服务,是否有可能自动检测

工具链:java+spring boot+sonarqube+gitlabci

public class TooMuchService {
  // injection
  private AService aService;
  private BService bService;
  private CService cService;
  private DService dService;
  private EService eService;
  private FService fService;
  private GService gService;
}

您可以使用
BeanPostProcessor
,如下所示:

这样,从
对象bean
可以获得每个实例化bean的类名。您可以在之后使用反射来搜索注释,将它们相加,并检查您是否接受该数字


但我不会担心这个数字,它不会影响性能。

嘿,谢谢你的回答。我在问,因为如果一个类注入了太多的依赖性——上帝类,那可能是建筑中的床味。
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;

public class CustomBeanPostProcessor implements BeanPostProcessor 
{
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException 
    {
        System.out.println("Called postProcessBeforeInitialization() for :" + beanName);
        return bean;
    }

    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException 
    {
        System.out.println("Called postProcessAfterInitialization() for :" + beanName);
        return bean;
    }
}