autowireあたりspringbootは直接に注入し、その後、設定&パッケージの高さが問題を生じプロパティを変更し得ることはありませ内に注入されます。春と前述のように、あなたは、XML設定ファイルに見えますが、それをSpringBootことができますか?
この方法の一つ:
一例として、最も一般的なデータソースのデータベース。一般的に直接注入されたデータソースにデータソース構成をapplication.properties HikariDataSourceの歴史の中で最速として知られているSpringBootのデフォルトのデータ・ソースに戻り、採用することができます。しかし、私はどのように内部設定を変更するとしますか?たとえば、接続プールの名前は?
1つのパッケージcom.config。
2
3インポートするjavax.sql.DataSource。
4
5輸入org.springframework.context.annotation.Bean。
6インポートorg.springframework.context.annotation.Configuration。
7
8 com.zaxxer.hikari.HikariConfig量。
9 import com.zaxxer.hikari.HikariDataSource;
10
11 @Configuration
12のパブリッククラスDataSourceConfig {
13
14 @Bean
15パブリックデータソースをgetDataSource(){
16
17 HikariConfig設定=新しいHikariConfig()。
18 config.setUsername( "名");
19 config.setPassword( "パス")。
20 config.setJdbcUrl( "URL");
21 //测试22 config.setPoolName( "あなたが私を見てください");
23
24新HikariDataSource(設定)を返します。
25}
26}
新しいカテゴリのDataSourceConfig直接設立、その後、@Configuration(コンフィグルイ新しい)メモを追加。最後に、方法、プロのテストメソッド名が簡単にできます書きます。@Beanコメントの追加、それが自動的にクラスSpringBoot設定をロードします。あなたはの自分の好きな属性をカスタマイズすることができます。
PS。SpringBootはビーンは、データソース、それの設定であることを知ってどのようにここでの質問は、ですか?プロテストメソッド名、それが返された値に基づいて、ランダムに変更することができますか?偉大な神、アドバイスしてください。
方法2:
あなたが内部の設定ファイル内の変数を設定すると仮定し、その後、直接変数を使用するクラスで定義されています。これは良く維持されています。
1パッケージcom.redis。
2
3輸入org.springframework.boot.context.properties.ConfigurationProperties。
4インポートorg.springframework.context.annotation.Bean。
5輸入org.springframework.stereotype.Component。
6
7インポートredis.clients.jedis.JedisPool。
8インポートredis.clients.jedis.JedisPoolConfig。
9
10 @Component
11 @ConfigurationProperties(接頭辞= "spring.redis")
12のパブリッククラスRedisConfig {
13
14プライベート文字列ホスト。
15プライベートint型ポート。
16プライベート文字列のパスワード。
17
18 / ** 19 *タイムアウト3000ミリ
20 * @ return21 * 2018インディアン5越21 Riを
22 * / 23 @Bean
24公衆JedisPool getJedisPool(){
25 JedisPoolConfigコンフィグ=新しいJedisPoolConfig()。
26 config.setMaxTotal(1000)。
27 config.setMaxIdle(1000)。
28 config.setMaxWaitMillis(3000)。
29 JedisPoolプール=新しいJedisPool(設定、ホスト、ポート、3000、パスワード)。
30リターン・プール。
31}
32
33}
ノートには、良いの定義は非常に便利で、直接使用することができ@ConfigurationProperties(コンフィグルイ新しいプロパティ)になります。