2014-12-01 2 views
0

Я пытаюсь найти синтаксис для указания файла Spring в файле конструктора ClassPathXmlApplicationContext. По синтаксису я не имею в виду подпись метода, но фактическая строкаСинтаксис для указания весенних файлов xml в ClassPathXmlApplicationContext

Например, следующие три работы.

ApplicationContext context = new ClassPathXmlApplicationContext("com/anshbansal/alarm/alarm.xml"); 
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:alarm.xml"); 
ApplicationContext context = new ClassPathXmlApplicationContext("alarm.xml"); 

Я гугле и попытался пройти через Spring 3.1.0 исходный код также. Но я застрял после doResolvePlaceholders метода в классе org.springframework.core.env.AbstractPropertyResolver весны. В частности, я не мог понять, как заполнители встают на путь.

Может ли кто-нибудь поделиться, что является синтаксисом для строки, чтобы указать файл xml?

EDIT

Я имею в виду синтаксис, чтобы указать путь к прыжку файл XML, как в конструкторе. Я не имею в виду синтаксис самого файла xml.

+0

Я боюсь, что люди не ответили на вашу проблему, потому что проблема не ясна , Что вам на самом деле нужно - синтаксис для указания пути к весеннему xml-файлу или вы ищете синтаксис файла конфигурации xml-файла (его содержимого), то есть это http://docs.spring.io/spring-framework/docs /current/spring-framework-reference/html/xsd-config.html? –

+0

@MichalWilkowski Забыл @ после обновления вопроса. –

ответ

0

Хорошо, теперь я понимаю вопрос :-). PropertyResolver используется только положить значение среды (или значение файла свойств) в весеннем файл XML, то есть:

<context:property-placeholder location="file:///some/path/file.properties"/> 

, а затем решить их в этом весеннем XML, то есть:

<bean id="mailInviteMessage" class="org.springframework.mail.SimpleMailMessage"> 
    <property name="from" value="${mail.from}"/> 
    <property name="subject" value="${mail.subject}"/> 
</bean> 

Ввода пружина XML в предпочтительным является путь к классам и именование в стандартном соглашении (т.е. beans.xml). Тем не менее, вы можете настроить его ввод параметра в Java вызова, т.е.

java -Dmy.parameter=/path/to/beans.xml ... 

, а затем загрузить его вручную:

Context context = new FileSystemXmlApplicationContext(System.getProperty("my.parameter")); 
+0

Я думаю, что все еще есть недоразумение. Посмотрите ли вы на три примера, которые я дал? Единственное отличие - это строка, переданная как аргумент конструктору. Я хочу узнать, каковы различные допустимые способы записи этой строки. Возможно, это не характерно для весны и, таким образом, вызывает путаницу. –