Spring 서버가 실행 중이며 지금까지 필드 주입을 통해 Bean을 자동으로 호출하는 데 문제가 없었습니다. 어떤 이유로이 상황은 특정 상황에서 효과가 없습니다. 내 DatabaseConfiguration이 Database 클래스 안에 자동으로 구현되도록하고 싶습니다. DatabaseConfiguration은Spring Autowired가 BeanConfig에서 작동하지 않습니다.
@Component
@ConfigurationProperties(prefix = "databaseConfiguration")
주석이있는 응용 프로그램 속성에서로드됩니다. 이 클래스를 autowired 한 BeanConfig 내에서 성공적으로로드됩니다. 데이터베이스 클래스 내부
@Bean
public Database getDatabase() {
return new Database();
}
과 같이 구성에 대한 필드 정의가 : 지금은 콩과 같은 데이터베이스에 대한 정의를 가지고있는 getDatabase() 함수가 호출
@Autowired
DatabaseConfiguration config;
는, 나는 DatabaseConfiguration이 BeanConfig 클래스 내에서 올바르게 autowired 된 것을 확인했다. 그러나 어떤 이유로 그것은 생성 된 데이터베이스 인스턴스 안에서 null이다.
데이터베이스 클래스가 project.databases 패키지 안에 있으면 DatabaseConiguration과 BeanConfiguration은 project.config 패키지 내에 있습니다.
내 주요 응용 프로그램은 프로젝트 패키지 내부에 이러한 주석
의 주석을 붙일 수@EnableScheduling
@ComponentScan
@EnableAutoConfiguration(exclude = { MongoAutoConfiguration.class, MongoDataAutoConfiguration.class })
사람이 이유를 autowiring 나던 작품은 여기에 단서가 있습니까?