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),一般用于完全的前后端分离开 ...
随机推荐
- [openjudge-动态规划]Maximum sum
题目描述 题目原文 描述 Given a set of n integers: A={a1, a2,-, an}, we define a function d(A) as below: d(A)=m ...
- percona-toolkit工具的使用
percona-toolkit是一组高级命令行工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等 percona-toolkit 源自 Maatkit 和 ...
- Dockerfile的HEALTHCHECK指令
容器实例的状态虽然是up,但不能保证里面的进程一定是监控的.我门可以借助HEALTHCHECK指令来做监控状态检查 HEALTHCHECK指令有两种形式: HEALTHCHECK [OPTIONS] ...
- 面试常问Spring IOC,不得不会。
广义的 IOC IoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”. 两种实现: 依赖查找(DL)和依赖注入(DI). IOC 和 DI .DL 的关系( ...
- 3. Dubbo原理解析-Dubbo内核实现之动态编译 (转)
转载自 斩秋的专栏 http://blog.csdn.net/quhongwei_zhanqiu/article/details/41577159 我们运行的Java代码,一般都是编译之后的字节码 ...
- 安装GDB-ImageWatch ,在QT中查看图像
GDB_ImageWatch是在Linux下基于QT编写图像处理程序的调试程序. 由于并非像ImageWatch一样由官方提供,而是在github上以代码的方式进行提供,我们在使用的时候需要自己编译, ...
- 谷歌机翻英文字幕输出(Subtitle Edit)
Subtitle Edit 下载地址(https://github.com/SubtitleEdit/subtitleedit/releases/tag/3.5.0) 添加字幕文件后,点下图的Auto ...
- Python2.x与3.x对比
1.默认支持中文 2.不再兼容2.x 3.核心语法调整 4.新特性默认只支持3.x
- 深入探访支付宝双11十年路,技术凿穿焦虑与想象极限 | CYZONE特写
小蚂蚁说: 双11十年间,交易规模的指数级增长不断挑战人们的想象力,而对蚂蚁技术团队来说,这不仅是一场消费盛宴,而是无数次濒临压力和焦虑极限的体验,更是技术的练兵场.如今双11对蚂蚁金服而言,已经绝不 ...
- php向mariaDB插入数据时乱码问题解决 --- mysqli_set_charset(设置默认字符编码)
参考文章: https://www.w3schools.com/php/func_mysqli_set_charset.asp http://php.net/manual/zh/mysqli.set- ...