Spring Boot不会加载application.properties和Velocity模板

时间:2014-11-06 13:36:44

标签: spring-boot

我有两个项目 - 一个基于"get started" example,第二个来自spring-boot-samples。我使用Maven构建并从Eclipse运行。 " spring-boot-samples" project加载application.properties并显示Controller命名的Velocity模板。 "开始"没有。

application.properties(src / main / resources / application.properties)和模板(src / main / resources / templates / **)的相同文件结构,两者都将src / main / resources设置为"使用作为源文件夹"在Eclipse中。相同的工作空间,相同的JRE。

我比较了.classpath和pom.xml,但没有发现任何可疑之处。显然存在差异,但我必须在哪里看?

PS:我可以通过@PropertySources加载application.properties,但

  • 这不应该是必要的(见那里的评论)
  • 在" spring-boot-samples"中没有必要
  • 项目
  • 对Velocity模板没有帮助

谢谢!

2 个答案:

答案 0 :(得分:0)

啊,一个重要的区别:

@RestController直接传递响应,意思是:不是解析模板的名称,而是将String传递给浏览器。原因应该是@ResponseBody:

  

指示方法返回值的注释应绑定到Web响应主体。

使用@Controller代替解决Velocity问题。

编辑:

要关闭此线程:我将继续使用@PropertySources来获取application.properties,但没有它就无法工作。仅在类路径中使用application.properties是不够的。

答案 1 :(得分:0)

要在spring boot中从application.properties获取值,我们需要指定一些注释。

  • application.properties必须位于路径src / main / resources

  • 类必须包含@RestController注释

    @Value(" $ {名称}&#34) 私有字符串名称;