当前位置: 首页 > 知识库问答 >
问题:

Bean没有从ConfigurationProperties提供前缀

秦奇
2023-03-14

我将Application类增强为Configuration类,并将其标记为@Component,以便提供的值可以在使用代码中自动安装:

@Configuration
@EnableScheduling
@Component
public class BinancebotApplication implements CommandLineRunner {

    @Bean
    @Primary
    @ConfigurationProperties(prefix="chartpatternsignal.datasource")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }

我尝试了自动连接上述数据源:

@Configuration
public class ChartPatternSignalDaoImpl {
  @Qualifier("chartpatternsignal")
  @Autowired
  DataSource dataSource;

在我的pom中。xml我使用了spring boot starter数据jpa

但它不起作用:

为什么?

共有1个答案

徐皓君
2023-03-14

您正在调用限定符(“chartpatternsignal”),但是您的数据源并没有这样命名。

它将是@限定符(“主数据源”)

尝试:

@Component
public class ChartPatternSignalDaoImpl {

  @Qualifier("primaryDataSource")
  @Autowired
  DataSource dataSource;

或:

@Configuration
public class BinancebotConfiguration  {

    @Bean
    @Primary
    @Qualifier("myLovelyDataSource")
    @ConfigurationProperties(prefix="chartpatternsignal.datasource")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }

}

然后通过限定符自动写入:

  @Qualifier("myLovelyDataSource")
  @Autowired
  DataSource dataSource;

Springboot文档展示了如何使用@ConfigurationProperties注释创建DataSource

https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.data-访问权限

应用程序类

@SpringBootApplication
@EnableScheduling
public class BinancebotApplication implements CommandLineRunner {


}

配置类

@Configuration
public class MyDataSourceConfiguration {

    @Bean
    @ConfigurationProperties("app.datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }

}

服务级别

@Service
public class BinanceService {

   @Autowired
   DataSource dataSource;

}

应用属性

app.datasource.url=jdbc:h2:mem:mydb
app.datasource.username=sa
app.datasource.pool-size=30
 类似资料:
  • 问题内容: 我只是熟悉Apache JackRabbit。我已经完成了一些用于文档管理的多用户存储库。 如果有人同时使用它们,您能回答这些问题吗? ModeShape是否以某种方式链接到JBoss?我对JBoss AS或任何其他JBoss工具没有太多经验。我看到了对tomcat的支持,但是有很多JBossy的东西 文档说将来的发行版应该具有UI集成,这还有很长的路要走吗?它将是什么样的UI集成?是

  • 从angular 4.4升级到5.0,并将所有HttpModule和Http更新到HttpClientModule后,我开始出现此错误。 我还再次添加了HttpModule,以确保这不是由于某些依赖关系造成的,但它并不能解决问题 应用程序内。模块,我已正确设置 我不知道这个错误是从哪里来的,或者我不知道如何去了解它。我也有一个警告(也放在下面),可能是相关的。 警告信息:

  • 我正在使用Yeoman+Angular Generator为我的应用程序,我一直在努力地跑来跑去与Jasmine相处!这就是我被困住的地方。我希望能够在Jasmine测试中使用jQuery选择器。我已经安装了和包。然后我为bower安装了它(我是新来的,我不知道应该为什么安装什么!)。我已经在中手动添加了路径,但仍然得到这样的消息: 这就是我的因果报应配置的样子:

  • 我有一个问题加载类到Angular组件。很长一段时间以来,我一直试图解决这个问题;我甚至尝试将它加入到一个文件中。我拥有的是: 一个pplication.ts 服务/名称服务。ts 我一直收到一条错误消息,说。 有人能帮我发现代码的问题吗?

  • 我对spring boot和创建我的第一个应用程序非常陌生。创建数据源时,我使用了带有前缀的@ConfigurationProperties和要从Application.Property中读取的属性。 但是,这个设置似乎对我不起作用,我的程序没有运行。 我的pom.xml文件包含: 我的存储库类: 我的主要类: 请让我知道如果我需要提供任何其他信息以及。

  • 问题内容: 当我有嵌套在根组件下的组件时,我无法实例化我的应用程序,该组件在其构造函数中使用。 我想知道为什么这种行为是非法的。假设我想在班级中使用该类,而只是在班级中引用该类。这似乎是不可能的。 创建层次结构的正确方法是什么? 谢谢你 PLNKR:http ://plnkr.co/edit/5Z0QMAEyZNUAotZ6r7Yi?p=preview 问题答案: 您可以直接将父组件注入到组件中,