2011-05-19 32 views
5

我的Java bean:来自现有bean的Spring XML - 如何?

package com.denisk.beans; 
... 
public class SomeBean { 
    private String someProperty; 
    private AnotherBean anotherBean; 
    ... 
} 

public class AnotherBean { 
    private String anotherProperty; 
    .... 
} 

我要生成这些豆存根 XML Spring配置,像

<beans> 
    <bean id="someBean"> 
     <property name="someProperty" value="sldfjslkdfjas;lfj"/> 
     <property name="anotherBean" ref="anotherBean"/> 
    </bean> 
    <bean id="anotherBean"> 
     <property name="anotherProperty" value="klj;df;ksdjflsjkd;lfj"/> 
    </bean> 
</beans> 

我想这个做使用一些工具,这将接受我的豆类作为输入的路径,如下所示:

[email protected]:~$ generateSpringXml -p "/home/denisk/myProject/src/main/java/com/denisk/beans" -output "/home/denisk/mySpringConfig.xml" 

不应该是一个大问题,但我不能去ogle出这样的事情。

感谢

+1

那是有趣的任务排序的,但我不知道有什么意义。如果你有一个应用程序不使用DI,你仍然要编写大量的去改变它,一个appcontext XML不会解决任何问题。你能确切地说出准确的意图吗? – abalogh 2011-05-19 15:43:49

+0

我想创建集成测试。我希望数据能够在春季填补。我会将数据保存到数据库中,并使用相同的弹簧配置来验证它是否正确保存。问题是,有两个三百实体,并且还有许多工作由手工编写Spring配置它们。之后我想生成存根并进行编辑 - 这将为我节省两到三天的工作时间。 – 2011-05-19 19:24:45

回答

4

检查了这一点:

https://github.com/mangstadt/Spring-Application-Context-Generator

这将需要的Java类的列表,并生成XML bean定义他们。如果仅存在一个构造函数和该构造不是默认构造它为每个公共类<bean />元件,对于每个公共字段和setter方法的<property />元件,和<constructor-arg />元素的列表。

例子:

java com.mangst.appcontext.ApplicationContextGenerator --source=/home/denisk/myProject/src/main/java --package=com.denisk.beans 

如果你尝试了这一点,让我知道,如果有任何问题,所以我可以做出改进。

+0

哇,它的工作原理!你自己写的 - 你摇滚的人!这可以调整一下递归通过包? – 2011-05-21 20:29:46

+1

@denisk是的,好了,现在就来试试用'--recurse'标志。 – Michael 2011-05-22 12:33:03

+0

太好了,谢谢!你的工具非常整洁。你有没有考虑过为它添加ant或maven版本? – 2011-05-26 08:57:50

相关问题