यह अपने विन्यास में निम्नलिखित सेम की घोषणा के द्वारा इस्तेमाल किया उपसर्ग अनुकूलित करने के लिए संभव है:
@Bean
fun propertyConfigurer() = PropertySourcesPlaceholderConfigurer().apply {
setPlaceholderPrefix("%{")
}
आप किसी भी मौजूदा कोड है कि ${...}
सिंटैक्स का उपयोग कर रहा है (वसंत बूट प्रवर्तक या @LocalServerPort
) की तरह है, तो आप घोषित करना चाहिए:
@Bean
fun kotlinPropertyConfigurer() = PropertySourcesPlaceholderConfigurer().apply {
setPlaceholderPrefix("%{")
setIgnoreUnresolvablePlaceholders(true)
}
@Bean
fun defaultPropertyConfigurer() = PropertySourcesPlaceholderConfigurer()
@Value("\${some.property}")
में की तरह डॉलर पलायन एक और संभावित विकल्प है कि कोई @Bean
घोषणा की आवश्यकता है।
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
के साथ कॉन्फ़िगर किए गए स्प्रिंग बूट परीक्षणों के लिए आप @Value("\${local.server.port}")
के बजाय @LocalServerPort
का उपयोग कर सकते हैं।
@ConfigurationProperties
विशेष रूप से कोटलिन डेटा कक्षाओं के साथ बेहतर विकल्प होगा, लेकिन वर्तमान में आपको कोटलिन कक्षाओं का उपयोग शून्य से var
गुणों के साथ करना होगा क्योंकि केवल गेटर/सेटर समर्थित हैं। आप this issue के लिए वोट दे सकते हैं या स्प्रिंग बूट 2.x में समर्थित होने में आपकी रूचि दिखाने के लिए टिप्पणी कर सकते हैं।
स्रोत
2015-11-24 00:14:47
मुझे पूरा यकीन है कि आप ऐसा करने में सक्षम नहीं होंगे, जैसा कि स्पेल में परिभाषित किया गया है (सामान्य ईएल से विरासत में मिला है)। क्या कोटलिन के पास ग्रोवी के एकल-उद्धरण के बराबर नहीं है "स्ट्रिंग नहीं करें" स्ट्रिंग? – chrylis
आप हमेशा, '@ कॉन्फ़िगरेशनप्रॉपर्टीज' का उपयोग कर सकते हैं। – chrylis