目录
IDEA使用Spring initializr 创建SpringBoot项目超时
IDEA使用Spring initializr 创建SpringBoot项目超时
创建时用阿里的service url: https://start.aliyun.com
自定义starter
面试时,面试官可能会问你如何 实现一个自定义的 SpringBoot starter,或者说,springboot 如何加载我们自己的 jar 包
1、starter启动原理
- starter-pom引入 autoconfigurer 包
- autoconfigure包中配置使用 META-INF/spring.factories 中 EnableAutoConfiguration 的值,使得项目启动加载指定的自动配置类
- 编写自动配置类 xxxAutoConfiguration -> xxxxProperties
- @Configuration
- @Conditional
- @EnableConfigurationProperties
- @Bean
- ......
引入starter --- xxxAutoConfiguration --- 容器中放入组件 ---- 绑定xxxProperties ---- 配置项
2、自定义starter
创建一个名为 boot-09-customer-starter 空工程,工程下面新建两个模块
- hello-spring-boot-starter(场景启动器,普通Maven工程),
- hello-spring-boot-starter-autoconfigure(自动配置包,需用用到Spring Initializr创建的Maven工程)。
- hello-spring-boot-starter无需编写什么代码,只需让该工程引入hello-spring-boot-starter-autoconfigure依赖:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo</groupId>
<artifactId>hello-spring-boot-starter</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!--引入自动配制包-->
<dependency>
<groupId>com.demo</groupId>
<artifactId>hello-spring-boot-starter-autoconfigure</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
&