كيف تقرأ قيمة config.properties باستخدام نطاق Spring MVC "مفرد" في Java؟
نشرت: 2018-08-29
في وقت ما كنت قد كتبت تعليميًا حول كيفية قراءة ملف التكوين بالطريقة التقليدية. ولكن ماذا لو كنت تريد تحميله كإطار Spring MVC؟
من الشائع أنك قد تحتاج إلى الوصول إلى بعض قيم config.properties
الخاصة بك طوال الوقت في فئة Java الخاصة بك. هناك طريقة بسيطة للحصول عليه باستخدام منظار Spring MVC المفرد.
يرجى إلقاء نظرة على صورة مساحة العمل الكاملة أدناه.
نحتاج إلى إنشاء 4 ملفات:
- CrunchifySpringExample.java ضمن الحزمة
com.crunchify.tutorial
- config.properties ضمن مجلد
/go/config/
- ملف spring-bean.xml ضمن مجلد
/resources
- ملف pom.xml (تحويل المشروع إلى مشروع Maven)

هيا بنا نبدأ:
الخطوة 1
قم بإنشاء مشروع ويب ديناميكي يسمى CrunchifyLoadPropertiesSpringMVC

الخطوة 2
تحويل المشروع إلى مشروع مافن.
سيؤدي هذا إلى إنشاء ملف pom.xml
الربيع.

الخطوه 3
قم بإنشاء ملف CrunchifySpringExample.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
package com . crunchify . tutorial ; import org . springframework . beans . factory . annotation . Autowired ; import org . springframework . beans . factory . annotation . Value ; import org . springframework . context . annotation . Scope ; import org . springframework . context . support . ClassPathXmlApplicationContext ; import org . springframework . stereotype . Component ; /** * * @author Crunchify.com */ @Component ( "crunchifySpringExample" ) @Scope ( "singleton" ) public class CrunchifySpringExample { private static boolean springExample ; private static String springTutorial ; private static String url ; @Autowired public CrunchifySpringExample ( @Value ( "${CRUNCHIFY_URL}" ) String url , @Value ( "${SPRING_TUTORIAL}" ) String springTutorial , @Value ( "${IS_THIS_SPRING_EXAMPLE}" ) boolean springExample ) { CrunchifySpringExample . springExample = springExample ; CrunchifySpringExample . springTutorial = springTutorial ; CrunchifySpringExample . url = url ; } @SuppressWarnings ( { "resource" , "unused" } ) public static void main ( String [ ] args ) { try { ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext ( new String [ ] { "spring-bean.xml" } ) ; } catch ( Throwable e ) { System . out . println ( e ) ; } System . out . println ( "\nLoading Properties from Config File during application startup: \n\nSPRING_TUTORIAL: " + springTutorial ) ; System . out . println ( "IS_THIS_SPRING_EXAMPLE: " + springExample ) ; System . out . println ( "CRUNCHIFY_URL: " + url ) ; } } |
الخطوة 4
ها هو ملف pom.xml
بي.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
< project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 < / modelVersion > < groupId > CrunchifyLoadPropertiesSpringMVC < / groupId > < artifactId > CrunchifyLoadPropertiesSpringMVC < / artifactId > < version > 0.0.1 - SNAPSHOT < / version > < packaging > war < / packaging > < name > CrunchifyLoadPropertiesSpringMVC < / name > < build > < sourceDirectory > src < / sourceDirectory > < plugins > < plugin > < artifactId > maven - compiler - plugin < / artifactId > < version > 3.1 < / version > < configuration > < source > 1.7 < / source > < target > 1.7 < / target > < / configuration > < / plugin > < plugin > < artifactId > maven - war - plugin < / artifactId > < version > 2.3 < / version > < configuration > < warSourceDirectory > WebContent < / warSourceDirectory > < failOnMissingWebXml > false < / failOnMissingWebXml > < / configuration > < / plugin > < / plugins > < / build > < properties > < project . build . sourceEncoding > UTF - 8 < / project . build . sourceEncoding > < spring . version > 4.0.2.RELEASE < / spring . version > < / properties > < dependencies > < ! -- Spring base -- > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - aop < / artifactId > < version > $ { spring . version } < / version > < exclusions > < exclusion > < groupId > commons - logging < / groupId > < artifactId > commons - logging < / artifactId > < / exclusion > < / exclusions > < / dependency > < ! -- Spring MVC -- > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - webmvc < / artifactId > < version > $ { spring . version } < / version > < / dependency > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - web < / artifactId > < version > $ { spring . version } < / version > < / dependency > < dependency > < groupId > commons - logging < / groupId > < artifactId > commons - logging < / artifactId > < version > 1.1.1 < / version > < / dependency > < / dependencies > < / project > |
الخطوة 5
إذا كنت لا ترى مجلد " resources
". اصنع واحدا.


الخطوة 6
قم بإنشاء ملف config.properties
بالمحتويات أدناه.
1 2 3 4 |
# Crunchify Properties IS_THIS_SPRING_EXAMPLE = true SPRING_TUTORIAL = CRUNCHIFY_TUTORIAL CRUNCHIFY_URL = https : //crunchify.com |
الخطوة 7
محتوى ملف spring-bean.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<? xml version = "1.0" encoding = "UTF-8" ?> < beans xmlns = "http://www.springframework.org/schema/beans" xmlns : util = "http://www.springframework.org/schema/util" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns : context = "http://www.springframework.org/schema/context" xsi : schemaLocation = " http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd" > < util : properties id = "nodeProperty" location = "classpath:config/config.properties" / > < context : property - placeholder properties - ref = "nodeProperty" / > < context : component - scan base - package = "com.crunchify.tutorial" / > < / beans > |
الخطوة 8
الآن قم بتشغيل CrunchifySpringExample.java
وسترى نتيجة مثل هذه.
الخطوة 9
انتاج |
1 2 3 4 5 6 7 8 9 10 11 12 |
Jul 05 , 2014 3 : 38 : 52 PM org . springframework . context . support . AbstractApplicationContext prepareRefresh INFO : Refreshing org . springframework . context . support . ClassPathXmlApplicationContext @ 7e3bfb66 : startup date [ Sat Jul 05 15 : 38 : 52 CDT 2014 ] ; root of context hierarchy Jul 05 , 2014 3 : 38 : 52 PM org . springframework . beans . factory . xml . XmlBeanDefinitionReader loadBeanDefinitions INFO : Loading XML bean definitions from class path resource [ spring - bean . xml ] Jul 05 , 2014 3 : 38 : 52 PM org . springframework . core . io . support . PropertiesLoaderSupport loadProperties INFO : Loading properties file from class path resource [ config / config . properties ] Loading Properties from Config File during application startup : SPRING_TUTORIAL : CRUNCHIFY_TUTORIAL IS_THIS_SPRING_EXAMPLE : true CRUNCHIFY_URL : https : //crunchify.com |
استمتع و أتمنى لك تشفيرًا سعيدًا ..