Spring Boot没有使用spring.groovy.template.cache的application.properties

时间:2015-06-29 14:12:05

标签: spring groovy spring-boot

我有一个非常简单的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);
    }

}

2 个答案:

答案 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 /中构建)

相关问题