当前位置: 首页 > news >正文

如何寻找网站建设需求客户做简单网站的步骤

如何寻找网站建设需求客户,做简单网站的步骤,google play下载安卓,wordpress让投稿一 背景 springboot 在启动时候会将系统的环境变量、项目的启动时设置的属性 、application.yml文件(或application.properties文件)、PropertySource定义的配置文件中的属性加载到Environment对象中,分布式配置中心框架也会把配置加载到Env…

一 背景

springboot 在启动时候会将系统的环境变量、项目的启动时设置的属性 、application.yml文件(或application.properties文件)、@PropertySource定义的配置文件中的属性加载到Environment对象中,分布式配置中心框架也会把配置加载到Environment中。而springboot的属性注入即@Value、@ConfigurationProperties、xml文件的${.....},就是从Environment拿的数据,再进行解析的,我们要做的就是对Environment的数据源添加自定义的数据和解析过程中执行我们自定义的解析代码。

二 详细需求

 1 根据配置中的内容,动态的添加自定义的配置

如配置文件中只配置了一个用户的id,启动时根据这个id去获取用户信息,并把获取到的信息添加到springboot的配置中,也就是定制我们自己获取属性的方式。这样启动后就能直接用到这个id对应的用户姓名、性别等数据(不可变的数据,可变的数据就涉及到配置动态刷新了,后面再讲),无需再手动调用接口获取。效果如下

1.1 application.yml文件中配置用户id

user:id: 123

1.2 通过这个用户id “123”来使用这个用户的相关信息

1.2.1 @Value
    @Value("${user.123.name}")private String user123Name;@Value("${user.123.sex}")private String user123Age;
1.2.2 @ConfigurationProperties
@Data
@Component
@ConfigurationProperties(prefix = "user.123")
public class UserConfiguration {/*** 姓名*/private String name;/*** 性别*/private String sex;
}
    @Autowiredprivate UserConfiguration userConfiguration;
1.2.3 Environment
    @Autowiredprivate Environment environment;public void configTest() {String user123Age = environment.getProperty("user.123.sex");String user123Name = environment.getProperty("user.123.name");}

2 自定义属性解析方法

如希望对一个配置文件中的属性执行我们自定义的方法,让实际使用这个属性的时候,用的是这个方法转换后的属性,如我配置了一个加密的属性,想通过一个方法解密,使得使用时就是明文

spring:redis:password: decode(abc123)

这个decode就是我们自定义的方法,方法的入参是一个密文,通过这个abc123可以获取到实际的密码。

具体的使用场景如下

1. 在不改变属性名的情况下,对已有的配置做一个增强比如上述说的解密或者追加、替换一些字符,如整合redis的时候需要的密码,不想直接暴漏到项目中,因为属性名是肯定不能变的(redis根据属性名来找属性的),那么就可以自定义一个解密方法来将他的属性值进行解密。

2.将属性值改为之前不存在的属性,如上述1.2中动态新增的属性,当然可以直接这样用

spring:redis:password: ${user.123.name}

,但如果是在执行org.springframework.context.support.PropertySourcesPlaceholderConfigurer#postProcessBeanFactory后添加进去的,那么springboot会找不到这个user.123.name属性,是会直接报错的(ignoreUnresolvablePlaceholders = false时,默认就是false),所以可以自定义一个函数先越过这个校验,在后面再进行真正的赋值。

spring:redis:password: getPassword(user.123.name)

不过这个场景比较鸡肋,因为只要我们控制好动态新增属性的时机那么就完全可以直接用${...}来替换

http://www.yayakq.cn/news/295213/

相关文章:

  • 房城乡建设部网站dede英文网站
  • 网站建设案例简介怎么写电影资源网站怎么做
  • 南京页面网站制作网站建设调查报告
  • 加盟网站建设福建老区建设网站
  • 如何做自己网站的seoapp开发外包要多少钱
  • html模板图片关键词排名优化公司成都
  • 做外贸soho网站的公司重庆网站平台建设
  • 网站没有icp备案怎么访问成都成华区两位区领导聊天记录
  • 如何制作网站页面海口网红
  • 天津市住房和城乡建设部网站网站域名在哪买
  • 找谁做网站优化域名注册人信息
  • 高清无版权网站编程哪个机构学比较好
  • 网站建设方案书0长沙县工程建设质监站网站
  • 网站商城app 建设方案千万别学计算机网络技术
  • wordpress建站教程linux网页设计师工作总结
  • 请人做个网站多少钱手机网站 wap
  • 学网站建设 赚钱网站建设 枫子科技
  • 怎么做一元抢购网站外包建站公司
  • 陕西省安康市建行 网站石家庄那有建网站
  • 网站开发测量像素工具当面付 wordpress
  • 女和男做的视频网站在线建网站
  • soho建网站wordpress评论是关闭还是开启
  • 管理网站怎么做最新汽车网站大全
  • 网站开发教程全集网站正在维护中
  • 简单网站建设公司做网站和做软件
  • asp.net 微信网站网站代做多少钱
  • 一级做c爱片的网站无锡模板网站
  • 建立网站接受投注是什么意思泰安网站建设电话
  • 什么是网站接入商深圳购物网站
  • 网站开发与建设的原则我想开科技怎么开