0
我有給定的XSD和相應的XML。 XML中的常量數據充當規則的基礎,我需要處理輸入。我正在尋找一種方法,可以在啓動應用程序時解析XML(使用提供的模式),並讓生成的常量數據對象在spring上下文中加載。將分析的XML對象加載到Spring上下文中
到目前爲止,我不敢靠近,但是這是我嘗試
- 寫了JAXB解析器給定XML/XSD
- XML文件位於類路徑和被加載和解析,以返回規則對象
<bean id="tcs50MMSplitUtil" class="com.abc.common.SplitRuleService">
<property name="splitRule" value="classpath:config/Rule50MM.xml" />
</bean>
public class SplitRuleService {
private static Resource splitRule;
@Autowired
private RuleXMLParserHandler splitRuleParser;
public Rules getSplitRule() throws IOException {
InputStream io = splitRule.getInputStream();
return (Rules) splitRuleParser.parse(io);
}
public void setSplitRule(Resource splitRule) {
this.splitRule = splitRule;
}
}
但是,這將每到這個getRule被調用時解析XML。我不想一次又一次解析常量XML。
我也看了AbstractBeanDefinitionParser,但認爲這不是我想要的。
請任何幫助。如果我不清楚我的問題,請告訴我。
感謝您的回覆唐!它爲我工作:)最初我想在課堂上創建一個靜態塊來做到這一點,但PostConstruct對於這種情況非常適用。 – mehta