2011-02-02 3 views
1

에서 xml을로드하면 봄을 사용하여 속성 파일에서 xml 파일로 데이터를로드 할 수 있습니까? 그렇다면 누구나 그 예를들 수 있습니까?속성 파일

<cluster balancer="load" 
     dialect="net.sf.hajdbc.dialect.MySQLDialect" 
     default-sync="full" 
     transaction-mode="parallel" 
     auto-activate-schedule="0 * * ? * *" 
     failure-detect-schedule="0 * * ? * *" 
     meta-data-cache="none"> 
<database id="database1"> 
    <driver>***</driver> 
    <url>***</url> 
    <user>***</user> 
    <password>***</password> 
</database> 
여기

은 이미 XML, 그것은 등록 정보 파일을 스프링의 경우 데이터 소스

database.driver=*** 

database1.url=*** 
database1.username=*** 
database1.password=*** 
+0

안녕 얘들 아, 내가 이해할 수있는 예제를 추가했습니다. – Ikthiander

+0

이것은 XML 파일을 읽는 라이브러리에 따라 다릅니다. 파일 내부의 자리 표시자를 바꾸고 (예 : 편집하지 않고) 나중에 읽는 경우가 아니면 – sfussenegger

+0

당신이 무엇을 요구하고 있는지 잘 모릅니다. 샘플 'xml'을 제공하지만 속성 파일에서 데이터를로드하고 싶습니까? 데이터 소스의 관련성과 그 내용은 무엇입니까? 문제에 대해 알지 못하는 사람이 실제로 그것을 이해할 수 있도록 질문을 다시 말하십시오. –

답변

0

입니다 : 여기

은 XML이다. 그렇게하면 표준 Java XML 파싱 라이브러리로 이것을 읽을 수 있습니다. http://www.mkyong.com/tutorials/java-xml-tutorials/에는 다양한 방법으로 몇 개의 터널이 있습니다.

+0

왜 Spring이없는 Spring 파일을 읽어야하는지 잘 모르겠지만 가능합니다. –

+0

실제로 자바를 사용하여 모든 구문 분석을 사용하고 싶지 않습니다. XML로 특성 파일에서 데이터를 파생시킬 수 있다면 스프링이하는 것과 같은 방법이 있는지 알고 싶었습니다. – Ikthiander

+2

잘 봄 XML을 구문 분석하기 위해 자바를 사용합니다 :-) –

3

스프링을 필요로하지 않습니다. 당신이해야 할 일은 getProperty()를 사용하여 속성을 추출하는 것입니다. 예는 다음과 같습니다

File propertiesFile = ... 
    Properties properties = new Properties(); 
    FileInputStream fis = new FileInputStream(propertiesFile); 
    properties.load(fis); 

    String databaseDriver = properties.getProperty("database.driver"); 
    String database1Url = properties.getProperty("database1.url"); 
    String database1Username = properties.getProperty("database1.username"); 

(아주 간단하게하기 위해 예외를 왼쪽)과 XML 파일을 생성 할 XML을위한 자바 API를 사용합니다. 예를 들어 XML 작성을 시작하는 방법은 다음과 같습니다.

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder documentBuilder = factory.newDocumentBuilder(); 
Document document = documentBuilder.newDocument(); 
Element rootElement = document.createElement("database"); 
document.appendChild(rootElement); 

... 

google "java create xml"또는 비슷한 방법으로 원하는대로 XML을 만드는 방법을 찾으십시오.

0

스프링을 사용하지 않고 속성 파일의 데이터를 xml 파일로로드 할 수 있습니까? 당신이 자바 코드의 전체 무리를 쓸 경우에만

예 :하지만,

  1. 는 XML을 읽고 필요한 정보를 추출합니다.
  2. 속성을로드하십시오.
  3. 속성의 세부 정보를 세부 정보로 병합하십시오.

스프링과는 별도로이 문제에 대한 일반적인 해결책을 모르고 있습니다.


사실, 난 당신이 중 하나를 정확히이 사용 봄을 할 수 있는지 모르겠어요.

스프링 DI 배선에는 전체 빈 속성 값 (PropertyOverrideConfigurer) 또는 속성 값에 포함 된 자리 표시 자 (PropertyPlaceholderConfigurer)를 대체하는 메커니즘이 있습니다. 그러나 POC와 PPC는 Spring 빈 정의로 선언 된 bean 프라퍼티의 값에 작용한다. 귀하의 예제에서 봄 bean 선언이 아닌 일반 XML처럼 보입니다.

+0

안녕하세요. Stephen, 스프링 구성에 XML을 넣고 작동하게 할 수 있는지 알려주세요. – Ikthiander

+0

그것이 내 원래의 문제 였는지 확인해주십시오. xml은 ha-jdbc에 필요하고 ha-jdbc는 xml에서 정보를 가져옵니다. 이제 XML에 끌어온 속성 파일에 정보를 입력해야합니다. 말이된다? – Ikthiander