Spring Boot (一) 基础搭建、兼容jar启动及war tomcat启动、集成Swagger2 API。
2016-10-20 11:19
846 查看
项目GitHub地址 :
https://github.com/FrameReserve/TrainingBoot
当前里程碑标记地址:
https://github.com/FrameReserve/TrainingBoot/releases
pom.xml
构建启动类:com.training.SpringBootServlet.java
Swagger REST API生成器,com.training.core.api.Swagger2
application.properties
Spring boot properties 注解方式,读取application.properties参数,com.training.core.properties.TrainingProperties
jar打包,启动方式:
pom.xml
bat启动脚本:
Tomcat war 发布方式:
pom.xml
启动Spring Boot程序,访问:http://localhost:8080/swagger-ui.html
https://github.com/FrameReserve/TrainingBoot
当前里程碑标记地址:
https://github.com/FrameReserve/TrainingBoot/releases
pom.xml
<?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.training</groupId> <artifactId>TrainingBoot</artifactId> <version>1.0.0</version> <packaging>war</packaging> <name>TrainingBoot</name> <description>The first Spring Boot project</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <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>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.2.2</version> </dependency> </dependencies> </project>
构建启动类:com.training.SpringBootServlet.java
package com.training; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.web.SpringBootServletInitializer; @SpringBootApplication public class SpringBootServlet extends SpringBootServletInitializer { // jar启动 public static void main(String[] args) { SpringApplication.run(SpringBootServlet.class, args); } // tomcat war启动 @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(SpringBootServlet.class); } }
Swagger REST API生成器,com.training.core.api.Swagger2
package com.training.core.api; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class Swagger2 { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.training")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2构建RESTful APIs") .description("更多Spring Boot相关文章请关注:http://blog.csdn.net/a286352250/") .termsOfServiceUrl("http://blog.csdn.net/a286352250/") .contact("LuWenhui") .version("1.0") .build(); } }
application.properties
file_path=/home/files/ random_number=${random.int(10)} spring.profiles.active=dev
Spring boot properties 注解方式,读取application.properties参数,com.training.core.properties.TrainingProperties
package com.training.core.properties; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class TrainingProperties { @Value("${file_path}") private String filePath; @Value("${random_number}") private Integer number; @Value("${server.port}") private String serverPort; public String getFilePath() { return filePath; } public void setFilePath(String filePath) { this.filePath = filePath; } public Integer getNumber() { return number; } public void setNumber(Integer number) { this.number = number; } public String getServerPort() { return serverPort; } public void setServerPort(String serverPort) { this.serverPort = serverPort; } }
jar打包,启动方式:
pom.xml
<packaging>jar</packaging>
bat启动脚本:
cd d: cd D:\projects\TrainingBoot\target java -jar TrainingBoot-1.0.0.jar --server.port=8080
Tomcat war 发布方式:
pom.xml
<packaging>war</packaging>
启动Spring Boot程序,访问:http://localhost:8080/swagger-ui.html
相关文章推荐
- 解决SpringBoot项目打成jar包访问不了jsp模板的问题: SpringBoot项目集成jsp模板打成war包 然后通过java -jar 命令启动访问
- springboot war放入tomcat启动怎么指定使用外部application.properties
- springboot集成swagger2,构建优雅的Restful API doc
- 使用SpringBoot搭建小型项目,集成mybatis,redis,swagger2,并部署在外部容器中。
- SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)
- 企业分布式微服务云SpringCloud SpringBoot mybatis (二十九)springboot集成swagger2,构建优雅的Restfu API
- SpringCloud SpringBoot mybatis 分布式微服务(三十)springboot集成swagger2,构建优雅的Restfu API
- Spring Boot Jar包转War包 部署到Tomcat下
- 【spring boot】6.idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到
- springboot启动嵌入式tomcat报错找不到jar包,关键字:FileNotFoundException,derbyLocale_cs.jar,StandardJarScanner.scan
- 启动springboot jar脚本和jenkins集成gitlab执行execute shell
- 【spring boot】6.idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到
- springboot集成swagger2构建RESTful API文档
- spring boot / cloud (三) 集成springfox-swagger2构建在线API文档
- springboot集成swagger2构建RESTful API文档
- SpringBoot实践之---集成Swagger2生成Restful风格的在线API
- 把spring boot项目打war包放在tomcat下启动报错java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManage
- SpringBoot打包成WAR使用外置TOMCAT启动
- Linux下搭建springboot服务(不借助tomcat启动)
- Spring Boot+Shiro+Redis(redisson)整合时,采用内嵌tomcat启动错误原因分析