Aşağıdaki sınıf var:Spring Boot'da özellik enjeksiyonu çalışması için gerekli ve yeterli koşullar nelerdir?
dependencies {
compile('org.springframework.boot:spring-boot-starter-jdbc')
compile('org.springframework.boot:spring-boot-configuration-processor')
application.properties
aşağıdaki satırı var:
@ConfigurationProperties
public class Database {
...
@Value("${database.driver-class-name}")
public void setDriverClassName(String driverClassName) {
...
}
build.gradle
aşağıdaki bağımlılıklar var
database.driver-class-name=com.mysql.jdbc.Driver
Test sınıfına aşağıdaki ek açıklamaları var :
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(DatabaseTest.Context.class)
@EnableConfigurationProperties
public class DatabaseTest {
@Configuration
public static class Context {
@Bean
public Database database() {
Database ans = new Database();
return ans;
}
}
@Autowired
public Database database;
ve yine de özellik dosyasından özellik enjekte etmez ve bazı hata iletisiyle yemin eder.
Başka ne istiyor?
Özellik dosyasından püskürtme özellikleri için gerekli ve yeterli koşullar nelerdir?
udpate
Numune deposu: https://github.com/dims12/MinimalRequrementsToInjectPropertiesFromFile
Fasulyeyi '@ Bileşen 'ile eklediğimde,' Bağlam 'dan kaldırmalı mıyım? – Dims
Bunu yaparsanız, 'Context' iç sınıfını tamamen kaldırabilirsiniz. – luboskrnac
Yine de çalışmıyor. Sınıfı tamamen kaldırırsam, yutmaya gerek kalmadan yapılandırılamaz. Boş sınıfı koruyup '@ ComponentScan' ifadesini eklediysem çalışır, ancak özellikleri enjekte etmez. – Dims