Я создал небольшое приложение REST контроллера SpringBoot / Gradle, но я
возникли проблемы при инициализации соединения с базой данных Postgresql. Мое заявление
включает в себя следующий класс, который используется для доступа к базе данных:
@Component
public class UserSettingDAO {
@Autowired
private JdbcTemplate jdbcTemplate;
@Autowired
private DataSource dataSource;
...
}
В первой версии программы я включил в /src/main/resources/application.properties
следующее:
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://...
spring.datasource.username=...
spring.datasource.password=...
В этой версии моя служба REST успешно связана с базой данных. Тем не мение,
для согласованности с другими проектами в моей группе я изменил инициализацию
dataSource
и jdbcTemplate
следующим образом:
Сначала я удалил это свойство
определения выше от application.properties
. Затем я создал файл инициализации XML resources/resources_deployment1/spring-resource1.xml
, который включал
следующее:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:pdao_connection.properties"/>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${driverClassName}" />
<property name="url" value="${url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}"/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="dataSource"/>
</bean>
где указанный файл resources/resources_deployment1/pdao_connection.properties
содержит следующее:
driverClassName=org.postgresql.Driver
db.username=...
db.password=...
url=jdbc:postgresql://...
После этого, когда я развернул свое приложение (в Websphere Liberty) и нажал REST
служба из Chrome, она не смогла со следующим сообщением:
Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded datasource could be auto-configured.
Кажется, что в длинной цепочке ссылок есть разрыв, так что Spring делает
не имеют доступа к необходимым параметрам подключения. Как я могу это исправить, пока
сохранить параметры развертывания в подпапке resources
? В
в частности, как мне убедить операции сборки и выполнения посмотреть в
resources/resources_deployment1
папка?