Spring4中的@Value的使用(学习笔记)
来源:互联网 发布:网络大神作家经典作品 编辑:程序博客网 时间:2024/05/18 00:07
1、@Value用途介绍
Spring主要在注解@Value的参数中使用表达式
@Value的使用主要有以下几种情况
(1)注入普通字符
(2)注入操作系统属性
(3)注入表达式运算结果
(4)注入其他Bean的属性
(5)注入文件内容
(6)注入网址内容
(7)注入属性文件
2、案例编写之项目目录结构
3、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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.wisely</groupId> <artifactId>highlight_spring4</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <java.version>1.8</java.version> <spring-framework.version>4.1.5.RELEASE</spring-framework.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring-framework.version}</version> </dependency> <!-- spring aop支持 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring-framework.version}</version> </dependency> <!-- aspectj支持 --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.8.6</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.5</version> </dependency> <!-- Spring test 支持 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring-framework.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>jsr250-api</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring-framework.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> </plugins> </build></project>
4、test.txt的内容
测试文件
5、test.properties的内容
book.author=wangyunfeibook.name=spring boot
6、DemoService的内容
package com.wisely.highlight_spring4.ch2.el;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Service;@Servicepublic class DemoService { @Value("其它类的属性") private String another; public String getAnother() { return another; } public void setAnother(String another) { this.another = another; }}
7、ElConfig的内容
package com.wisely.highlight_spring4.ch2.el;import org.apache.commons.io.IOUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.PropertySource;import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;import org.springframework.core.env.Environment;import org.springframework.core.io.Resource;@Configuration@ComponentScan("com.wisely.highlight_spring4.ch2.el")@PropertySource("classpath:test.properties")public class ElConfig { @Value("I Love You!") //1 private String normal; @Value("#{systemProperties['os.name']}") //2 private String osName; @Value("#{ T(java.lang.Math).random() * 100.0 }") //3 private double randomNumber; @Value("#{demoService.another}") //4 private String fromAnother; @Value("classpath:test.txt") //5 private Resource testFile; @Value("http://www.baidu.com") //6 private Resource testUrl; @Value("${book.name}") //7 private String bookName; @Autowired private Environment environment; //7 @Bean //7 public static PropertySourcesPlaceholderConfigurer propertyConfigure() { return new PropertySourcesPlaceholderConfigurer(); } public void outputResource() { try { System.out.println(normal); System.out.println(osName); System.out.println(randomNumber); System.out.println(fromAnother); System.out.println(IOUtils.toString(testFile.getInputStream())); System.out.println(IOUtils.toString(testUrl.getInputStream())); System.out.println(bookName); System.out.println(environment.getProperty("book.author")); } catch (Exception e) { e.printStackTrace(); } }}
8、Main的内容
package com.wisely.highlight_spring4.ch2.el;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ElConfig.class); ElConfig resourceService = context.getBean(ElConfig.class); resourceService.outputResource(); context.close(); }}
9、最终运行的结果
阅读全文
0 0
- Spring4中的@Value的使用(学习笔记)
- Spring4学习笔记-AOP
- Spring4学习笔记
- Spring4学习笔记-JDBC
- Spring4实战学习笔记
- Spring4实战学习笔记
- Spring4 学习笔记
- Spring4学习笔记-Spring4整合Hibernate4
- Spring4.0学习笔记-bean之间的关系,作用域以及使用外部属性文件
- Spring4.0学习笔记 第二章 自动装配(使用自定义的限定符注解)
- Spring4学习笔记(七):bean的作用域和使用外部属性文件
- Hibernate4与Spring4整合,使用Junit4测试相关学习笔记
- spring4中@value在子父容器中使用时遇到的问题
- Spring4学习笔记-Spring4整合Struts2(基于配置文件的方式)
- Spring4.0学习笔记--IOC
- Spring4.0学习笔记--AOP
- Java.Web学习笔记 Spring4
- Spring4.0学习笔记-1
- 机器学习算法-聚类(一、性能度量和距离计算)
- 【译文】构建一个图书推荐系统 – 基础知识、knn算法和矩阵分解
- hdoj-1045 Fire Net
- Java知识--基本数据类型
- JS版]基于百度地图的 Overlay 扩展,仿Q房网实现自定义覆盖物
- Spring4中的@Value的使用(学习笔记)
- Codeforces 1A. Theatre Square
- softmax层的实现
- 课后习题page100.pp.3.2
- 【51nod】1050 循环数组最大子段和
- [洛谷 2822]组合数问题---二项式定理+前缀和
- 【SQL Server学习笔记】20:JOIN运算符与其三种联结查询
- 日常笔记- finally的作用到底是什么
- Java SE、Java EE、Java ME三者的区别