- Spring云配置服务器启动于application.properties:
server.port:8888
spring.application.name=test-config-server
spring.cloud.config.server.git.uri=https://gitlab.com/pearsontechnology/gpt/sms/sms-micro-services/config-server.git
spring.cloud.config.server.git.default-label=develop
#Private repo. access credentials
spring.cloud.config.server.git.username=xxx
spring.cloud.config.server.git.password=xxxx
spring.cloud.config.server.git.clone-on-start=true
spring.cloud.config.profile=dev
启动config-client时,* 无法配置数据源:未指定'url'属性,无法配置嵌入式数据源 *
我的spring boot、spring-cloud和依赖项的版本来自pom.xml,如下所示:
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.2</version>
<java.version>17</java.version>
<spring-cloud.version>2021.0.3</spring-cloud.version>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
config-client应用程序属性:
spring.application.name=systems-lookup-service
spring.cloud.config.profile=dev
spring.config.import=optional:configserver:
server.port=8081
与数据源相关的属性,如url等,需要从systems-lookup-service-dev.propertiesGit上托管的www.example.com获取。
custom.url=jdbc:oracle:thin:@localhost:1998/smscert
custom.username=smscert
custom.password=go#salt
custom.driverClassName=
config-client中的DAO类访问数据库:
public class XXDaoImpl implements XXDao {
private JdbcTemplate jdbcTemplate;
@Autowired(required=false)
private DataSourceConfig config;
@Autowired
public SystemDaoImpl(JdbcTemplate jdbcTemplateIn){
final DataSource dataSource = DataSourceBuilder.create()
.driverClassName(config.getDriverClassName())
.url(config.getUrl())
.username(config.getUsername())
.password(config.getPassword())
.build();
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
...............
}
@Component
@ConfigurationProperties("custom")
public class DataSourceConfig {
private String url;
private String username;
private String password;
//@Value("${greeting.message}")
private String driverClassName;
....
}
1条答案
按热度按时间rryofs0p1#
我相信您遵循第一个引导为您的中央云注册这样做,您需要以下工件与您的客户端服务
pom
文件。将以下属性添加到客户端服务属性文件
application.prop
中在中央云配置的主类中添加注解
@EnableConfigServer
,并在其中的pom
文件中添加以下工件将以下属性附加到中央云配置属性文件
最后,按照命名约定
servicename-profile
在gitrepo中添加客户端服务属性。加分
您可以考虑使用spring cloud boss,用于热重新加载配置,而不是重新启动服务来再次握手,请在here中了解更多信息。