1.创建一个maven的web项目
注意上面标红的部分记得选上
2.创建的maven目录结构,有缺失的目录可以自己建立目录补充
补充后
这时候一个maven的web项目创建完成
3.配置pom.xml配置文件
4.0.0 SpringBootDemo SpringBootDemo 0.0.1-SNAPSHOT war UTF-8 UTF-8 1.7 org.springframework.boot spring-boot-starter-parent 1.5.6.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools true true org.springframework.boot spring-boot-maven-plugin org.springframework.boot spring-boot-maven-plugin true
4.创建SpringBoot启动类
package com.hht;import java.util.concurrent.TimeUnit;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;import org.springframework.context.annotation.Bean;/**该注解指定项目为springboot,由此类当作程序入口自动装配 web 依赖的环境**/@SpringBootApplicationpublic class SpringbootApplication { public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); } /** * 指定tomcat的一些配置 * @return */ @Bean public EmbeddedServletContainerFactory servletFactory(){ TomcatEmbeddedServletContainerFactory tomcatFactory = new TomcatEmbeddedServletContainerFactory(); //指定端口 tomcatFactory.setPort(80); tomcatFactory.setSessionTimeout(10,TimeUnit.SECONDS); return tomcatFactory; }}
5.新建Controller接口类
package com.hht.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HhtController { @GetMapping("/helloworld") public String helloworld() { return "helloworld"; }}
6.运行第四部创建的启动类
出现这个界面就是启动成功了,可以访问 http://localhost/helloworld 成功
上面是基础配置,可以零配置启动了,下面说一下配置文件的使用和日志的使用
7.application.properties 是 springboot 在运行中所需要的配置信息,这里面配置公共信息,
spring.profiles.active=prod
其它的不同环境的配置信息配置在下面,可以快速完成不同环境的切换。
application-dev.properties:用于开发环境
server.port=8080
application-test.properties:用于测试环境
server.port=8081
application-prod.properties:用于生产环境
server.port=80
8.配置日志logback
spring boot 默认会加载 classpath:logback-spring.xml 或者 classpath:logback-spring.groovy。
如果要自定义配置文件,需要修改配置application.properties
${PATTERN} ${TEST_FILE_PATH} ${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log 100 ${PATTERN} ${PRO_FILE_PATH} ${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log 100 ${PATTERN}
其中,springProfile 标签的 name 属性对应 application.properties 中的 spring.profiles.active 的配置。
package com.hht.controller;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController { private final static Logger logger = LoggerFactory.getLogger(TestController.class); @GetMapping("/helloworld") public String helloworld() { return "helloworld"; } @GetMapping("/helloworld2") public String helloworld2() { logger.debug("测试"); return "helloworld2"; }}
9.spring boot 打war包,需要修改一下启动类。
package com.hht;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.support.SpringBootServletInitializer;/** * 该注解指定项目为springboot,由此类当作程序入口 自动装配 web 依赖的环境 **/@SpringBootApplicationpublic class SpringbootApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure( SpringApplicationBuilder application) { return application.sources(SpringbootApplication.class); } public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); }}
然后修改一下 pom.xml,新增这个
org.springframework.boot spring-boot-starter-tomcat provided
然后 Run as - maven install 成功了就ok了
然后就可以把war包放到tomcat下运行了,这里注意一下,至少用tomcat7哦
JDK版本要一致!我开始服务器用的jdk1.7,本地环境用的1.8,结果本地怎么调试运行都正常,服务器tomcat启动正常,jsp访问都正常,接口全部404,控制台也没有出现SpringBoot的标示!!!!
还有端口号,以tomcat的配置为准,而不是spring boot的配置
涉及的代码:
这一篇是通过Idea 搭建SpringBoot的博客 https://blog.csdn.net/wuyinlei/article/details/79227962