• 解除项目与其他服务的强依赖


    项目中使用了其他项目中的服务,当服务不可用或者报错的时候,项目启动不了,需要解除强依赖

    例如之前的写法:

    @Configuration
    public class EpasBeanConfig {
    
    @Bean
    public GroupOrganizationService getGroupOrganizationService(){
        return EpasClientFactory.createClient(GroupOrganizationService.class,Constants.EPAS_USER_BASIS_APP_KEY);
    }
    
    @Bean
    public DepartmentService getDepartmentService(){
        return EpasClientFactory.createClient(DepartmentService.class, Constants.EPAS_USER_BASIS_APP_KEY);
    }
    }
    @Autowired
    private GroupOrganizationService groupOrganizationService;
    
    @Autowired
    private DepartmentService departmentService;

    当服务不可用的时候,项目启动失败

    修改后的方法:

    @Configuration
    public class EpasBeanConfig {
    
        @Bean
        @Lazy
        public GroupOrganizationService getGroupOrganizationService(){
            return EpasClientFactory.createClient(GroupOrganizationService.class, Constants.EPAS_USER_BASIS_APP_KEY);
        }
        
        @Bean
        @Lazy
        public DepartmentService getDepartmentService(){
            return EpasClientFactory.createClient(DepartmentService.class, Constants.EPAS_USER_BASIS_APP_KEY);
        }
    }
    GroupOrganizationService groupOrganizationService = AppContextHolder.getContext().getBean(GroupOrganizationService.class);
  • 相关阅读:
    Livepool
    Eclipse最新版注释模板设置详解
    hashcode详解
    开发集成工具MyEclipse中Outline的问题
    第三章 数据链路层(二)
    Java常考面试题(四)
    collections集合的总括。
    第三章 数据链路层(一)
    Java常考面试题(三)
    Java常考面试题(二)
  • 原文地址:https://www.cnblogs.com/zhouj850/p/10864197.html
Copyright © 2020-2023  润新知