SpringBoot
学习笔记1:前后端整合
1.步骤
㈠. pom.xml
引入相关依赖,主要包括
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<!-- 为SpringBoot推荐的页面模板引擎,类似于之前的JSP --!>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
㈡. application.yml
进行模板引擎thymeleaf的配置
#thymelea模板配置
spring.thymeleaf.prefix: classpath:/templates/
spring.thymeleaf.suffix: .html
spring.thymeleaf.mode: HTML5
spring.thymeleaf.encoding: UTF-8
#热部署文件,页面不产生缓存,及时更新
spring.thymeleaf.cache: false
spring.resources.chain.strategy.content.enabled: true
spring.resources.chain.strategy.content.paths: /**
㈢. controller
包下测试整合结果
package com.neu.demo.controller;
import com.neu.demo.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Thymeleaf模板渲染测试控制器
* 此处切记不能使用@RestController,因为这个注解使用流的形式进行返回数据。
* @author ydq
* @version 1.0
* @date 2021/1/6 10:14
*/
@Controller
public class ThymeleafController {
@Autowired
private User user;
@RequestMapping(value = "show", method = RequestMethod.GET)
public String starShow(Model model){
model.addAttribute("theme", "体育运动员");
model.addAttribute("star",user);
return "show";
}
}
㈣XXXApplication
启动类一定要放在controller、service、entity等包的外层,确保所有的@Controller、@Service
注解的类都能被启动类加载(如下图工程目录结构所示)。
2.静态资源访问
工程目录结构如下
则正确的静态资源访问路径为
<link rel="stylesheet" href="/css/common.css">
<script src="/js/jquery-3.5.1.min.js"></script>
也可通过“@{路径}”
的方式访问静态资源或进行页面间的跳转
<script type="text/javascript" th:src="@{/js/jquery-3.5.1.min.js}"></script>
<a th:href="@{/offline}">离线解析</a>
不需要添加路径.../static/
,因为Springboot已经配置了默认路径/static/
。如上图最后一行,等价于<link rel="stylesheet" href="../static/../static/css/config.css">
,系统会提示找不到静态资源。