2016-09-23 2 views
1

Я работаю с Spring ботинке для немного сейчас, и источник данных всегда настраивается в ваших application.properties в каждом примере я видел, вроде этого:Как вы autowire/вводите свой источник данных в 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=****** 

Однако, в последнее время я был пытаясь интегрировать Spring Social, и примеры, которые я видел его настроить в 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; 
} 

Это позволяет для объекта источника данных, чтобы потом вводить или autowired в социальной конфигурации, как видно here для пример.

Мой вопрос в том, нужно ли мне настроить компонент данных таким образом, чтобы он мог позже вводить источник данных, или будет ли использовать Spring-boot?

+1

Вам не нужно определять компонент dataSource, он будет создан Spring, но вам нужны указанные свойства и драйвер в пути к классам. – reos

+0

Хорошо круто, так что в основном конфигурация, которую я перечислил первым? Благодаря! –

ответ

2

Не является экспертом Spring (или Boot) любым способом, но Spring Boot будет автоматически предоставлять Bean типа DataSource, если свойства есть, и есть потребность в нем. Чтобы использовать его, вы просто @Autowire.

+0

Итак, я могу просто игнорировать Intellij, говорящий мне, что он не может найти bean-тип типа «Datasource»? –

+1

Прочитайте [документы] (http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html) и выполните пробный запуск вашего приложения. –

Смежные вопросы