Java工作笔记-@Value注解的使用(可用于配置文件)
目录
基本概念
代码与实例
程序打包下载
基本概念
@Value:注入配置文件中的内容。只要是spring的注解类(service,compotent, dao等)中都可以。
@Component:泛指组件,当组件不好归类的时候,可以使用这个注解进行标注。
@AutoWired:自动导入依赖的bean。byType方式。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。
所以必须是使用Spring或Spring Boot的注解类,就可以使用@Value注解。
下面是使用@Component进行的。刚好,单例模式也解决了,用框架是真的爽。
代码与实例
程序运行截图:不接参数时:
这个和application.properties一样
#自定义属性
my.string=How are you
my.string2=How old are youredis.ip=127.0.0.1
redis.port=6888
redis.passwd=it1995
接如下参数:
java -jar demo-0.0.1-SNAPSHOT.jar --my.string=www.it1995.cn
运行截图如下:
关键代码如下:
JavaConf.java
package com.example.demo.conf;import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;@Data
@Component
public class JavaConf {@Value("${my.string}")private String string1;@Value("${my.string2}")private String string2;@Value("${redis.ip}")private String redisIP;@Value("${redis.port}")private Integer redisPort;@Value("${redis.passwd}")private String redisPW;}
DemoApplication.java
package com.example.demo;import com.example.demo.conf.JavaConf;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class DemoApplication implements CommandLineRunner {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}@AutowiredJavaConf javaConf;@Overridepublic void run(String... args) throws Exception {System.out.println("\n\n\n");System.out.println("\n\n\n");System.out.println("\n\n\n");System.out.println("begin");System.out.println(javaConf);System.out.println("---------- 华丽的分割线 ----------");System.out.println("\n\n\n");System.out.println("\n\n\n");}
}
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.21.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.7</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
程序打包下载
下载地址:https://github.com/fengfanchen/Java/tree/master/AnnotateValue
Java工作笔记-@Value注解的使用(可用于配置文件)相关推荐
- Java工作笔记-注解的进一步理解
目录 基本概念 代码与实例 基本概念 注解:说明程序,给计算机看的. 注释:给程序员看的. 作用分类: 编写文档:通过代码里标识的注解生成文档javadoc(生成doc文档) 代码分析:通过代码里标识 ...
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...
- Java学习笔记7-1——注解与反射
目录 注解 注解是啥 内置注解 元注解 @Target @Retention @Documented @Inherited 自定义注解 反射 静态语言 和 动态语言 Java 反射机制概述 Java ...
- Java学习笔记之--------注解(Annotation)
注解的定义 注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等 ...
- Java工作笔记-对反射的进一步理解
目录 基本概念 代码与实例 基本概念 反射的进一步理解: 将类的各个组成部分封装为其他对象(将一个类的组成部分封装为其他对象) 就是反射. Java代码经历的三个阶段: 1. 写好代码.java后使用 ...
- Java工作笔记-webService发布时通用的4个注解
@WebService @WebMethod @WebResult @WebParam @WebService对类进行注解 1. serviceName:对外发布的服务名,指定WebService服务 ...
- Java工作笔记/Java面试题/Java八股文/Java常用API
码农工具包 hutool工具 hutool工具类判断各种类型数据 <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --& ...
- Java学习笔记7-2——注解与反射
目录 理解 Class 类并获取 Class 实例 Class类 获取 Class 类的实例 哪些类型可以有Class对象 所有类型的Class对象 从内存角度分析类加载[重点] 类加载的过程 什么时 ...
- Java工作笔记-使用jquery.timer.js实现数据自动刷新
程序运行截图如下: 程序结构如下: 源码如下: HelloServlet.java package my;import java.io.IOException; import java.io.Prin ...
最新文章
- 黄聪:IE6下css大bug:文字神秘消失,鼠标选择了才出现
- linux error errno 错误对照
- Linux内核spin_lock与spin_lock_irq分析
- 全球及中国生物质能利用产业十四五发展目标及前景容量预测报告2021-2027年
- 政府、学校、企业都需要的轻量级数据填报方案
- 来自开发者的点赞 · 网易云信揽获三大技术奖项
- ADSL提速 从入门到精通
- 《金狐系统维护盘》六周年纪念版UD/ISO +PE维护
- 在ubuntu中搭建guacamole
- JQuery插件iScroll实现下拉刷新,滚动翻页特效
- python popular sites
- 51单片机(AT89S52)设计简单计算器(4位加减乘除)
- UE4相机贴图,屏幕标注
- JS将sql的dateTime格式数据例如:Wed Sep 30 00:00:00 CST 2020 字符串转换成2020-09-30 00:00:00时间格式
- 大数据相加_大数据的相加和相乘
- 算法85----手机九宫格
- C语言复杂构造数据类型ppt,复杂构造数据类型.ppt
- PLS-00201: ORA-20000:
- mongodb中的read concern和write concern
- 二、Apollo高精地图详解(2. 高精地图的采集、生产与格式规范)