Домой Учебники по Java и J2EE Как прочитать значение config.properties, используя Spring MVC 'singleton' Scope в Java?

Как прочитать значение config.properties, используя Spring MVC 'singleton' Scope в Java?

559
0

Некоторое время назад я написал учебник о том, как читать конфигурационный файл традиционным способом . Но что, если вы хотите загрузить его как среду Spring MVC ?

Чаще всего вам может понадобиться доступ к некоторым вашим config.properties значения все время в вашем классе Java . Есть простой способ получить его, используя одноэлементную область Spring MVC.

Пожалуйста, взгляните на полную картину ниже.

Нам нужно создать 4 файла:

  1. CrunchifySpringExample.java под пакетом com.crunchify.tutorial
  2. файл config.properties в разделе /go/config/ папка
  3. файл spring-bean.xml под /resources папка
  4. файл pom.xml ( преобразовать проект в проект Maven )

Давайте начнем:

Шаг 1

Создать динамический веб-проект под названием CrunchifyLoadPropertiesSpringMVC

Шаг 2

Конвертировать проект в Maven Project.

Это создаст pom.xml файл и мы добавим Spring зависимости .

Шаг 3

Создать файл CrunchifySpringExample.java

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
пакет ком . crunchify. учебник ;
Импортировать орг. пружинная рама . бобы. завод. аннотация . Автопроводка ;
Импортировать орг. пружинная рама . бобы. завод. аннотация . Значение ;
Импортировать орг. пружинная рама . контекст . аннотация . Сфера применения ;
Импортировать орг. пружинная рама . контекст . поддержка. ClassPathXmlApplicationContext ;
Импортировать орг. пружинная рама . стереотип . Компонент ;
/ **
*
* @author Crunchify.com
* /
@Component ( crunchifySpringExample )
@Scope ( синглтон )
общественности учебный класс CrunchifySpringExample {
     частный статический логический springExample ;
     частный статический строка springTutorial ;
     частный статический строка URL ;
     @Autowired
     общественности CrunchifySpringExample ( @Value ( $ {CRUNCHIFY_URL} ) строка URL , @Value ( $ {SPRING_TUTORIAL} ) строка springTutorial ,
             @Value ( $ {IS_THIS_SPRING_EXAMPLE} ) логический springExample ) {
         CrunchifySpringExample . springExample знак равно springExample ;
         CrunchifySpringExample . springTutorial знак равно springTutorial ;
         CrunchifySpringExample . URL знак равно URL ;
     }
     @SuppressWarnings ( { ресурс , «неиспользуемый» } )
     общественности статический недействительным main ( Строка [ ] аргументы ) {
         пытаться {
             ClassPathXmlApplicationContext ctx знак равно новый ClassPathXmlApplicationContext ( new Строка [ ] { весна-bean.xml } ) ;
         } ловить ( Бросаемый е ) {
             Система. вне. println ( e ) ;
         }
         Система. вне. println ( / nЗагрузка свойств из файла конфигурации во время запуска приложения: / n / nSPRING_TUTORIAL: + springTutorial ) ;
         Система. вне. println ( IS_THIS_SPRING_EXAMPLE: + springExample ) ;
         Система. вне. println ( CRUNCHIFY_URL: + URL ) ;
     }
}

Шаг 4

Вот мой pom.xml файл.

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 >
     < версия > 0.0.1SNAPSHOT < / версия >
     < упаковка > война < / упаковка >
     < name > CrunchifyLoadPropertiesSpringMVC < / name >
     < build >
         < sourceDirectory > src < / sourceDirectory >
         < плагины >
             < плагин >
                 < artifactId > mavenкомпиляторплагин < / artifactId >
                 < версия > 3.1 < / версия >
                 < конфигурация >
                     < source > 1.7 < / source >
                     < target > 1.7 < / target >
                 < / configuration >
             < / plugin >
             < плагин >
                 < artifactId > mavenвойнаплагин < / artifactId >
                 < версия > 2.3 < / версия >
                 < конфигурация >
                     < warSourceDirectory > WebContent < / warSourceDirectory >
                     < failOnMissingWebXml > false < / failOnMissingWebXml >
                 < / configuration >
             < / plugin >
         < / plugins >
     < / build >
     < свойства >
         < проект . построить . sourceEncoding > UTF8 < / project . построить . sourceEncoding >
         < весна . версия > 4.0.2.RELEASE < / весна . версия >
     < / properties >
     < зависимости >
         < ! Пружинная база >
         < зависимость >
             < groupId > org . Springframework < / groupId >
             < artifactId > springaop < / artifactId >
             < версия > $ { весна . версия } < / версия >
             < исключения >
                 < исключение >
                     < groupId > commonslogging < / groupId >
                     < artifactId > commonslogging < / artifactId >
                 < / exclusion >
             < / exclusion >
         < / зависимость >
         < ! Spring MVC >
         < зависимость >
             < groupId > org . Springframework < / groupId >
             < artifactId > springwebmvc < / artifactId >
             < версия > $ { весна . версия } < / версия >
         < / зависимость >
         < зависимость >
             < groupId > org . Springframework < / groupId >
             < artifactId > springweb < / artifactId >
             < версия > $ { весна . версия } < / версия >
         < / зависимость >
         < зависимость >
             < groupId > commonslogging < / groupId >
             < artifactId > commonslogging < / artifactId >
             < версия > 1.1.1 < / версия >
         < / зависимость >
     < / зависимости >
< / project >

Шаг 5

Если вы не видите « resources Папка. Создай.

ЧИТАТЬ ТАКЖЕ:  Java Советы: везде, где это возможно, попробуйте использовать примитивные типы вместо классов Wrapper

Шаг 6

Создайте config.properties файл с содержанием ниже.

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 файл

весна-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заполнитель
         свойстваref = nodeProperty / >
     < context : componentscan basepackage = com.crunchify.tutorial / >
< / beans >

Шаг 8

Теперь беги CrunchifySpringExample.java и вы должны увидеть такой результат.

Шаг 9

Выход

Результат

1
2
3
4
5
6
7
8
9
10
11
12
июль 05 , 2014 3 : 38 : 52 PM орг . пружинная рама . контекст . поддержка. AbstractApplicationContext prepareRefresh
ИНФОРМАЦИЯ : Освежающий орг . пружинная рама . контекст . поддержка. ClassPathXmlApplicationContext @ 7e3bfb66 : дата запуска [ Сб июль 05 15 : 38 : 52 CDT 2014 ] ; корень контекста иерархии
июль 05 , 2014 3 : 38 : 52 PM орг . пружинная рама . бобы. завод. XML. XmlBeanDefinitionReader loadBeanDefinitions
ИНФОРМАЦИЯ : Загрузка определений XML- бинов из класса ресурс пути [ веснабоб . xml ]
июль 05 , 2014 3 : 38 : 52 PM орг . пружинная рама . ядро. Ио. поддержка. PropertiesLoaderSupport loadProperties
ИНФОРМАЦИЯ : Загрузка файла свойств из класса ресурс пути [ config / config . свойства ]
Загрузка свойств из файла конфигурации во время запуска приложения :
SPRING_TUTORIAL : CRUNCHIFY_TUTORIAL
IS_THIS_SPRING_EXAMPLE : правда
CRUNCHIFY_URL : https : //crunchify.com

Наслаждайтесь и счастливого кодирования ..

Как прочитать значение config.properties, используя Spring MVC 'singleton' Scope в Java?

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь