zoukankan      html  css  js  c++  java
  • @Value注解分类解析

    1.1.1            @Value注解

    @Value的作用是通过注解将常量、配置文件中的值、其他bean的属性值注入到变量中,作为变量的初始值。

    (1)常量注入

    @Value("normal")

        private String normal; // 注入普通字符串

        @Value("classpath:com/hry/spring/configinject/config.txt")

        private Resource resourceFile; // 注入文件资源

     

        @Value("http://www.baidu.com")

    private Resource testUrl; // 注入URL资源

    bean属性、系统属性、表达式注入@Value("#{}")

    bean属性注入需要注入者和被注入者属于同一个IOC容器,或者父子IOC容器关系,在同一个作用域内。

        @Value("#{beanInject.another}")

    private String fromAnotherBean; // 注入其他Bean属性:注入beanInject对象的属性another,类具体定义见下面

    @Value("#{systemProperties['os.name']}")

        private String systemPropertiesName; // 注入操作系统属性

     

        @Value("#{ T(java.lang.Math).random() * 100.0 }")

    private double randomNumber; //注入表达式结果

     

    (3)配置文件属性注入@Value("${}")

    @Value("#{}")读取配置文件中的值,注入到变量中去。配置文件分为默认配置文件application.properties和自定义配置文件

    •application.properties。application.properties在spring boot启动时默认加载此文件

    •自定义属性文件。自定义属性文件通过@PropertySource加载。@PropertySource可以同时加载多个文件,也可以加载单个文件。如果相同第一个属性文件和第二属性文件存在相同key,则最后一个属性文件里的key启作用。加载文件的路径也可以配置变量,如下文的${anotherfile.configinject},此值定义在第一个属性文件config.properties

    第一个属性文件config.properties内容如下: 
    ${anotherfile.configinject}作为第二个属性文件加载路径的变量值

    book.name=bookName

    anotherfile.configinject=placeholder

    第二个属性文件config_placeholder.properties内容如下:

    book.name.placeholder=bookNamePlaceholder

    下面通过@Value(“${app.name}”)语法将属性文件的值注入bean属性值,详细代码见:

                           

    @Component

    // 引入自定义配置文件。

    @PropertySource({"classpath:com/hry/spring/configinject/config.properties",

     // 引入自定义配置文件。${anotherfile.configinject}则是config.properties文件中的第二个属性值,会被替换为config_placeholder.properties。

       "classpath:com/hry/spring/configinject/config_${anotherfile.configinject}.properties"})

    public class ConfigurationFileInject{

        @Value("${app.name}")

        private String appName; // 这里的值来自application.properties,spring boot启动时默认加载此文件

     

        @Value("${book.name}")

        private String bookName; // 注入第一个配置文件config.properties的第一个属性

        @Value("${book.name.placeholder}")

        private String bookNamePlaceholder; // 注入第二个配置外部文件属性

    }

     

    自己编了一个股票监控软件,有如下功能,有兴趣的朋友可以下载;

    (1)   个股监测。监测个股实时变化,可以监测个股大单交易、急速拉升和下降、主力入场和出场、股票最高点和最低点提醒。检测到最高点、最低点、主力进场点、主力退场点、急速拉升点、急速下跌点,给出语音或者声音提醒,不用再时刻看着大盘了,给你更多自由的时间;

    (2)   大盘监测。监测大盘的走势,采用上证、深证、创业三大指数的综合指数作为大盘走势。并实时监测大盘的最高点和最低点、中间的转折点。

    (3)   股票推荐。还能根据历史数据长期或短期走势进行分析,对股市3千多个股票进行分析对比,选出涨势良好的股票,按照增长速度从大到小排序,推荐给你涨势良好的股票;

    下载地址:

    1.0.3版本(修复大盘指数崩溃缺陷)下载地址:

    链接:https://pan.baidu.com/s/1BJcTp-kdniM7VE9K5Kd3vg 提取码:003h

    更新链接:

    https://www.cnblogs.com/bclshuai/p/10621613.html

  • 相关阅读:
    gdb coredum 信息例子
    leecode第一百一十四题(二叉树展开为链表)
    leecode第一百零一题(对称二叉树)
    leecode第九十四题(二叉树的中序遍历)
    leecode第七十五题(颜色分类)
    leecode第五十五题(跳跃游戏)
    leecode第四十九题(字母异位词分组)
    leecode第四十八题(旋转图像)
    leecode第三十四题(在排序数组中查找元素的第一个和最后一个位置)
    leecode第三十一题(下一个排列)
  • 原文地址:https://www.cnblogs.com/jpfss/p/11242667.html
Copyright © 2011-2022 走看看