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就行

posted @ 2018-07-03 17:09  有营养的yyl  阅读(...)  评论(...编辑  收藏