kotlin spring @value 注解
spring boot和kotlin里静态类使用@Value注解配置解决方案
前言
spring boot里默认是不能给静态属性使用@Value赋值的。所以这里使用中间变量过渡绑定。
方案
//applicaton.yml配置
isDebug:true
name:cy
//Test类保存配置信息。使用@Value取配置里的isDebug和name变量值。
//spring boot写法
@Component
public class Test {
public static Boolean isDebug = false;
public static String name = "";
@Value("${isDebug}")
public void setIsDebug(Boolean isDebug) {
Test.isDebug = isDebug;
}
@Value("${name}")
public void setname(static name) {
Test.name = name;
}
}
//kotlin写法,使用伴生对象companion object语法模拟静态类
@Component
class Test {
@Value("\${isDebug}")
fun setIsDebug(isDebug: Boolean?) {
Test.isDebug = isDebug
}
@Value("\${name}")
fun setname() {
Test.name = name
}
companion object {
var isDebug: Boolean? = false
var name = ""
}
}
注意
@Component注解必需要有。
setter方法里static不要加
isXXX变量首字母也要大写
注意spring boot的java写法变量使用static,kotlin里使用companion object
---------------------
作者:陈袁
来源:CSDN
原文:https://blog.csdn.net/achenyuan/article/details/81332882
版权声明:本文为博主原创文章,转载请附上博文链接!
kotlin spring @value 注解的更多相关文章
- Spring MVC注解的一些案列
1. spring MVC-annotation(注解)的配置文件ApplicationContext.xml <?xml version="1.0" encoding=& ...
- Spring系列之Spring常用注解总结
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件 ...
- spring @condition 注解
spring @condition注解是用来在不同条件下注入不同实现的 demo如下: package com.foreveross.service.weixin.test.condition; im ...
- spring mvc(注解)上传文件的简单例子
spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...
- Spring的注解方式实现AOP
Spring对AOP的实现提供了很好的支持.下面我们就使用Spring的注解来完成AOP做一个例子. 首先,为了使用Spring的AOP注解功能,必须导入如下几个包.aspectjrt.jar,asp ...
- Spring 之注解事务 @Transactional
众所周知的ACID属性: 原子性(atomicity).一致性(consistency).隔离性(isolation)以及持久性(durability).我们无法控制一致性.原子性以及持久性,但可以 ...
- 数据库事务中的隔离级别和锁+spring Transactional注解
数据库事务中的隔离级别和锁 数据库事务在后端开发中占非常重要的地位,如何确保数据读取的正确性.安全性也是我们需要研究的问题.ACID首先总结一下数据库事务正确执行的四个要素(ACID): 原子性(At ...
- Spring JSR-250注解
Java EE5中引入了“Java平台的公共注解(Common Annotations for the Java Platform)”,而且该公共注解从Java SE 6一开始就被包含其中. 2006 ...
- 【SSM 2】spring常用注解
声明:以下观点,纯依据个人目前的经验和理解,有不当之处,多指教! 一.基本概述 注解(Annotation):也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举 ...
随机推荐
- 带你剖析WebGis的世界奥秘----点和线的世界(转)
带你剖析WebGis的世界奥秘----点和线的世界 转:https://zxhtom.oschina.io/zxh/20160813.html 编程 java 2016/08/13 0留言, 0 ...
- php-fpm, nginx ,fastcgi ,php-cgi 关系粗解
首先,CGI 是干什么的? CGI 是为了保证web server传递过来的数据是标准格式.CGI 是个协议和 进程没什么关系. CGI 是http服务器于你的本机或者其他电脑上的程序交谈的一种工 ...
- 4-fiddler抓包中文乱码:
接受到的html被压缩了,要解压,在工具栏有decode
- Python3.7安装Django
一.系统环境 操作系统:Win7 64位 Python版本:3.7 二.安装参考 Django的下载网址:https://www.djangoproject.com/download/ 当前最新版本: ...
- PCL 编译中遇到 error C4996: 'pcl::SAC_SAMPLE_SIZE'
1. error C4996: 'pcl::SAC_SAMPLE_SIZE': This map is deprecated and is kept only to prevent breaking ...
- c语言学习笔记 switch case语句为什么要加break
先来看一个没有break的例子: int main() { int a = 1; switch (a) { case 1: printf("1"); case 2: printf( ...
- SharePoint配置网站集的审核设置
配置网站集的审核设置 您可以使用 Microsoft SharePoint Server 2010 的审核功能来跟踪哪些用户对网站集的网站.内容类型.列表.库.列表项和库文件执行了哪些操作.了解谁对哪 ...
- exe文件停止运行的情况
1.程序问题. 2.服务器问题. 3.内存占用问题. 一般情况下,关掉程序,重新打开就可以. 上述情况不行,则关掉电脑,重启. 再不行,Ctr + Alt + Del关掉程序的进程. 不行, Win ...
- 在C#中使用科大讯飞Web API进行语音合成
最近工作中需要用到讯飞语音合成接口,网上看了下基本都是Java,PHP,Python版本的,正好补上C# 版本,代码比较简单. 首先在讯飞开放平台上创建一个WebApi项目,取到APPID与APIK ...
- c#设计模式之:组合模式(Composite)
一:引言 在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况,例如对操作系统中目录的处理,因为目录客园包括单独的文件,也可以包括文件夹,文件夹又是由文件组成的,由于简单对象和复合对象在功能上 ...