首页 文章

Spring Autowired在BeanConfig中不起作用

提问于
浏览
-1

我有一个运行的Spring服务器,到目前为止我没有通过现场注入自动装配我的Beans的问题 . 由于某些原因,这在某些情况下不起作用 . 我想实现我的DatabaseConfiguration在Database类中自动装配 . DatabaseConfiguration是从应用程序属性加载的

@Component
@ConfigurationProperties(prefix = "databaseConfiguration")

注释 . 它在我的BeanConfig中成功加载,我已经自动装配了这个类 . 现在我有一个数据库的bean定义,如下所示:

@Bean
public Database getDatabase() {
    return new Database();
}

在Database类中,有一个Configuration的字段定义,如下所示:

@Autowired
DatabaseConfiguration config;

当调用getDatabase()函数时,我验证了DatabaseConfiguration在BeanConfig类中获得了正确的自动装配,但由于某种原因,它在创建的数据库实例中为null .

Database类位于project.databases包中,DatabaseConiguration和BeanConfiguration位于project.config包中 .

我的主应用程序位于项目包中,并使用这些注释进行注释

@EnableScheduling
@ComponentScan
@EnableAutoConfiguration(exclude = { MongoAutoConfiguration.class, MongoDataAutoConfiguration.class })

有没有人知道为什么自动装配在这里不起作用?

1 回答

  • 0

    您手动创建数据库 - return new Database(); . Spring没有机会自动装配任何东西 .

    您应该让Spring创建bean或手动分配配置 .

相关问题