zoukankan      html  css  js  c++  java
  • Spring静态属性的注入

    应用场景:工具类的静态方法使用了service注入

    1. xml的init-method方式

    <bean id="SecurityUtil" class="com.*.*.util.SecurityUtil" init-method="init">
            <property name="propertyConfigurerTmp" ref="propertyConfigurer"/>
    </bean>
        
    <bean id="propertyConfigurer"class="com.*.*.service.PropertyConfigurer"/>
    public class SecurityLogic {
        private PropertyConfigurer propertyConfigurerTmp;
        
    private static PropertyConfigurer propertyConfigurer;
    
        public void init() {
            SecurityLogic.propertyConfigurer = propertyConfigurerTmp;
        }
    
        public static void encrypt(String param) throws Exception {
            String encryptType=propertyConfigurer.getProperty("encryptType");
            //todo
        }
    }

    2. 注解@PostConstruct方式

    @Component
    public class SecurityLogic {
    
        @Autowired
        private PropertyConfigurer propertyConfigurerTmp;
        
        private static PropertyConfigurer propertyConfigurer;
    
        @PostConstruct
        public void init() {
            SecurityLogic.propertyConfigurer = propertyConfigurerTmp;
        }
    
        public static void encrypt(String param) throws Exception {
            String encryptType=propertyConfigurer.getProperty("encryptType");
            //todo
        }
    }

    3. set方法上面添加注解方式

    @Component
    public class SecurityLogic {
    
        private static PropertyConfigurer propertyConfigurer;
    
        @Autowired
        public void setPropertyConfigurer(PropertyConfigurer propertyConfigurer) {
            SecurityLogic.propertyConfigurer = propertyConfigurer;
        }
    
        public static void encrypt(String param) throws Exception {
            String encryptType=propertyConfigurer.getProperty("encryptType");
            //todo
        }
    }
  • 相关阅读:
    poi隐藏列
    凯西太太的果园
    java中不可变对象深入理解
    excel添加空白行的快捷键
    如何在多个页面中,引入一个公共组件
    对后端返回的数据进行适配
    我与时间管理的故事
    在前端团队的那些日子(初见)
    我是这样做时间管理的(下)
    我是这样做时间管理的(上)
  • 原文地址:https://www.cnblogs.com/duanhm234/p/7903884.html
Copyright © 2011-2022 走看看