Spring MVC常用应用程序配置文件作为静态类

时间:2013-08-12 09:05:58

标签: java spring-mvc configuration

我想实现一些全局配置静态类,它将包含所有应用程序的配置。另外我想从xml配置文件中注入这些参数。

第一种方法是创建配置类并将其注入我需要的每个bean /类。但是我没有这样做,因为我的配置类包含所有应用程序的属性并且在任何地方都注入它...我不知道是什么)

第二种方法是尝试将xml配置值注入静态类,但它更像是解决方法..

哪种方式更好,为什么?

2 个答案:

答案 0 :(得分:1)

我看到处理此类场景的最常见方式是将配置放入属性文件并通过PropertyPlaceHolderConfigurer引用属性值。

例如,假设我有以下属性:

<强> SO.properties

app.name=StackOverflow
app.mode=debug

在我的Spring配置文件中,我将包含context命名空间并通过PropertyPlaceholderConfigurer bean引用它。

弹簧配置

<context:property-placeholder location="classpath:so.properties"/>

创建PropertyPlaceholderConfigurer bean之后,我现在可以通过表达式语言引用属性,例如bean中的${app.name}和配置文件。

要将这些属性连接到Spring bean,请使用@Value注释bean的字段。

@Component
public class MyBean{
   //This must be a Spring Bean


   //Wiring the value to the field
   @Value("#{app.name}")
   private String name;
}

PropertyPlaceholderConfigurer Documentation

答案 1 :(得分:0)

如果我没记错的话你就不能这样做了。您可以使用静态字段创建类,但不能将属性注入该字段。 看看这个答案,也许它可以帮到你:Spring: How to inject a value to static field?