spring boot 常见的配置问题
最近在自学spring boot ,新手教程网上很多,这里主要记录下配置过程中的一些疑难杂症。这些记录都是针对以下配置生成的项目

1、该项目一定要用jdk1.8
2、application.properties不被加载解决办法
SpringBootTry/src/main/resources/application.properties 的配置文件可能不会被加载。写个 server.port=8081 就能测试。若端口号未被修改成8081,则检查下项目的properties中 椭圆标记的地方是不是 写了 **,如下图

是的话,点击Edit→选中**→点击Remove→点击Finish,就好了。

3、各类文件的默认配置路径
1)localhost:8081/对应的路径就是src/main/resources/static/,且static下的所有文件都可以直接访问。
2)Controller中的方法可以并且只可以直接调用static文件夹下的文件。其余路径下的文件需要通过thymeleaf或者freemarker反射访问。
3)通过引用thymeleaf返回视图时,只能返回src/main/webapp下的文件。且数据的装载只能通过jsp或者jstl
4)通过引用freemarker返回视图时,可以返回根目录下的所有的文件(classpath:/templates/)。且数据的装载支持html和jsp。所以本文章的各项内容都是针对配置freemarker的。
5)html中引用js,img,video文件时,可将这些文件直接放入到static中,src默认对应到static文件夹下(src="/js/testFunction.js")。
4、接受和返回数据类型
1)类名前设置@Controller,告知spring当前类可以接受http请求
2)方法名前设置@RequestMapping(value="/b",method = RequestMethod.GET)。value值对应的是请求的路径,method对应的是请求的类型,请求的类型可以不设置。
3)方法名的返回值前设置@ResponseBody,提醒spring当前方法返回的是数据类型,不用去匹配视图。
4)在类名前设置@RestController等于@Controller+@ResponseBody,该类就只能返回数据类型不能返回视图了。
5)@RequestMapping(value="/b/{name}")可以匹配所有的/d/*请求,并且把*赋值给name对象。可在方法中直接调用。
6)请求的url上的属性值,只要与相对应的处理请求的方法的属性值命名一致,则会自动加载。
7)post请求传入的json类的数据,可以写一个java bean,属性名称与json的key值一一对应,即可自动装载数据到java bean 的引用变量中。
5、返回视图
1)返回视图时,方法名的返回值前不加@ResponseBody。
2)返回类型使用ModelAndView,可同时返回视图和数据,方便前端控制器加载。
3)前端页面直接使用${"KEY"}就可以使用ModelAndView中的值
6、其余方法
1)java bean的类名上使用@Repository(value="people"),要使用该类时,直接在类的引用变量上使用 @Resource(name="people") ,相当于自动new了一个people对象。若不设置value值,则默认当前class类首字母小写作为引用的别名。@Resource(name="peopleT")也可以写在set方法上,更符合封装的特性。
上诉方法的测试项目下载地址:github下载地址,点击Download就行
spring boot 常见的配置问题的更多相关文章
- spring boot 常见的第三方集成
spring boot基于1.x. 一 集成redis 1.1 配置 spring.redis.host = localhost spring.redis.port = 6379 spring.red ...
- spring boot 常见三十四问
Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一 Spring Boot.Spring MVC 和 Spring 有什么区别 ...
- Spring Boot常见配置及错误
一.SpringBoot常见配置 (1)SpingBoot与MyBatis集成时跟踪SQL语句 log4j: logger: java: sql: ResultSet: TRACE (2)日志跟踪 d ...
- Spring Boot 常见标签
@Controller(value=“名字”,descripation="描述",tags="具体" ) @RestController控制器(path=&qu ...
- spring boot由浅入深(二)spring boot基本命令及操作
一 spring常见注解 @RestController和@RequestMapping说明: @RestController.这被称为一个构造型(stereotype)注解.它为阅读代码的人们提供建 ...
- 75. Spring Boot 定制URL匹配规则【从零开始学Spring Boot】
在之前有一篇文章说了,博客名称从原来的<从零开始学Spring Boot>更改为<Spring Boot常见异常汇总>,后来写了几篇文章之后发展,有些文章还是一些知识点,所以后 ...
- 60. Spring Boot写后感【从零开始学Spring Boot】
从2016年4月15日到2016年7月20日经历长达3个月的时间,[从零开始学习Spring Boot]系列就要告一段落了.国内的各种资源都比较乱或者是copy 来copy去的,错了也不加以修正下,导 ...
- Spring Boot 2.X 对 web 的开发支持(二)
Spring Boot 2.X 对 web 的支持开发 上章节的 Spring Boot 的入门案例,我们感受到 Spring Boot 简单的配置即可运行项目. 今天了解 Spring Boot 对 ...
- spring boot 搭建web项目常见五种返回形式
在web项目中一般常见的五种返回形式: 返回页面,使用模板引擎,spring boot推荐使用thymeleaf,类似的还有freemarker等. 返回字符串(json),一般用于完全的前后端分离开 ...
随机推荐
- 对字符串md5加密
public String getMD5(String str) { try { // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.getInstan ...
- Linux环境变量具体内容介绍
在Linux中,环境变量是一个很重要的概念.环境变量可以由系统.用户.Shell以及其他程序来设定. 变量就是一个可以被赋值的字符串,赋值范围包括数字.文本.文件名.设备以及其他类型的数据. 下面的例 ...
- JavaScript 声明提前机制
声明提前机制 在JavaScript存在着这样一种预处理机制,即浏览器在解析JS代码时会将var声明的变量和function声明的函数提升到当前作用域的顶部.但是解析JS代码时对var和functio ...
- Jmeter登录后Session自动共享与多线程组并行
在接口测试中,出于安全考虑接口是需要session才能访问.另外在此基础上,我们还可能模拟不同的客户端登录,需要并行运行移动端线程组. 实现session共享1)修改jmeter安装目录bin下的jm ...
- Rest和Restful & http
Rest :Representational State Transfer 表述性状态转移 Restful: Rest+ful形容词,遵循Rest原则的应用程序或设计 Rest原则: 1. 网络上的所 ...
- 基于token的身份验证JWT
传统身份验证的方法 HTTP 是一种没有状态的协议,也就是它并不知道是谁是访问应用.这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过下回这个客户端再发送请求时候,还得再验证一下 ...
- BZOJ 1269 文本编辑器editor(伸展树)
题意 https://www.lydsy.com/JudgeOnline/problem.php?id=1269 思路 伸展树(\(\text{splay}\))功能比较齐全的模板,能较好的体现 \( ...
- jQuery validator plugin之概要
jQuery validator 主页 github地址 demo学习 效果: Validate forms like you've never validated before! 自定义Valida ...
- Git,Github和Gitlab简介和使用方法
什么是Git Git是一个版本控制系统(Version Control System,VCS). 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 多年前,我在法国做第一 ...
- Pandas 基础(11) - 用 melt 做格式转换
melt 也可以用来做数据格式转换, 请看下图, 我们可以用 melt 把左表转成右表的格式: 首先引入文件(已上传): df = pd.read_csv('/Users/rachel/Sites/p ...