كانت حذاء الربيع الدقيق في الربيع شائعًا جدًا مؤخرًا. كما اتبع المؤلف الاتجاه ولم يقل شيئًا أكثر. الآن سأقدم مثالًا على قراءة ملفات التكوين.
أولاً ، تحتاج إلى الاعتماد على حزمة الجرة التالية في ملف POM
<ependencies> <Rependency> <roupiD> org.springframework.boot </rougiD> <StifactId> Spring-boot-Starter-Web </shoseid> </reperence> <redenced> <roupid> org.springframework.boot </grouped> </premency> </تبعيات>
ثانياً ، نحتاج إلى فئة بدء تشغيل الربيع
springBOOTAPPLICATION enableConfigurationProperties ({propsconfig.class ، ymlconfig.class}) الفئة العامة readapplication {public static void main (string [] args) {springapplication.run (readapplication.class ، args) ؛ }}هذا صحيح ، أشار PropsConfig.class و ymlconfig.class في شرح enableConFigurationProperties ، فئات تقرأ الدعائم وملفات تكوين YML على التوالي. بعد ذلك ، سنقوم بتنفيذ التنفيذ المحدد لخصائص القراءة وملفات تكوين YML على التوالي.
1. اقرأ ملف تكوين الخصائص
ضع ملفًا.
master.ds.driverClassName = com.mysql.jdbc.driver master.ds.url = jdbc: mysql: // localhost: 3306/test master.ds.username = rote master.ds.dass.ds.ds.ds.filters = stat master.ds.maxactive = 20 master.ds.minidle = 10 master.DSTENEVENEVITIONRUNSMillis = 60000 master.ds.minevictableDletImemillis = 3000000 MASTER.DS.VALODIDEQUERY = SELECT 'X' MASTER.DS.TESTESTERMEDLE = TRUE MASTER.TESTONBOOR = false.ds.destonreturn = false. master.ds.maxOpenPrepedStatements = 100 master.ds.removaBandoned = true master.ds.removabandonedtimeout = 1800 master.ds.logabandoned = true
قراءة فئة تكوين الدعائم بسيطة للغاية. إنها في الأساس فئة pojo/vo ، وقم فقط بتحميل التعليق التوضيحي @configurationProperties على الفصل.
configurationProperties (prefix = "master.ds" ، المواقع = "classpath: application.properties") الفئة العامة propsconfig {private string driverClassName ؛ عنوان URL الخاص بالسلسلة ؛ اسم المستخدم الخاص بالسلسلة الخاصة ؛ كلمة مرور السلسلة الخاصة ؛ مرشحات السلسلة الخاصة سلسلة خاصة بالصياغة ؛ سلسلة خاصة. سلسلة خاصة maxwait. السلسلة العامة getDriverClassName () {return driverClassName ؛ } public void setDriverClassName (String driverClassName) {this.driverClassName = driverClassName ؛ } السلسلة العامة geturl () {return url ؛ } public void seturl (url url) {this.url = url ؛ } السلسلة العامة getUserName () {return username ؛ } public void setusername (string username) {this.userName = username ؛ } السلسلة العامة getPassword () {return password ؛ } public void setPassword (سلسلة) كلمة المرور) {this.password = password ؛ } السلسلة العامة getFilters () {return filters ؛ } public void setFilters (سلسلة مرشحات) {this.filters = filters ؛ } السلسلة العامة getMaxActive () {return MaxActive ؛ } public void setMaxActive (String maxActive) {this.maxactive = maxactive ؛ } السلسلة العامة getInitialSize () {return ignsize ؛ } public void setInitialSize (string ignsize) {this.initialsize = initalsize ؛ } السلسلة العامة getMaxWait () {return maxwait ؛ } public void setMaxWait (String maxwait) {this.maxwait = maxwait ؛ }} وحدة اختبار الوحدة
Runwith (springJunit4ClassRunner.Class) springboottest (classes = readapplication.class) الفئة العامة readapplicationPropStests {autowired propsconfig propsconfig ؛ test public void testDisplayPropSvalue () {String driverClassName = propsConfig.getDriverClassName () ؛ url url = propsconfig.geturl () ؛ username string = propsconfig.getUserName () ؛ سلسلة كلمة المرور = propsconfig.getPassword () ؛ مرشحات السلسلة = propsconfig.getFilters () ؛ String MaxActive = propsconfig.getMaxActive () ؛ string ignsize = propsconfig.getInitialSize () ؛ سلسلة maxwait = propsconfig.getMaxWait () ؛ system.out.println ("driverClassName ->" + driverClassName) ؛ System.out.println ("url ->" + url) ؛ System.out.println ("username ->" + اسم المستخدم) ؛ System.out.println ("كلمة المرور ->" + كلمة المرور) ؛ System.out.println ("initialsize ->" + initialsize) ؛ System.out.println ("maxwait ->" + maxwait) ؛ }}يمكنك رؤية إخراج محتوى الاختبار في وحدة التحكم:
DriverClassName -> com.mysql.jdbc.driver url -> jdbc: mysql: // localhost: 3306/test username -> root password -> root initialsize -> 1 maxwait -> 60000
2. اقرأ ملف تكوين YML
ضع ملف Application.YML ضمن classpath ، مع المحتوى العام على النحو التالي:
MyProps: #Custom Properties and Hase SimpleProp: SimplePropValue arrayProps: 1،2،3،4،5 listprop1: - الاسم: ABC القيمة: ABCValue - الاسم: efg value: efgvalue listprop2: - config2value1 - config2vavlue2 mapprops: key1: value1 key2: value1:
اقرأ فئة ملف تكوين YML.
configurationProperties (prefix = "myProps") // الخصائص تحت myProps في application.yml الفئة العامة ymlConfig {private string simpleprop ؛ سلسلة خاصة [] ArrayProps ؛ قائمة خاصة <map <string ، string >> listProp1 = new ArrayList <> () ؛ // استلام قيم السمة في Prop1 Private List <String> listProp2 = new ArrayList <> () ؛ // استقبال قيم السمة في Prop2 Private Map <String ، String> MapProps = New HashMap <> () ؛ // تلقي قيمة السمة في prop1 public string getSimpleProp () {return simpleProp ؛ } public void setSimpleProp (String SimpleProp) {this.simpleProp = SimpleProp ؛ } القائمة العامة <map <string ، string >> getListProp1 () {return listProp1 ؛ } القائمة العامة <string> getListProp2 () {return listProp2 ؛ } السلسلة العامة [] getArrayProps () {return ArrayProps ؛ } public void setarrayProps (String [] ArrayProps) {this.arrayProps = arrayProps ؛ } الخريطة العامة <string ، string> getMapProps () {return mapProps ؛ } public void setMapProps (Map <String ، String> MapProps) {this.mapprops = mapProps ؛ }} وحدة اختبار الوحدة
Runwith (springJunit4ClassRunner.Class) springBoottest (الفئات = readapplication.class) الفئة العامة readapplicationymltests {autowired ymlconfig ymlconfig ؛ Test public void testDisplayyMlvalue () يلقي 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 arrayprops: ["1" ، "2" ، "3" ، "4" ، "5"] listProp1: [{"name": "abc" ، "value": "abcvalue"} ، {"name": "efg" ، "value": "efgvalue" ["config2value1" ، "config2vavlue2"] mapProps: {"key1": "value1" ، "key2": "value2"} أليس هذا مدهش؟ يمكن أن يعمل بسلاسة دون ملف Application ConsContext.xml.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.