Autowired和使用静态字段之间的选择

时间:2013-05-29 15:06:36

标签: spring static field autowired

我有一个配置bean,它具有应用程序的配置设置。我想将这个bean暴露给我的应用程序中的任何java类。我是否将它自动装配到需要bean的每个类,或者我将它设置为某个全局类中的静态字段,以便每个类都可以方便地访问它?自动装配是否合理/推荐用于高周转率物体?在我的情况下,这将是一些网络事件每秒都会出现倍数。

1 个答案:

答案 0 :(得分:0)

我在AspectJ编译时(或加载时)编织中使用了这种方法:

public final class Config {

    public static String oneParticularSetting() {
        return new ConfigHolder().oneParticularSetting;
    }

    @Configurable
    private static class ConfigHolder {
        @Value("${oneParticularSetting}")
        private String oneParticularSetting;
    }
}

您需要测试自动装配开销/性能。

或者您可以重用ConfigHolder实例(考虑线程安全性)。