亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Boot 之spring.factories

發布時間:2020-07-25 10:39:05 來源:網絡 閱讀:1705 作者:龍愛海 欄目:編程語言
1.首先拋出一個問題:如果想要被Spring容器管理的Bean的路徑不再Spring Boot 的包掃描路徑下,怎么辦呢?也就是如何去加載第三方的Bean 呢?

有兩種方式可以解決:
這里我們使用Swagger的配置來做實驗。
1:首先一個Swagger的配置類:SwaggerConfig
SwaggerConfig 代碼:


@Configuration
@EnableSwagger2
public class SwaggerConfig implements EnvironmentAware {
    private static final Logger log = LoggerFactory.getLogger(SwaggerConfig.class);
    @Autowired
    private Environment env;
    @Value("${swagger.scan.package}")
    private String swaggerScanPackage;

    public SwaggerConfig() {
    }

    @Bean
    public Docket createRestApi() {
        Predicate<String> path = PathSelectors.any();
        if (Arrays.asList(this.env.getActiveProfiles()).contains("prod")) {
            path = PathSelectors.none();
        }

        log.info("####初始化createRestApi####swaggerScanPackage:" + this.swaggerScanPackage);
        log.info(path.toString());
        return (new Docket(DocumentationType.SWAGGER_2)).apiInfo(this.apiInfo()).select().apis(RequestHandlerSelectors.basePackage(this.swaggerScanPackage)).paths(PathSelectors.any()).build();
    }

    private ApiInfo apiInfo() {
        log.info("##################################初始化API信息################################################");
        return (new ApiInfoBuilder()).title("APIs").description("…………").termsOfServiceUrl("https://js.dazhi.loan.com").version("1.0").build();
    }

    @Override
    public void setEnvironment(Environment environment) {

    }
}

2:再看我的工程結構吧:
Spring Boot 之spring.factories
發現我的SwaggerConfig 類和 SpringBoot 的啟動類ConfigApplication.java 不在同一級目錄下,所以當Spring Boot 自動掃描包的時候,是掃描不到我的SwaggerConfig 的配置的,也就在控制臺沒有Swagger的打印的信息:

Spring Boot 之spring.factories

所以這時候我如果想要把SwaggerConfig 加載到Spring容器中的話 要怎么辦呢?下面介紹兩種方式
①:在Spring Boot Application 主類上 使用@Import 注解
Spring Boot 之spring.factories

啟動就可以看到Swagger的基礎信息:
Spring Boot 之spring.factories

②:現在我們將其改造一下,采用spring.factories 的方式去加載SwaggerConfig類,在resources目錄下新建一個META-INF 的目錄,然后在
新建一個spring.factories 的文件,里面的內容為:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.sg.config.SwaggerConfig

然后在把Spring Boot 啟動類上的@Import注釋掉,啟動發現也可以把SwaggerConfig加載到Spring 容器中
Spring Boot 之spring.factories

到這就完成了加載一個Spring 不能掃描到的一個類,他可以是第三方的,也可以是自己寫的,只要是Spring Boot 默認掃描路徑不能夠掃描到,都可以使用這種方式去加載!!!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳曲县| 甘南县| 崇义县| 呼图壁县| 和硕县| 化隆| 新源县| 松潘县| 儋州市| 大庆市| 双流县| 大同市| 萍乡市| 江华| 孙吴县| 饶平县| 焉耆| 湘乡市| 宁南县| 克拉玛依市| 阜阳市| 津市市| 仪陇县| 改则县| 吉木萨尔县| 承德县| 金溪县| 铁力市| 柯坪县| 海南省| 靖江市| 兴隆县| 宁乡县| 崇礼县| 洪雅县| 衡东县| 邯郸县| 珠海市| 文安县| 贡嘎县| 无锡市|