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),一般用于完全的前后端分离开 ...
随机推荐
- U盘安装各种系统方法总结
一.软通牒(UltraISO) 1.安装系统CentOS-5.11-x86_64-bin-1to9 使用软通牒(UltraISO)打开CentOS-5.11-x86_64-bin-1of9.iso,启 ...
- Jmeter对jar包的调用赋值
一.前言 在我们测试接口的过程中,可能有时需要用到第三方jar包来生成一些测试数据(如有时需要对参数的输入值使用第三方jar包进行加密操作),涉及到这种的情况,普遍做法是:手动调用jar包获得需要的值 ...
- flask 定义数据库关系(一对一)
一对一 我们将使用国家和首都来演示一对一关系:每个国家只有一个首都.反过来,一个城市也只能作为一个国家的首都.一对一关系如下: 在示例程序中,Country类表示国家,Capital类表示首都.建立一 ...
- 使用sp_addlinkedserver、sp_dropserver 、sp_addlinkedsrvlogin和sp_droplinkedsrvlogin 远程查询数据
一.sp_addlinkedserver 创建链接服务器. 链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询. 在使用 sp_addlinkedserver 创建链接服务器后,可对该服 ...
- GO格式化打印
General(通用占位符)  Integer整形  Integer width(指定长度的整型,以5为例)  Float(浮点数)  String(字符串)  String Width ( ...
- window 系统虚拟机安装mac系统
前言: 我们用的是虚拟机,物理机安装一是复杂,二是兼容性实在太差,所以不推荐使用,除非你的电脑配置不够.这篇文章很长,如果想安装的话建议收藏,否则你有可能记不住步骤,我尽量缩减步骤,所以如果你想安装黑 ...
- web前端除了关注代码功能实现,还应具备web性能优化以及SEO优化的常识
web前端除了关注代码功能实现,还应具备web性能优化以及SEO优化的常识 ——不会WPO.SEO的前端工程师不是好码农 作为一名web前端工程师,除了要实现上级的要求,满足其所需要的功能,还要在平时 ...
- SIP 编解码器
编解码器,编码器 - 解码器的简称,做两个基本操作 - 首先,它将模拟语音信号转换为其等效数字形式,以便可以容易地发送. 此后,它将压缩的数字信号转换回其原始模拟形式,以便可以重放. 市场上有许多编解 ...
- luoguP1850 换教室
luoguP1850 换教室 链接 https://www.luogu.org/problemnew/show/P1850 思路 状态很显然就是f[n][k][0/1] 前i次,用了k次机会,当前是在 ...
- 微信小程序wepy开发循环wx:for需要注意
微信小程序wepy开发循环wx:for需要注意 item index值必须在wx:for之后使用 <view wx:for="{{tablist}}" class=" ...