#35 springboot: external read - @Value
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package hello;
|
||||
|
||||
import hello.config.MyDataSourceEnvConfig;
|
||||
import hello.config.MyDataSourceValueConfig;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.annotation.Import;
|
||||
|
||||
@Import(MyDataSourceEnvConfig.class)
|
||||
//@Import(MyDataSourceEnvConfig.class)
|
||||
@Import(MyDataSourceValueConfig.class)
|
||||
@SpringBootApplication(scanBasePackages = "hello.datasource")
|
||||
public class ExternalReadApplication {
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package hello.config;
|
||||
|
||||
import hello.datasource.MyDataSource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Configuration
|
||||
public class MyDataSourceValueConfig {
|
||||
|
||||
@Value("${my.datasource.url}")
|
||||
private String url;
|
||||
@Value("${my.datasource.username}")
|
||||
private String username;
|
||||
@Value("${my.datasource.password}")
|
||||
private String password;
|
||||
@Value("${my.datasource.etc.max-connection:2}")
|
||||
private int maxConnection;
|
||||
@Value("${my.datasource.etc.timeout}")
|
||||
private Duration timeout;
|
||||
@Value("${my.datasource.etc.options}")
|
||||
private List<String> options;
|
||||
|
||||
@Bean
|
||||
public MyDataSource myDataSource1() {
|
||||
return new MyDataSource(url,username, password, maxConnection, timeout, options);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public MyDataSource myDataSource2(
|
||||
@Value("${my.datasource.url}") String url,
|
||||
@Value("${my.datasource.username}") String username,
|
||||
@Value("${my.datasource.password}") String password,
|
||||
@Value("${my.datasource.etc.max-connection:2}") int maxConnection,
|
||||
@Value("${my.datasource.etc.timeout}") Duration timeout,
|
||||
@Value("${my.datasource.etc.options}") List<String> options
|
||||
) {
|
||||
return new MyDataSource(url,username, password, maxConnection, timeout, options);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user