SpringFramework

众多讲解,你call谁:SpringBoot自定义Starter

2020-12-02  本文已影响0人  猿生进阶
OIP (7).jpg

一、创建stater项目

创建一个maven项目并在pom中引入Spring依赖

<?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>study.spring.boot</groupId>
 <artifactId>file-starter</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>jar</packaging>
 <name>file-starter</name>
 <description></description>
 <properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 <java.version>1.8</java.version>
 </properties>
 <dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter</artifactId>
 <version>1.5.14.RELEASE</version>
 </dependency>
 </dependencies>
</project>

编写测试类

public interface FileService {
String upload(File file);
File download(String filePath);
}

public class FileServiceImpl implements FileService {

@Override
public String upload(File file) {
 System.out.println("上传文件...");
 return null;
}
@Override
public File download(String filePath) {
 System.out.println("下载文件..."+filePath);
 return null;
}
}

** 1. 创建配置类**

@Configuration

public class FileAutoConfiguration {

@Bean
public FileService getFileService(){
 return new FileServiceImpl();
}
}

** 2. 添加配置文件**
在resource目录下创建META-INF文件夹并在META-INF下创建spring.factories文件。在文件中加入以下配置

org.springframework.boot.autoconfigure.EnableAutoConfiguration=study.spring.boot.filestarter.configuration.FileAutoConfiguration

二、使用starter

1. 创建一个SpringBoot项目,引入starter依赖

<?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>study.spring.boot</groupId>
<artifactId>starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>starter</name>
<description></description>
<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.5.14.RELEASE</version>
 <relativePath/>
</parent>
<properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 <java.version>1.8</java.version>
</properties>
<dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter</artifactId>
 </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-test</artifactId>
 <scope>test</scope>
 </dependency>
 <dependency>
 <groupId>study.spring.boot</groupId>
 <artifactId>file-starter</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 </dependency>
</dependencies>
<build>
 <plugins>
 <plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 </plugin>
 </plugins>
</build>
</project>

2. 测试

@RunWith(SpringRunner.class)

@SpringBootTest

public class StarterApplicationTests {

@Autowired
private FileService fileService;
@Test
public void starterTest() {
 fileService.download("/xxx/xxx/xx/tokyo-hot.avi");
}
}
上一篇 下一篇

猜你喜欢

热点阅读