【问题标题】:How do you create JDBC TokenStore in Spring Boot?如何在 Spring Boot 中创建 JDBC TokenStore?
【发布时间】:2019-01-08 04:50:06
【问题描述】:

我尝试按照这个答案将 JDBC TokenStore 添加到我的应用程序中。

https://stackoverflow.com/a/37595818/148844

它正在使用InMemoryTokenStore。我需要知道把这段代码放在哪里

@Bean(name = "OAuth")
@ConfigurationProperties(prefix="datasource.oauth")
public DataSource secondaryDataSource() {
    return DataSourceBuilder.create().build();
}

我试着把它放进去

@Configuration
@EnableAuthorizationServer
public class OAuth2Configuration extends AuthorizationServerConfigurerAdapter {

但我得到了错误

原因:org.springframework.beans.factory.BeanCreationException:创建名为“OAuth2Configuration”的bean时出错:资源依赖注入失败;嵌套异常是 org.springframework.beans.factory.BeanCurrentlyInCreationException:创建名为“OAuth”的 bean 时出错:当前正在创建请求的 bean:是否存在无法解析的循环引用?

所以我把它移到主类

@SpringBootApplication
@MapperScan("com.example.mapper")
public class ExampleApplication extends SpringBootServletInitializer {

然后它给出了一个不同的错误

原因:org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取JDBC连接;嵌套异常是 java.sql.SQLException: The url cannot be null

那么我应该把那个 sn-p 放在哪里来定义 bean?

【问题讨论】:

    标签: java spring spring-boot spring-security-oauth2


    【解决方案1】:

    您需要在application-{profile}.properties 中包含数据库配置属性,特别是它们需要以datasource.oauth 为前缀。这里的profile 将是您的应用程序在其上运行的任何配置文件(例如:dev、stage、prod)。

    显示的错误清楚地表明特定属性文件中没有datasource.oauth.url=.. 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 2017-08-20
      • 2017-10-15
      相关资源
      最近更新 更多