如何通过配置spring xml来扩展spring

时间:2016-05-16 11:29:27

标签: java xml spring

在Spring 4应用程序中,我们正在扩展 PropertySourcesPlaceholderConfigurer 以在解析属性期间执行一些自定义任务。

要注册我们的新类(MyPropertyConfigurer)o Spring,我们使用以下类:

@Configuration
public class AppConfig {
  @Bean
    public static PropertySourcesPlaceholderConfigurer
    propertySourcesPlaceholderConfigurer() {
        return new MyPropertyConfigurer();
    }

}

出于好奇,我可以使用spring.xml而不是使用@Configuration注释将我的新bean添加到Spring吗?

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,我的问题只是通过将我的班级的bean放在我的Springbeans.xml文件中来修复,如下所示:

<beans:bean class="MyPropertyConfigurer"/>

答案 1 :(得分:0)

您可以在spring应用程序中使用基于Spring的xml和基于java的配置的组合。

你必须使用

APIKarhoBookingProperties objbooking = new APIKarhoBookingProperties();
  objbooking.currency = "USD";
  objbooking.price_components = new List<PriceComponent>() {
new PriceComponent{component_name = "abc", value = 1.0, ...},
new PriceComponent{component_name = "xyz", value = 2.9, ...},
new PriceComponent{component_name = "def", value = 1120, ...},
...
}; 
  class APIKarhoBookingProperties
  {
    public string currency { get; set; }
    public List<PriceComponent> price_components { get; set; }
  }
  public class PriceComponent
  {
        public string component_name { get; set; }
        public double value { get; set; }
        public string description { get; set; }
        public string currency { get; set; }
  }

一起
@ImportResource({"classpath:sampleapp.xml"})

请看下面的示例帖子解释它:

Mixing xml and java config with spring