我有两个项目 - 一个基于"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,但
谢谢!
答案 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) 私有字符串名称;