我有一个非常简单的Spring Boot应用程序,下面详细介绍了类。
我的问题在于application.properties文件以及它们如何自动配置。我试图通过设置'spring.groovy.template.cache:false'来让Groovy模板在dev中更新,但这不起作用。我添加了另外两个属性来查看是否正在读取application.properties文件。 'logging.level.org.springframework.web:ERROR'仍会导致打印到控制台的INFO级别消息。但是,some.prop在应用程序启动时正确读入MyBean类。
我是否缺少这些属性的配置声明?
src / main / resources / application.properties:
spring.groovy.template.cache: false
logging.level.org.springframework.web: ERROR
some.prop: bob
的src /主/爪哇/样品/ MyBean.java:
@Component
public class MyBean {
@Value("${some.prop}")
private String prop;
public MyBean() {}
@PostConstruct
public void init() {
System.out.println("================== " + prop + "================== ");
}
}
和src / main / java / sample / Application.java:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
和src / main / java / sample / com / example / MainController.java
@Controller
public class MainController {
@RequestMapping(value="/login", method = RequestMethod.GET)
public ModelAndView risk(@RequestParam Optional<String> error) {
return new ModelAndView("views/login", "error", error);
}
}
答案 0 :(得分:0)
您似乎错过了扫描您的包“样本”。请确保您已扫描过它。
@ComponentScan({
"sample" })
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
此外,您的application.properties是正确的。没问题。
答案 1 :(得分:0)
看起来解决方案比我想象的要简单得多:
gradle bootRun
应该用于热重新加载模板
gradle run不起作用(所有已编译的类都只是在build /中构建)