2016-09-23 3 views
1

私は一種の、このように、今ビットのための春ブーツで働いている、と、データソースは、常に私が見てきたすべての例では、あなたのapplication.propertiesに設定されています。Spring-bootでデータソースをオートワイヤー/注入するにはどうしますか?

# DataSource configuration 
spring.datasource.driver-class-name=org.postgresql.Driver 
spring.datasource.url=jdbc:postgresql://localhost:5432/abcdef 
spring.datasource.username=****** 
spring.datasource.password=****** 

しかし、最近私がされています春社会を統合し、私が見てきた例は、このような設定ファイルにJavaでそれを設定しようとしている:

@Bean 
public DataSource dataSource() { 
    DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
    dataSource.setDriverClassName(env.getProperty("db.driver")); 
    dataSource.setUrl(env.getProperty("db.url")); 
    dataSource.setUsername(env.getProperty("db.username")); 
    dataSource.setPassword(env.getProperty("db.password")); 
    return dataSource; 
} 

ためhereを見られるように、これは、後に社会的な設定の中に注入またはautowiredするデータソースオブジェクトが可能になります例。

私の質問は、後でデータソースを注入できるように、このようなデータソースBeanを設定する必要があるのですか、それともSpringブートでそれを処理しますか?

+1

データソースBeanを定義する必要はありません。これはSpringによって作成されますが、クラスパスに定義されているプロパティとドライバが必要です。 – reos

+0

クールなので、基本的に最初に設定した設定ですか?ありがとう! –

答えて

2

Spring(またはBoot)エキスパートではありませんが、プロパティが存在し、要件がある場合、SpringSunはDataSource型のBeanを自動的に提供します。それを使用するにはちょうど@Autowireです。

+0

これで、Intellijは「データソース」型のBeanを見つけることができないと言って無視できますか? –

+1

[docs](http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html)を読んで、あなたのアプリを試してみてください。 –

関連する問題