2016-09-23 1 views
1

Ich habe jetzt ein wenig mit Feder Boot gearbeitet, und die Datenquelle in Ihrem application.properties in jedem Beispiel habe ich gesehen, eine Art, wie diese immer konfiguriert:Wie wird Ihre Datenquelle im Spring-Boot automatisch übertragen/injiziert?

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

aber in letzter Zeit war ich versuchen Frühling soziale und die Beispiele, die ich so konfigurieren, dass in einer Konfigurationsdatei wie dies in Java gesehen zu integrieren:

@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; 
} 

Dies ermöglicht die Datenquelle Objekt später injiziert oder in die soziale Konfiguration als here gesehen autowired werden für Beispiel.

Meine Frage ist, muss ich eine Datenquelle Bean wie folgt konfigurieren, um später die Datenquelle injizieren zu können, oder wird Spring-boot das für mich behandeln?

+1

Sie müssen die dataSource-Bean nicht definieren, sie wird von Spring erstellt, Sie benötigen jedoch die definierten Eigenschaften und den Treiber im Klassenpfad. – reos

+0

Ok cool, also im Grunde die Konfig ich zuerst aufgeführt? Vielen Dank! –

Antwort

2

Kein Spring (oder Boot) -Experte, aber Spring Boot wird automatisch eine Bean vom Typ DataSource bereitstellen, wenn die Eigenschaften vorhanden sind und eine Anforderung dafür besteht. Um es zu benutzen, brauchen Sie nur @Autowire es.

+0

Ok, ich kann einfach ignorieren, dass Intellij mir sagt, dass er keine Bean vom Typ 'Datasource' finden kann? –

+1

Lesen Sie [die Dokumentation] (http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html) und führen Sie einen Testlauf Ihrer App durch. –

Verwandte Themen