{"id":20845,"date":"2015-06-09T21:05:55","date_gmt":"2015-06-09T15:35:55","guid":{"rendered":"https:\/\/2thenew.today\/blog\/?p=20845"},"modified":"2015-06-11T11:27:32","modified_gmt":"2015-06-11T05:57:32","slug":"application-configurations-setting-in-grails-3","status":"publish","type":"post","link":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/","title":{"rendered":"Application configurations setting in Grails 3"},"content":{"rendered":"<p>Grails has done lot of changes with its <a href=\"https:\/\/2thenew.today\/grails-application-development\">latest release in Grails 3<\/a>, using configuration is one of them.<br \/>\nNow we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code.<\/p>\n<p>[code]<br \/>\nclass ExampleController {<\/p>\n<p>    GrailsApplication grailsApplication<\/p>\n<p>    def index() {<br \/>\n        render &quot;Old way ${grailsApplication.config.grails.project.groupId}&quot;<br \/>\n        render &quot;New way ${grailsApplication.config.getProperty(&#8216;grails.project.groupId&#8217;)}&quot;<br \/>\n    }<\/p>\n<p>}<\/p>\n<p>[\/code]<\/p>\n<p>Since Grails 3 is built on Spring boot so we can use Spring way of configuration as well using a simple annotation.<\/p>\n<p>[code]<br \/>\nimport org.springframework.beans.factory.annotation.Value<\/p>\n<p>class ExampleController {<\/p>\n<p>    @Value(&#8216;${grails.project.groupId}&#8217;)<br \/>\n    String groupId<\/p>\n<p>    def index() {<br \/>\n        render &quot;Controller ${groupId}&quot;<br \/>\n    }<\/p>\n<p>[\/code]<\/p>\n<p>Using the annotation based configuration the application will read configuration from the environment, system properties and the local application configuration merging them into a single object. So if you have set the environment variable e.g; GRAILS_PROJECT_GROUPID it will override the local application configuration variable.<\/p>\n<p>Writting the same variable configuration in every controller isn&#8217;t a very nice way so we can create a service which will return the config variables to us like following<\/p>\n<p>[code]<br \/>\nimport org.springframework.beans.factory.annotation.Value<\/p>\n<p>class ApplicationConfigService {<br \/>\n    static transactional = false<\/p>\n<p>    @Value(&#8216;${grails.project.groupId}&#8217;)<br \/>\n    String groupId<br \/>\n}<\/p>\n<p>class ExampleController {<\/p>\n<p>    ApplicationConfigService appConfigService<\/p>\n<p>    def index() {<br \/>\n        render &quot;Service ${appConfigService.groupId}&quot;<br \/>\n    }<\/p>\n<p>    def setConfig(String value) {<br \/>\n        appConfigService.groupId = value<br \/>\n        render &quot;Config set to ${appConfigService.groupId}&quot;<br \/>\n    }<\/p>\n<p>}<br \/>\n[\/code]<\/p>\n<p>Now we have a separate code to read and set the application variable without any methods just simple annotations.<\/p>\n<p>Hope it helps<br \/>\nReference <a href=\"http:\/\/grails.github.io\/grails-doc\/latest\/guide\/conf.html#config\">http:\/\/grails.github.io\/grails-doc\/latest\/guide\/conf.html#config<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Grails has done lot of changes with its latest release in Grails 3, using configuration is one of them. Now we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code. [code] class ExampleController { GrailsApplication grailsApplication def index() { render &quot;Old [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":8,"footnotes":""},"categories":[7,1],"tags":[1854,1509,1856,1855],"class_list":["post-20845","post","type-post","status-publish","format-standard","hentry","category-grails","category-technology","tag-application-configuration","tag-grails-3-0","tag-grailsfw","tag-new-in-grails-3-0"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Grails has done lot of changes with its latest release in Grails 3, using configuration is one of them. Now we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code. [code] class ExampleController { GrailsApplication grailsApplication def index() { render &quot;Old\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Uday Pratap Singh\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Application configurations setting in Grails 3 | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Grails has done lot of changes with its latest release in Grails 3, using configuration is one of them. Now we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code. [code] class ExampleController { GrailsApplication grailsApplication def index() { render &quot;Old\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Application configurations setting in Grails 3 | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Grails has done lot of changes with its latest release in Grails 3, using configuration is one of them. Now we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code. [code] class ExampleController { GrailsApplication grailsApplication def index() { render &quot;Old\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/#article\",\"name\":\"Application configurations setting in Grails 3 | TO THE NEW Blog\",\"headline\":\"Application configurations setting in Grails 3\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2015-06-09T21:05:55+05:30\",\"dateModified\":\"2015-06-11T11:27:32+05:30\",\"inLanguage\":\"en-US\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/#webpage\"},\"articleSection\":\"Grails, Technology, application configuration, Grails 3.0, grailsfw, new in Grails 3.0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/#listItem\",\"name\":\"Application configurations setting in Grails 3\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/#listItem\",\"position\":3,\"name\":\"Application configurations setting in Grails 3\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/\",\"name\":\"Uday Pratap Singh\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/d4c98503-ff55-4112-8fc2-e3c4fcc6fc3a_282-Uday-Pratap-Singh-PROFILEPICTURE.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Uday Pratap Singh\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/\",\"name\":\"Application configurations setting in Grails 3 | TO THE NEW Blog\",\"description\":\"Grails has done lot of changes with its latest release in Grails 3, using configuration is one of them. Now we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code. [code] class ExampleController { GrailsApplication grailsApplication def index() { render \\\"Old\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/application-configurations-setting-in-grails-3\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/#author\"},\"datePublished\":\"2015-06-09T21:05:55+05:30\",\"dateModified\":\"2015-06-11T11:27:32+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Application configurations setting in Grails 3 | TO THE NEW Blog","description":"Grails has done lot of changes with its latest release in Grails 3, using configuration is one of them. Now we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code. [code] class ExampleController { GrailsApplication grailsApplication def index() { render \"Old","canonical_url":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/#article","name":"Application configurations setting in Grails 3 | TO THE NEW Blog","headline":"Application configurations setting in Grails 3","author":{"@id":"https:\/\/2thenew.today\/blog\/author\/uday\/#author"},"publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"},"datePublished":"2015-06-09T21:05:55+05:30","dateModified":"2015-06-11T11:27:32+05:30","inLanguage":"en-US","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/#webpage"},"articleSection":"Grails, Technology, application configuration, Grails 3.0, grailsfw, new in Grails 3.0"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.today\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/2thenew.today\/blog\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/#listItem","name":"Application configurations setting in Grails 3"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/#listItem","position":3,"name":"Application configurations setting in Grails 3","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/technology\/#listItem","name":"Technology"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.today\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.today\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.today\/blog\/author\/uday\/#author","url":"https:\/\/2thenew.today\/blog\/author\/uday\/","name":"Uday Pratap Singh","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/d4c98503-ff55-4112-8fc2-e3c4fcc6fc3a_282-Uday-Pratap-Singh-PROFILEPICTURE.jpeg","width":96,"height":96,"caption":"Uday Pratap Singh"}},{"@type":"WebPage","@id":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/#webpage","url":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/","name":"Application configurations setting in Grails 3 | TO THE NEW Blog","description":"Grails has done lot of changes with its latest release in Grails 3, using configuration is one of them. Now we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code. [code] class ExampleController { GrailsApplication grailsApplication def index() { render \"Old","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.today\/blog\/author\/uday\/#author"},"creator":{"@id":"https:\/\/2thenew.today\/blog\/author\/uday\/#author"},"datePublished":"2015-06-09T21:05:55+05:30","dateModified":"2015-06-11T11:27:32+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.today\/blog\/#website","url":"https:\/\/2thenew.today\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Application configurations setting in Grails 3 | TO THE NEW Blog","og:description":"Grails has done lot of changes with its latest release in Grails 3, using configuration is one of them. Now we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code. [code] class ExampleController { GrailsApplication grailsApplication def index() { render &quot;Old","og:url":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/","og:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Application configurations setting in Grails 3 | TO THE NEW Blog","twitter:description":"Grails has done lot of changes with its latest release in Grails 3, using configuration is one of them. Now we can write application configurations in application.yml and application.groovy as well and to read these property we can need to write the following code. [code] class ExampleController { GrailsApplication grailsApplication def index() { render &quot;Old","twitter:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"20845","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-30 07:19:01","updated":"2024-02-29 10:28:56","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tApplication configurations setting in Grails 3\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.today\/blog"},{"label":"Technology","link":"https:\/\/2thenew.today\/blog\/category\/technology\/"},{"label":"Application configurations setting in Grails 3","link":"https:\/\/2thenew.today\/blog\/application-configurations-setting-in-grails-3\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/20845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/comments?post=20845"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/20845\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/media?parent=20845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/categories?post=20845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/tags?post=20845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}