繁体   English   中英

如何将xml bean转换为spring java bean

[英]How to convert xml bean to spring java bean

我想将此xml转换为新的Spring Java bean

<bean id="velocityEngine"class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
    <map>
       <entry key="resource.loader" value="ds"/>
       <!--<entry key="ds.resource.loader.class" value="org.apache.velocity.runtime.resource.loader.DataSourceResourceLoader"/>--><!--should be left out-->
       <entry key="ds.resource.loader.resource.table" value="templates" />
       <entry key="ds.resource.loader.resource.keycolumn" value="tid" />
       <entry key="ds.resource.loader.resource.templatecolumn" value="template" />
       <entry key="ds.resource.loader.resource.timestampcolumn" value="updated" />
       <entry key="ds.resource.loader.instance" value-ref="dataSourceLoader" />  
       <entry key="ds.resource.loader.cache" value="true" />  
    </map>
</property>

谁能清楚地知道这种转换是如何进行的,以及它是如何工作的

Java类开始于

@豆角,扁豆

应该将这样的东西添加到@Configuration标记的类中

@Bean
public VelocityEngineFactoryBean velocityEngine() {
    VelocityEngineFactoryBean b = new VelocityEngineFactoryBean ();
    b.setVelocityProperties(the map with all your key values);
    return b;
}

如果某些值是另一个bean,例如dataSourceLoader,则可以将它们@Autowire到同一类并使用属性

您的Java类应使用@Configuration注释进行注释,方法应使用@Bean进行注释。 请参考下面

@Configuration
class AppConfiguration{

    @Bean
    public VelocityEngine velocityEngine() throws VelocityException, IOException{
        VelocityEngineFactoryBean factory = new VelocityEngineFactoryBean();
        Properties props = new Properties();
        props.put("resource.loader", "ds");
        props.put("class.resource.loader.class","org.apache.velocity.runtime.resource.loader.DataSourceResourceLoader");
        props.put("class.resource.loader.resource.table","templates");
        props.put("ds.resource.loader.resource.keycolumn","tid");
        props.put("ds.resource.loader.resource.templatecolumn","template");
        props.put("ds.resource.loader.resource.timestampcolumn","updated");
        props.put("ds.resource.loader.instance","dataSourceLoader");
        props.put("ds.resource.loader.cache",true);
        factory.setVelocityProperties(props);

        return factory.createVelocityEngine();
    }
}

有关基于Java的配置的更多信息,可以参考https://docs.spring.io/spring/docs/4.3.8.RELEASE/spring-framework-reference/htmlsingle/#beans-java-basic-concepts

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM