關於本次springboot項目上線遇到的問題歸納:
1.本地合適但是線上掃不到包,報錯:【Unsatisfied dependency expressed through field 'iClientFeignEmployeeService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.oppo.csc.hrms.client.service.employee.IClientFeignEmployeeService】
原因:掃不到manager里面的包、導致出現問題
解決前:
@SpringBootApplication(scanBasePackages = {"com.oppo.csc.sso", "com.xiniaoyun.external"}, exclude = {NacosConfigEndpointAutoConfiguration.class}) //就是此處掃描包的 @EnableSpringDataWebSupport @EnableScheduling @EnableFeignClients({"com.xiniaoyun.external.client","com.xiniaoyun.shared", "com.oppo.csc.sso.api", "com.oppo.csc.hrms","com.xiniaoyun.helios"}) @MapperScan(value = "com.xiniaoyun.external.dao", annotationClass = Mapper.class) @EnableDiscoveryClient public class SummerExternalApplication { private static ApplicationContext applicationContext; public static ApplicationContext getApplicationContext() { return applicationContext; } public static void main(String[] args) { applicationContext = SpringApplication.run(SummerExternalApplication.class, args); } }
解決后:
@SpringBootApplication(scanBasePackages = {"com.oppo.csc.sso", "com.xiniaoyun.external.manager","com.xiniaoyun.external"}, exclude = {NacosConfigEndpointAutoConfiguration.class}) //單獨將manager的包掃描一次、后面再掃全局。 @EnableSpringDataWebSupport @EnableScheduling @EnableFeignClients({"com.xiniaoyun.external.client","com.xiniaoyun.shared", "com.oppo.csc.sso.api", "com.oppo.csc.hrms","com.xiniaoyun.helios"}) @MapperScan(value = "com.xiniaoyun.external.dao", annotationClass = Mapper.class)
這樣就能解決掉該問題、主要的原因就是沒有掃描到包、導致出現的問題。