Spring Boot集成thymeleaf/jsp、热部署

1,Spring Boot简介。

简介:Springboot是牺牲项目的自由度来减少配置的复杂度。
1)目录位置固定:比如Application.java的放置位置(application.java 文件不能直接放在main/java文件夹下,必须要建一个包把他放进去。),html、static、properties、test文件等
2)内置了tomcat服务器。
3)构建rest API。使用@RestController注解。 -> @Controller + @ResponseBody 当我们后台写一些数据接口,就可以借助它来编写restful风格的api。
4)restful:是一种规范,或者说一种命名风格。简单的比如添加、删除、获取信息、获取列表等,/book/add、/book/delete、/book/{id}/info、/book/list等。

2,Spring Boot框架搭建。

1)官网下载项目框架代码。

Paste_Image.png

2)选择指定的构建环境,项目组以及项目名, 选择项目依赖(可选)。
Paste_Image.png

3)将框架代码导入IDE。推荐使用IDEA工具。
Paste_Image.png

Paste_Image.png

Paste_Image.png

4)项目结构
java:业务代码。
springboot的启动类:直接放在group路径下,com.hzq,其余package如controller、service、dao等。
静态资源:js,images等。
templates模板:(页面)thymeleaf、Jsp。
Paste_Image.png

5)启动Spring boot项目。(Springboot内置了tomcat,已bootRun的方式启动即可。)
Paste_Image.png

找不到gradle。
Paste_Image.png

./gradlew bootRun & 或者 打war包部署到tomcat中。
6)未关闭代理:访问localhost:8080或者120.0.0.1:8080可能会访问不了,ERR_EMPTY_RESPONSE。

3,SpringBoot集成Thymeleaf。

1)依赖引入。
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
2)配置文件。
spring.thymeleaf.cache=false//用于页面热部署。
spring.thymeleaf.encoding=utf-8
spring.thymeleaf.mode=HTML5
server.port=8009
3)配置文件可以使用application.properties
spring.profiles.active=local //指定使用哪个配置文件。 正常情况下,local、dev、prod的配置文件是不同的。
application-local.properties
application-dev.properties
application-prod.properties
4)Springboot页面热部署。
maven
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>

gradle
bootRun {
addResources = true
}

4,springboot集成jsp。

1)添加依赖。
compile('org.apache.tomcat.embed:tomcat-embed-jasper')添加jsp支持的类。
jasper依赖有加provided和注释掉该依赖范围运行的效果不大一样,
2)配置文件
application.properties文件加上如下配置。
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
3)在webapp下建立目录。
/WEB-INF/jsp
/resources 资源文件夹
引用资源。
<c:set var="ctx" value="${pageContext.request.contextPath}/resources"/>
4)将thymeleaf相关的依赖以及配置去掉。

5,其余梳理。

1)基于maven和gradle来构建的项目,会涉及到group以及artifact。

  项目eg: org.apache.commons
  1, group一般指定域。org.apache就是这个项目的group。指定了项目的域。我们命名一般是com.company(公司名称)。
  2,artifact一般指定项目名。命名代表项目的含义。
  3,当把项目发布到maven仓库中的时候,我们需要通过『坐标』来找到该项目。例如 com.company1.test项目。

2)本地项目提交到github。

Paste_Image.png

Paste_Image.png

git init
git add
git commit
git remote add origin git@github.com:scuhzq/springbootjsporthyme.git
git push -u origin master

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容