新建一个Spring Boot项目
输入相关信息
遵循官方建议的命名规则xxx-spring-boot-starter
注意这里是jar,不是war
一直下一步,直至完成
添加所需依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
去掉build标签
这个坑卡了我好久,网上的博客几乎没有提到这个
新建一个文件配置类FileConfig
这里的注解警告暂时不用管它,一会儿新建自动配置类的时候就没了
package com.lin.filespringbootstarter;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "file")
public class FileConfig {
/**
* 上传路径
*/
private String path;
/**
* url前缀
*/
private String urlPrefix;
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getUrlPrefix() {
return urlPrefix;
}
public void setUrlPrefix(String urlPrefix) {
this.urlPrefix = urlPrefix;
}
}
新建工具类FileUtil
package com.lin.filespringbootstarter;
public class FileUtil {
/**
* 文件配置
*/
private FileConfig fileConfig;
/**
* 初始化配置
*
* @param fileConfig 配置
*/
public FileUtil(FileConfig fileConfig) {
this.fileConfig = fileConfig;
}
/**
* 进行上传
*/
public void upload() {
System.out.println("上传路径:" + fileConfig.getPath());
System.out.println("url前缀:" + fileConfig.getUrlPrefix());
}
}
新建自动配置类FileAutoConfiguration,把工具类注入进去
package com.lin.filespringbootstarter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableConfigurationProperties(FileConfig.class)
public class FileAutoConfiguration {
@Bean
public FileUtil fileUtil(FileConfig fileConfig) {
return new FileUtil(fileConfig);
}
}
在resources/META-INF下新建spring.factories
告诉spring自动配置类的位置
安装到maven仓库
现在来使用这个starter,再新建一个Spring Boot项目
把刚刚starter添加进来
<dependency>
<groupId>com.lin</groupId>
<artifactId>file-spring-boot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
在application.properties里添加配置
file.path=classpath:static/upload
file.url-prefix=http://localhost:8080/upload