{"action":"closed","issue":{"url":"https://api.github.com/repos/spring-projects/spring-boot/issues/3198","labels_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/3198/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/3198/comments","events_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/3198/events","html_url":"https://github.com/spring-projects/spring-boot/issues/3198","id":87023203,"number":3198,"title":"spring.groovy.template.configuration.* properties not recognized","user":{"login":"dima767","id":12629,"avatar_url":"https://avatars.githubusercontent.com/u/12629?v=3","gravatar_id":"","url":"https://api.github.com/users/dima767","html_url":"https://github.com/dima767","followers_url":"https://api.github.com/users/dima767/followers","following_url":"https://api.github.com/users/dima767/following{/other_user}","gists_url":"https://api.github.com/users/dima767/gists{/gist_id}","starred_url":"https://api.github.com/users/dima767/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dima767/subscriptions","organizations_url":"https://api.github.com/users/dima767/orgs","repos_url":"https://api.github.com/users/dima767/repos","events_url":"https://api.github.com/users/dima767/events{/privacy}","received_events_url":"https://api.github.com/users/dima767/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/spring-projects/spring-boot/labels/regression","name":"regression","color":"eb6420"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/spring-projects/spring-boot/milestones/41","html_url":"https://github.com/spring-projects/spring-boot/milestones/1.2.5","labels_url":"https://api.github.com/repos/spring-projects/spring-boot/milestones/41/labels","id":1146043,"number":41,"title":"1.2.5","description":"","creator":{"login":"philwebb","id":519772,"avatar_url":"https://avatars.githubusercontent.com/u/519772?v=3","gravatar_id":"","url":"https://api.github.com/users/philwebb","html_url":"https://github.com/philwebb","followers_url":"https://api.github.com/users/philwebb/followers","following_url":"https://api.github.com/users/philwebb/following{/other_user}","gists_url":"https://api.github.com/users/philwebb/gists{/gist_id}","starred_url":"https://api.github.com/users/philwebb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philwebb/subscriptions","organizations_url":"https://api.github.com/users/philwebb/orgs","repos_url":"https://api.github.com/users/philwebb/repos","events_url":"https://api.github.com/users/philwebb/events{/privacy}","received_events_url":"https://api.github.com/users/philwebb/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":12,"state":"open","created_at":"2015-06-02T20:49:59Z","updated_at":"2015-06-10T16:54:11Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2015-06-10T16:14:50Z","updated_at":"2015-06-10T16:54:11Z","closed_at":"2015-06-10T16:54:11Z","body":"Boot `1.2.4`. Simple app:\r\n\r\n```groovy\r\nbuildscript {\r\n    ext {\r\n        springBootVersion = '1.2.4.RELEASE'\r\n    }\r\n    repositories {\r\n        jcenter()\r\n    }\r\n    dependencies {\r\n        classpath(\"org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}\")\r\n        classpath(\"io.spring.gradle:dependency-management-plugin:0.5.1.RELEASE\")\r\n    }\r\n}\r\n\r\napply plugin: 'groovy'\r\napply plugin: 'spring-boot'\r\napply plugin: 'io.spring.dependency-management'\r\n\r\njar {\r\n    baseName = 'cas-overlay-initializr'\r\n    version = '0.0.1-SNAPSHOT'\r\n}\r\nsourceCompatibility = 1.8\r\ntargetCompatibility = 1.8\r\n\r\nrepositories {\r\n    jcenter()\r\n}\r\n\r\n\r\ndependencies {\r\n    compile(\"org.springframework.boot:spring-boot-starter-groovy-templates\")\r\n    compile(\"org.springframework.boot:spring-boot-starter-thymeleaf\")\r\n    compile(\"org.springframework.boot:spring-boot-starter-web\")\r\n    compile(\"org.codehaus.groovy:groovy\")\r\n    testCompile(\"org.springframework.boot:spring-boot-starter-test\")\r\n}\r\n\r\ntask wrapper(type: Wrapper) {\r\n    gradleVersion = '2.4'\r\n}\r\n```\r\n\r\nand `application.properties`\r\n\r\n`spring.groovy.template.configuration.use-double-quotes=true`\r\n\r\nexplodes with this:\r\n\r\n```java\r\nCaused by: org.springframework.beans.NotReadablePropertyException: Invalid property 'configuration[use-double-quotes]' of bean class [org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateProperties]: Bean property 'configuration[use-double-quotes]' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?\r\n\tat org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:731)\r\n\tat org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:948)\r\n\t... 70 common frames omitted\r\n```\r\n\r\naccording to this bean in `GroovyTemplateAutoConfiguration`:\r\n\r\n```java\r\n@Bean\r\n\t\t@ConditionalOnMissingBean(GroovyMarkupConfig.class)\r\n\t\t@ConfigurationProperties(prefix = \"spring.groovy.template.configuration\")\r\n\t\tpublic GroovyMarkupConfigurer groovyMarkupConfigurer() {\r\n\t\t\tGroovyMarkupConfigurer configurer = new GroovyMarkupConfigurer();\r\n\t\t\tconfigurer.setResourceLoaderPath(this.properties.getPrefix());\r\n\t\t\tconfigurer.setCacheTemplates(this.properties.isCache());\r\n\t\t\tif (this.templateEngine != null) {\r\n\t\t\t\tconfigurer.setTemplateEngine(this.templateEngine);\r\n\t\t\t}\r\n\t\t\treturn configurer;\r\n\t\t}\r\n```\r\n\r\nit is supposed to work."}}