zoukankan      html  css  js  c++  java
  • springboot-31-springboot静态注入

    springboot中 使用 @Autowired 注入时, 是可以为静态变量进行注入的

    package com.iwhere.footmark.tools;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.redis.core.StringRedisTemplate;
    import org.springframework.data.redis.core.ValueOperations;
    import org.springframework.stereotype.Component;
    
    /**
     * 测试静态注入
     * @author wenbronk
     * @time 2017年8月30日 上午9:40:00
     */
    @Component
    public class StaticTest {
    
        private static StringRedisTemplate redis;
        @Autowired
        public void setRedis(StringRedisTemplate redis){
            StaticTest.redis = redis;
        }
        
        public static void setGet() {
            String key = "abc";
            ValueOperations<String, String> opsForValue = redis.opsForValue();
            opsForValue.set(key, "static_test_value");
            String string = opsForValue.get(key);
            System.out.println(string);
        }
        
    }

    然后, 调用的方式为: 

        @Autowired
        private TestService TestService;
    
        @RequestMapping("/")
        public String test() {
        //    String test = TestService.test();
            StaticTest.setGet();
            return test;
        }

    也可以在 application.yml中的常量, 使用静态注入: 

    package com.iwhere.footmark.properties;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * 常量配置
     * 
     * @author wenbronk
     * @Date 下午5:15:32
     */
    @Configuration
    @ConfigurationProperties(prefix = "custom.constance")
    public class ConstanceProperties {
        public static final Integer FOOT_DEFAULT_LEVEL = 15;
        public static final Integer FOOT_MARK_GEOLEVEL = 19;
        public static final String BGM_URL = "http://qiniu.iwhere.com/track/9/fenghuanggucheng/backgroundmusic1.mp3";
        // http://qiniu.iwhere.com/track/9/fenghuanggucheng/backgroundmusic3.mp3
        public static final String TEMPLATE_CODE = "001";
        public static final Integer FOOT_MARK_MAX = 10;
        public static final String USER_AND_TOURIS_KEY = "44D2568638FFF096996CB6544CAC6B15";
        public static final String DEFAULT_IMG_URL = "http://qiniu.iwhere.com/track/9/fenghuanggucheng/foxiangge1.jpeg";
    
        private static Integer footDefaultLevel = FOOT_DEFAULT_LEVEL;
        private static Integer footMarkGeoLevel = FOOT_MARK_GEOLEVEL;
        private static String bgmUrl = BGM_URL;
        private static String bgmUrl2;
        private static String bgmUrl3;
        private static Integer footMarkMax = FOOT_MARK_MAX;
        private static String templateCode = TEMPLATE_CODE;
        private static String userAndTourisKey = USER_AND_TOURIS_KEY;
        private static String defaultImgUrl = DEFAULT_IMG_URL;
        
        public static List<String> getBgmUrls() {
            List<String> result = new ArrayList<>();
            result.add(bgmUrl);
            result.add(bgmUrl2);
            result.add(bgmUrl3);
            return result;
        }
    
        public static Integer getFootDefaultLevel() {
            return footDefaultLevel;
        }
    
        public static void setFootDefaultLevel(Integer footDefaultLevel) {
            ConstanceProperties.footDefaultLevel = footDefaultLevel;
        }
    
        public static Integer getFootMarkGeoLevel() {
            return footMarkGeoLevel;
        }
    
        public static void setFootMarkGeoLevel(Integer footMarkGeoLevel) {
            ConstanceProperties.footMarkGeoLevel = footMarkGeoLevel;
        }
    
        public static String getBgmUrl() {
            return bgmUrl;
        }
    
        public static void setBgmUrl(String bgmUrl) {
            ConstanceProperties.bgmUrl = bgmUrl;
        }
    
        public static Integer getFootMarkMax() {
            return footMarkMax;
        }
    
        public static void setFootMarkMax(Integer footMarkMax) {
            ConstanceProperties.footMarkMax = footMarkMax;
        }
    
        public static String getTemplateCode() {
            return templateCode;
        }
    
        public static void setTemplateCode(String templateCode) {
            ConstanceProperties.templateCode = templateCode;
        }
    
        public static String getUserAndTourisKey() {
            return userAndTourisKey;
        }
    
        public static void setUserAndTourisKey(String userAndTourisKey) {
            ConstanceProperties.userAndTourisKey = userAndTourisKey;
        }
    
        public static String getDefaultImgUrl() {
            return defaultImgUrl;
        }
    
        public static void setDefaultImgUrl(String defaultImgUrl) {
            ConstanceProperties.defaultImgUrl = defaultImgUrl;
        }
    
        public static String getBgmUrl2() {
            return bgmUrl2;
        }
    
        public static void setBgmUrl2(String bgmUrl2) {
            ConstanceProperties.bgmUrl2 = bgmUrl2;
        }
    
        public static String getBgmUrl3() {
            return bgmUrl3;
        }
    
        public static void setBgmUrl3(String bgmUrl3) {
            ConstanceProperties.bgmUrl3 = bgmUrl3;
        }
    
    }
  • 相关阅读:
    接口类和抽象类
    生成器和迭代器
    装饰器
    KMP算法(java,c++)
    java EE
    XML
    SQL语法
    单元测试
    JDBC
    SpringCloud
  • 原文地址:https://www.cnblogs.com/wenbronk/p/7451628.html
Copyright © 2011-2022 走看看