Spring通过配置文件和注解实现属性赋值
前言
在实际开发当中,Spring中bean的属性直接赋值用的不是太多,整理这方面的资料,做一个小结,以备后续更深入的学习。
通过配置文件的方式
以配置文件的方式启动spring容器时,可以使用property标签的value给bean的属性赋值,赋值的形式有以下几种:
<--通过context:property-placeholder将properties文件中的值加载的环境变量中(properties中的属性值最终是以环境变量的形式存储的)> <context:property-placeholder location="classpath:person.properties"/> <bean id="person" class="com.atneusoft.bean.Person" > <--①通过基本数值直接赋值--> <property name="name" value="zhangsan"></property> <--②通过${}取出配置文件中的值--> <property name="age" value="${person.age}"></property> <--③通过Spring的El表达式--> <--<property name="age" value="10*2"></property>--> </bean>
classpath下的properties文件内容
person.age=\u5C0F\u674E\u56DB
通过注解的方式
使用properties的value对应的注解给属性赋值
//使用@PropertySource读取外部配置文件中的k/v保存到运行的环境变量中;加载完外部的配置文件以后使用${}取出配置文件的值 @PropertySource(value={"classpath:/person.properties"}) @Configuration public class MainConfigOfPropertyValues { @Bean public Person person(){ return new Person(); } }
public class Person { //使用@Value赋值; //1、基本数值 //2、可以写SpEL; #{} //3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值) @Value("张三") private String name; @Value("#{20-2}") private Integer age; /* @Value("${person.age}") private Integer age;*/ }
注:
外部配置文件中的k/v保存到运行的环境变量中,可以直接在环境变量中取出对应的值
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);
ConfigurableEnvironment environment = applicationContext.getEnvironment();
String property = environment.getProperty("person.age");
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Spring Boot jar中没有主清单属性的解决方法
使用Spring Boot微服务搭建框架,在eclipse和Idea下能正常运行,但是在打成jar包部署或者直接使用java -jar命令的时候,提示了xxxxxx.jar中没有主清单属性: D:\hu-git\spring-xxx-xxx\target>java -jar spring-cloud-eureka-0.0.1-SNAPS HOT.jar spring-xxx-xxx-0.0.1-SNAPSHOT.jar中没有主清单属性 通过maven打jar包:mvn install, 或者在I
-
spring为类的静态属性实现注入实例方法
我们知道,正常情况下,spring的一个bean要依赖其他资源,如properties或其他bean,直接利用@Value或@Autowired就可以了.这两个注解就相当于spring application context xml文件定义bean时的property节点.相当于调用了每个属性的set方法. <bean id="person" class="com.myapp.core.spel.xml.Person"> <property nam
-
Spring@Value属性注入使用方法解析
这篇文章主要介绍了Spring@Value属性注入使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在使用Spring框架的项目中,@Value是使用比较频繁的注解之一,它的作用是将配置文件中key对应的值赋值给它标注的属性.在日常使用中我们常用的功能都比较简单,本篇文章系统的带大家来了解一下@Value的使用方法. @Value注入支持形式 @Value属性注入功能根据注入的内容来源可分为两类:通过配置文件的属性注入和通过非配置文件
-
SpringBoot没有主清单属性的解决方法
解决 SpringBoot 没有主清单属性 问题:SpringBoot打包成jar后运行提示没有主清单属性 解决:补全maven中的bulid信息 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring.version}</version>
-
Spring实战之获取其他Bean的属性值操作示例
本文实例讲述了Spring实战之获取其他Bean的属性值操作.分享给大家供大家参考,具体如下: 一 配置 <?xml version="1.0" encoding="GBK"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xml
-
springboot中用fastjson处理返回值为null的属性值
我们先来看代码: @Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() { FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter()
-
spring框架配置实体类复杂属性注入xml文件过程详解
spring框架是javaWeb项目中至关重要的一个框架,大多web 项目在工作层次上分为持久层.服务层.控制层.持久层(dao.mapper)用于连接数据库,完成项目与数据库中数据的传递:服务层(service)主要完成项目中各种业务(增.删.改.查),连接持久层.控制层,还和各种实体类打交道,而控制层主要和web前端页面打交道,与页面传递数据. 今天,主要介绍服务层的框架spring,也是各种整合框架最核心的框架.主要介绍spring中的一个小知识点,很难记的,那就是在spring框架对实体
-
Spring Boot中的属性绑定的实现
之前翻译了一篇不怎么样的文章,主要是翻译的水平有限,自己翻译的云里雾里,发现平时只会有@ConfigurationProperties注解,对SpringBoot强大的属性绑定知之甚少,所以以那篇文章为线索,重新学习了一遍. @ConfigurationProperties 在使用的时候,我们往往只关心两件事,属性怎么绑定,即属性文件中的值和配置类中字段的映射关系:其次是类实例化的时机.故而衍生开来ConfigurationProperties有三种用法. @Component + @Confi
-
Spring通过配置文件和注解实现属性赋值
前言 在实际开发当中,Spring中bean的属性直接赋值用的不是太多,整理这方面的资料,做一个小结,以备后续更深入的学习. 通过配置文件的方式 以配置文件的方式启动spring容器时,可以使用property标签的value给bean的属性赋值,赋值的形式有以下几种: <--通过context:property-placeholder将properties文件中的值加载的环境变量中(properties中的属性值最终是以环境变量的形式存储的)> <context:property-pl
-
Spring注解驱动开发实现属性赋值
前言 在实际开发当中,Spring中bean的属性直接赋值用的不是太多,整理这方面的资料,做一个小结,以备后续更深入的学习. 通过配置文件的方式 以配置文件的方式启动spring容器时,可以使用property标签的value给bean的属性赋值,赋值的形式有以下几种: <--通过context:property-placeholder将properties文件中的值加载的环境变量中(properties中的属性值最终是以环境变量的形式存储的)> <context:property-pl
-
Spring Boot 配置文件类型properties 格式与yml 格式
目录 一 配置文件类型 二 配置文件 2.1 核心配置文件 2.1.1 bootstrap.yml(bootstrap.properties) 2.1.2 application.yml(application.properties) 2.2 自定义配置文件 三 配置文件读取 3.1 读取核心配置文件信息 3.1.1 Environment方式 3.1.2 @Value方式 3.1.3 @ConfigurationProperties方式 3.2 读取自定义配置文件信息 3.2.1 @Prope
-
详解Spring注解驱动开发之属性赋值
一.@Value注解 在Person的属性上使用@Value注解指定注入值 public class Person { @Value("#{20-2}") //SpEL表达式 #{} private Integer id; @Value("张三") //基本数据类型 private String name; } 配置类 @Configuration public class MainConfigOfPropertyValues { @Bean public Pers
-
Spring中如何使用@Value注解实现给Bean属性赋值
目录 属性赋值 @Value注解的定义: 测试 1.在添加了Spring依赖的Maven项目中创建 2.在resources目录下创建一个配置文件person.properties 3.创建配置类 4.创建测试类进行测试 5.测试结果: 如何给Bean的属性赋值(注入) 1.通过构造方法设置值. 2.设置注入(通过set方法) 属性赋值 只用Spring注解开发的时候,可以使用@Value搭配@PropertySource注解进行给Bean的属性进行赋值. @Value @Value注解的定义:
-
Spring中利用配置文件和@value注入属性值代码详解
1 简单属性值注入 package com.xy.test1; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @Service // 需要被注入属性值的类需要被Spring管理 public class PropertiesService1 { // 利用@Value注解,即使没有该属性或者属性文件也不会报错 // @Value输入
-
基于Spring boot @Value 注解注入属性值的操作方法
本文主要介绍Spring @Value 注解注入属性值的使用方法的分析,文章通过示例代码非常详细地介绍,对于每个人的学习或工作都有一定的参考学习价值 在使用spring框架的项目中,@Value是经常使用的注解之一.其功能是将与配置文件中的键对应的值分配给其带注解的属性.在日常使用中,我们常用的功能相对简单.本文使您系统地了解@Value的用法. @Value注入形式 根据注入的内容来源,@ Value属性注入功能可以分为两种:通过配置文件进行属性注入和通过非配置文件进行属性注入. 非配置文件注
-
Spring Bean生命周期之属性赋值阶段详解
目录 前言 属性自动装配 属性赋值前回调 属性的真正赋值 总结 前言 上节在谈论Bean的实例化过程时,在说明实例化后阶段时只是粗略地看了一下populateBean,并未展开分析.本节接着populateBean开始分析对象赋值阶段的事情. populateBean其实主要做了以下几件事: Bean实例化后回调,来决定是否进行属性赋值 (上节分析过了) 对属性进行自动装配 InstantiationAwareBeanPostProcessor属性赋值前回调 属性的真正赋值 protected
-
Spring配置文件无法读取properties属性的解决
目录 Spring配置文件无法读取properties @Value读取properties类型错误 Invalid boolean value [${spring.datasource.testWhileIdle}] eclipse解决方案 idea解决方案 Spring配置文件无法读取properties 在Spring项目的配置文件中引用properties属性文件中的属性,运行时无法识别properties属性文件中的属性引用,但properties属性文件和属性明明已经存在 例如: 要
-
Spring populateBean属性赋值和自动注入
目录 正文 一.postProcessAfterInstantiation:修改Bean实例 二.autowireByName:根据名称自动注入 三.autowireByType:根据类型自动注入 四.postProcessPropertyValues:处理属性值(@Resource.@Autowired.@Value) 五.applyPropertyValues:填充属性 5.1 解析依赖 5.2 解析List 正文 protected void populateBean(String bea
随机推荐
- 跟老齐学Python之传说中的函数编写条规
- Golang加密解密之RSA(附带php)
- DB2编程序技巧 (四)
- JS获取鼠标坐标的实例方法
- 彻底理解Java 中的ThreadLocal
- iOS开发之tableView点击下拉扩展与内嵌collectionView上传图片效果
- spring boot + jpa + kotlin入门实例详解
- Python去除列表中重复元素的方法
- Python程序中用csv模块来操作csv文件的基本使用教程
- javascript实现动态标签云
- js下获取div中的数据的原理分析
- PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
- MySQL与存储过程的相关资料
- jQuery实现的简单百分比进度条效果示例
- jquery模拟进度条实现方法
- jQuery学习笔记之jQuery中的$
- PHP中限制IP段访问、禁止IP提交表单的代码
- Java中Hashtable类与HashMap类的区别详解
- php中注册器模式类用法实例分析
- 解析curl提交GET,POST,Cookie的简单方法