web.xml:
spring boot项目不会去加载 web.xml,所用的配置将在 JavaConfig、properties中进行。
关于 properties 中的配置属性可以在
spring-boot-autoconfigure-1.5.4.RELEASE.jar
包中找到(类名为 *Properties)。 常见的配置属性如果要添加监听器,可以通过实现 ServletContextInitializer 接口,在初始化 ServletContext 时添加添加监听器。
import javax.servlet.ServletContext; import javax.servlet.ServletException; import org.springframework.boot.SpringBootConfiguration; import org.springframework.boot.web.servlet.ServletContextInitializer; import com.zhongcw.test.listener.TestListener; @SpringBootConfiguration public class WebAppRootContext implements ServletContextInitializer { @Override public void onStartup(ServletContext servletContext) throws ServletException { servletContext.addListener(TestListener.class); } }
jetty:
使用内嵌 jetty 时,引入 jetty 时在 starter-web 中排除掉Tomcat,避免引包冲突。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <!-- 排除 Tomcat --> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!-- 引入jetty --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency>
jsp:
spring boot 推荐使用 thymeleaf。 默认不包括 jstl、jsp支持
<!--对jsp的支持 --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency>
热部署:
引入 devtools
依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
引入 Spring boot
插件:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
如果使用 idea 的话,还要打开项目自动编译: