deinspanjer
08/08/2018, 12:11 PM@NoArg
to their data class, but no information on what other setup is needed to get that to workCzar
08/08/2018, 12:36 PMdeinspanjer
08/08/2018, 12:36 PMCzar
08/08/2018, 12:36 PMdeinspanjer
08/08/2018, 12:37 PM@ConfigurationProperties("scanner")
data class Scanner(var backendSourceRoot: String)
Czar
08/08/2018, 12:37 PMdeinspanjer
08/08/2018, 12:38 PM@Component
class Platform(model: Model, personas: Personas, scanner: Scanner) : ViewProvider {
deinspanjer
08/08/2018, 12:38 PMCzar
08/08/2018, 12:38 PM@ConfigurationProperties("scanner")
class Scanner {
lateinit var backendSourceRoot: String
}
deinspanjer
08/08/2018, 12:39 PMdeinspanjer
08/08/2018, 12:39 PMdeinspanjer
08/08/2018, 12:40 PMCzar
08/08/2018, 12:41 PMCzar
08/08/2018, 12:42 PMdeinspanjer
08/08/2018, 12:42 PMid "org.jetbrains.kotlin.plugin.spring" version "1.2.60"
deinspanjer
08/08/2018, 12:43 PMcompile "org.springframework.boot:spring-boot-starter:2.0.3.RELEASE"
deinspanjer
08/08/2018, 12:44 PMCzar
08/08/2018, 12:44 PMScanner
in Platform
is correct? Because there are some library classes called Scannerdeinspanjer
08/08/2018, 12:45 PMdeinspanjer
08/08/2018, 12:45 PMCzar
08/08/2018, 12:45 PMdeinspanjer
08/08/2018, 12:46 PMdeinspanjer
08/08/2018, 12:47 PMCzar
08/08/2018, 12:49 PMCzar
08/08/2018, 12:49 PMCzar
08/08/2018, 12:50 PMdeinspanjer
08/08/2018, 12:50 PMCzar
08/08/2018, 12:53 PM@Component
is what you're looking fore.
Sure it is my pleasure 🙂Czar
08/08/2018, 1:01 PM@Component
...Czar
08/08/2018, 1:02 PMdeinspanjer
08/08/2018, 1:04 PM@Value
for the moment.Czar
08/08/2018, 1:06 PMCzar
08/08/2018, 1:08 PM@Value
leads to all kinds of bad habits and maintainability of the software suffers.Czar
08/08/2018, 1:09 PM@Value
sprinkled all over it, it's very hard to find and manage all those properties and switches, whereas if they were properly grouped in @ConfigurationProperties classes it would've been much cleaner and easier to deal with.deinspanjer
08/08/2018, 1:10 PMCzar
08/08/2018, 1:12 PM@Configuration
class with this: @EnableConfigurationProperties(ModuleConfig::class)
This will make it explicit and a breeze to manage and look up anything you want 🙂Czar
08/08/2018, 1:15 PM@SpringBootApplication
@EnableConfigurationProperties(ScannerConfig::class)
class KotlinArchitecture
@ConfigurationProperties("scanner")
class ScannerConfig {
lateinit var backendSourceRoot: String
}
deinspanjer
08/08/2018, 1:17 PMdeinspanjer
08/08/2018, 1:18 PMdeinspanjer
08/08/2018, 1:18 PMCzar
08/08/2018, 1:21 PM