Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517

Spring: универсальный main для загрузки конфигурации

31.03.2013, 21:14. Показов 1782. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли сделать универсальный main, который не будет зависеть от того как надо загружать конфигурацию (вычитывать все бины из xml или же искать их самому в исходных файлах помеченных аннотациями) ?
Например сейчас если у меня вся информация о бинах записана в xml вот так:
XML
1
2
    <bean id="provider" class="myPackage.HelloWorldMessageProvider" />
    <bean id="renderer" class="myPackage.StandardOutMessageRender" p:messegeProvider-ref="provider" />
то я использую этот main:
Java
1
2
3
4
5
6
7
8
public class HelloWorldSpringDI {
    public static void main(String[] args){
        //инициализация App context
        ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml");
        MessageRenderer mr = ctx.getBean("renderer", MessageRenderer.class);
        mr.render();
    }
}
А если у меня всё написано через аннотации, а в xml только информация что нужно искать аннотации спрингу самому:
XML
1
2
    <context:annotation-config/>
    <context:component-scan base-package="myPackage" />
то я вынужден использовать такой main:
Java
1
2
3
4
5
6
7
8
9
10
public class HelloWorldSpringDI {
    public static void main(String[] args){
        GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
        ctx.load("classpath:spring-config.xml");
        ctx.refresh();
 
        MessageRenderer messageRenderer = ctx.getBean("messageRenderer", MessageRenderer.class);
        messageRenderer.render();
    }
}
А нет ли универсального ApplicationContext для обоих случаев ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2013, 21:14
Ответы с готовыми решениями:

Влияние расширения конфигурации на скорость загрузки конфигурации
Платформа 1С:Предприятие 8.3 (8.3.11.2867) Конфигурация УправлениеТорговымПредприятиемДляУкраины, версия 1.2.45.2 ОС Windows Server...

Spring - не находится файл конфигурации
Где должен располагаться данный файл xml-bean-factory-config.xml? ClassPathResource как я понял, данный класс ищет указанный файл...

Ошибка файла конфигурации Spring configuration.xml
Добрый день Начал изучать web на java. Имеется работающий проект, который я пытаюсь повторить в учебных целях. Ожидаемо, ничего с...

3
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
31.03.2013, 21:23
универсальность в данном случае недостижима так как это 2 конца одной палки, а вы пытаетесь пользоваться смесью

прочитайте в офф доках вот этот пункт 5.12.2 Instantiating the Spring container using AnnotationConfigApplicationContext
в этом варианте нет хмл ваще, только аннотации
1
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
31.03.2013, 22:58  [ТС]
Цитата Сообщение от mutagen Посмотреть сообщение
универсальность в данном случае недостижима
А жаль, я пока тестовые примеры разбираю использую сначала аннотации, а потом решаю эту же задачу с xml и всё время main подменять достало ... хотя вроде IDEA было пофиг если объявиться два мейна то она будет спрашивать какой грузить так что решу проблему тогда таким способом.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
31.03.2013, 23:11
Ну вам же никто не мешает написать под себя класс который реализует для вас загрузку апп контекста, сделайте фабрику которая может и так и эдак и вперёд Вызвал в мейне - получил контекст и дальше работаем с ним
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2013, 23:11
Помогаю со студенческими работами здесь

Spring. Аннотации. Внедрение бина через сеттер в методе main
Всем привет! Изучаю Spring 5.0. Пытаюсь внедрить бин client в методе main. Получаю ошибку: SpringLoggerApplication.java ...

Сервис загрузки файлов Spring
Добрый день. Необходимо реализовать загрузку файлов в виде сервиса. Использую Spring версии 4.3.3. В контроллере следующая функция: ...

задания по spring core и spring mvc для новичков
Какие задания можно предложить новичкам для выполнения после знакомства их с spring core и mvc ?

Настройка загрузки контекста в Spring MVC JavaConfig
Привет, я работаю со Spring MVC проектом, для описание конфигураций использую java классы, JavaConfig, проект без .xml файлов. Как мне...

Как считать таблицу свойств без id при чтении данных из таблицы main в Java Spring
Имеюся две таблицы (два Entity) Первое - это основная таблица с данными @Entity @Table(name = &quot;tblMain&quot;) public class Car...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru