我尝试按照此答案将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:网址不能为空
那我应该在哪个代码段中定义bean?
答案 0 :(得分:1)
您需要在application-{profile}.properties
中拥有数据库配置属性,尤其是它们必须以datasource.oauth
为前缀。 profile
将是您的应用程序所运行的任何配置文件(例如dev,stage,prod)。
清楚显示的错误表明特定属性文件中没有datasource.oauth.url=..
属性。