マイクロフレームワークスプリングブートは最近非常に人気があります。著者はまた、この傾向に従っており、それ以上何も言っていません。次に、構成ファイルの読み取り例を示します。
まず、POMファイルの次のJARパッケージに頼る必要があります
<Dependencies> <Dependency> <groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </dependency> <dependency> <groupid> org.springframework.boot </groupid> <artifactid> </scope> </scope> </scortid> </dependency> </dependencies>
第二に、スプリングブートスタートアップクラスが必要です
@SpringBootApplication @ENABLECONFIGURATIONPROPERTIES({PROPSCONFIG.CLASS、YMLCONFIG.CLASS})public class readApplication {public static void main(string [] args){springApplication.run(readapplication.class、args); }}そうです、 @enableconfigurationPropertiesで指摘されているpropsconfig.classとymlconfig.classは、それぞれ小道具とYML構成ファイルを読み取るクラスです。次に、読み取りプロパティとYML構成ファイルの特定の実装をそれぞれ実装します。
1.プロパティ構成ファイルを読み取ります
ClassPathの下にApplication.Propertiesファイルを配置し、一般的なコンテンツを次のように配置します。
master.ds.driverclassname = com.mysql.jdbc.driver master.ds.url = jdbc:mysql:// localhost:3306/test master.ds.username = root master.ds.password = root master.ds.filters = stat master.ds.maxactive = 20 master.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.ds.dsimizeisize master.ds.minIdle=10 master.ds.timeBetweenEvictionRunsMillis=60000 master.ds.minEvictableIdleTimeMillis=3000000 master.ds.validationQuery=SELECT 'x' master.ds.testWhileIdle=true master.ds.testOnBorrow=false master.ds.testOnReturn=false master.ds.poolPreparedStatements=true MASTER.DS.MAXOPENPREPAREDSTATEMENTS = 100 MASTER.DS.REMOVEABANDONED = TRUE MASTER.DS.REMOVEABANDONEDEDTIMEOUT = 1800 MASTER.DS.LOGABRANDED = TRUE
Props Configurationクラスを読むのは非常に簡単です。基本的にはPojo/voクラスであり、@configurationProperties Annotationをクラスにロードするだけです。
@configurationProperties(prefix = "master.ds"、locations = "classpath:application.properties")public class propsconfig {private string driverclassname;プライベート文字列URL;プライベート文字列ユーザー名;プライベート文字列パスワード。プライベート文字列フィルター。プライベート文字列maxactive;プライベートストリングイニシャルサイズ;プライベートストリングMaxWait; public string getDriverClassName(){return DriverClassName; } public void setDriverClassName(String DriverClassName){this.driverclassName = driverClassName; } public string geturl(){return url; } public void seturl(string url){this.url = url; } public string getUsername(){return username; } public void setUsername(string username){this.username = username; } public string getPassWord(){パスワードを返します。 } public void setPassword(string)パスワード){this.password = password; } public string getFilters(){return filters; } public void setFilters(string filters){this.filters = filters; } public string getMaxactive(){return maxactive; } public void setMaxactive(string maxactive){this.maxactive = maxactive; } public string getInitialSize(){return inverysize; } public void setInitialSize(String InitialSize){this.InitialSize = IniverySize; } public string getMaxWait(){return maxwait; } public void setmaxwait(string maxwait){this.maxwait = maxwait; }}ユニットテストクラス
@runwith(springjunit4classrunner.class)@springboottest(classes = readapplication.class)public class readapplicationpropstests {@autowired prive propsconfig propsconfig; @test public void testdisplaypropsvalue(){string driverclassname = propsconfig.getDriverClassName(); string url = propsconfig.geturl();文字列username = propsconfig.getusername();文字列パスワード= propsconfig.getPassWord(); string filters = propsconfig.getFilters(); string maxactive = propsconfig.getMaxactive(); string intiallsize = propsconfig.getInitialSize(); string maxwait = propsconfig.getMaxWait(); System.out.println( "driverClassName->" + driverClassName); System.out.println( "url->" + url); System.out.println( "username->" + username); System.out.println( "password->" + password); System.out.println( "Intiallsize->" + hirtingsize); System.out.println( "maxwait->" + maxwait); }}コンソールでテストコンテンツ出力を確認できます。
driverClassName-> com.mysql.jdbc.driver url-> jdbc:mysql:// localhost:3306/test username-> root password-> root Inveralsize-> 1 maxwait-> 60000
2。YML構成ファイルを読み取ります
ClassPathの下にapplication.ymlファイルを配置し、一般的なコンテンツを次のように配置します。
myProps:#customプロパティと値SimpleProp:SimplePropValue ArrayProps:1,2,3,4,5 ListProp1: - name:abc値:ABCValue -name:efgvalue値:efgvalue値: - config2value1 -config2vavlue2マップロップ:キー1:key1 key2:vally2:vally2:vally2:vall
YML構成ファイルのクラスを読み取ります。
@configurationProperties(prefix = "myprops")// application.yml public class ymlconfigの下のmypropsのプロパティ{private string simpleprop;プライベート文字列[] ArrayProps;プライベートリスト<Map <String、String >> listProp1 = new ArrayList <>(); // prop1プライベートリスト<string> listprop2 = new ArrayList <>()で属性値を受信します。 // prop2の属性値を受信しますプライベートマップ<string、string> mapprops = new hashmap <>(); // prop1 public string getsimpleProp()で属性値を受信します{return simpleProp; } public void setSimpleProp(string simpleProp){this.simpleprop = simpleProp; } public List <Map <String、String >> getListProp1(){return listProp1; } public List <String> getListProp2(){return listProp2; } public string [] getArrayProps(){return arrayprops; } public void setArrayProps(String [] ArrayProps){this.ArrayProps = arrayProps; } public map <string、string> getMapprops(){return mapprops; } public void setMapprops(map <string、string> mapprops){this.mapprops = mapprops; }}ユニットテストクラス
@runwith(springjunit4classrunner.class)@springboottest(classes = readapplication.class)public class readapplicationymltests {@autowired private ymlconfig ymlconfig; @test public void testdisplayymlvalue()throws jsonprocessingexception {system.out.println( "simpleProp:" + ymlconfig.getSimpleprop()); ObjectMapper objectMapper = new objectMapper(); System.out.println( "ArrayProps:" + objectMapper.writeValueAsstring(ymlconfig.getArrayProps())); System.out.println( "listProp1:" + objectMapper.WriteValueAsstring(ymlconfig.getListprop1())); System.out.println( "listProp2:" + objectMapper.writeValueAsstring(ymlconfig.getListprop2())); System.out.println( "mapprops:" + objectmapper.writevalueasstring(ymlconfig.getMapprops())); }}コンソールでテストコンテンツ出力を確認できます。
SimpleProp:SimplePropValue ArrayPropp:["1"、 "2" 3 "、" 4 "、" 4 "、" 5 "] listprop1:[{" name ":" abc "、" value ":" abcvalue "}、{" name ":" efg "、" value ":" efgvalue "}] MAPPROPS:{"key1": "value1"、 "key2": "value2"}驚くべきことではありませんか? SpringのApplicationContext.xmlファイルなしでスムーズに実行できます。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。