Spring Boot 实践折腾记(五):自定义配置,扩展Spring MVC配置并使用fastjson

专注和简单一直是我的秘诀之一。
简单可能比复杂更难做到:你必须努力理清思路,从而使其变得简单。
但最终这是值得的,因为一旦你做到了,便可以创造奇迹。
——乔布斯

题记

前两天有点忙,没有连续更新,今天接着聊。金句里老乔的话说得多好,但能真正做到的人又有多少?至少就我个人而言,我还远远没有做到这样,只是一个在朝着这个方向努力的人,力求简明易懂,用大白话让人快速的明白理解,简单的例子上手,让使用的人更多的去实战使用扩展,折腾记即是对自己学习使用很好的一次总结,对看的人也是一个参考的方法,希望大家能够找到对自己有用的思路或方法。今天主要说的是,继续上一章的配置,我们自己如何自定义类型安全的配置,并使用一个常用的工具fastjson集成来切入,虽然有自定义的jackson和gson,折腾记就是要折腾一下嘛,不然怎么能打开新思路。

类型安全的配置

在上一篇文章中,我们有使用过直接在application.properties中设置变量,这种方式是Spring中常用的方式,但对Spring Boot来说,既不是安全的,也会因为频繁使用@Value来注入配置而过于繁琐,项目中使用起来尤其麻烦,真实项目中的变量就不像我演示的Demo里的只有一两行了,很多时候都会是几十行上百行,所以,Spring Boot中提供了基于类型安全的配置方式,通过@ConfigurationProperties将properties属性和一个Bean及其属性关联,从而实现类型安全的配置。

实战1:自定义的配置通过类似Service的方式注入是使用

项目使用:boot_properties

1、创建Bean。

// TestInfoSettings.class

@Component
@ConfigurationProperties( //1
        prefix = "usetest",
        locations = "classpath:config/app.properties"
)
public class TestInfoSettings {
   
   
    private String name;
    private String age;
	//省略get、set
}

说明:
1:@ConfigurationProperties加载properties文件内的配置,prefix属性指定配置的前缀,例如:usetest.*=string 。locations可以指定自定义的文件位置,不指定默认使用application.properties。

2、在src/main/resources下新增config/app.properties。

usetest.name=mickjoust
usetest.age=18

3、在Controller里添加一个接口调用.

//TestController.class

...原有省略

@RequestMapping("/showSetting")
    public Object showSetting(){
   
   
        StringBuffer sb = new StringBuffer();
        sb.append("setting name is : ").append(testInfoSettings.getName());
        sb.append("setting age is : ").append(testInfoSettings.getAge());
        sb.append("all is : ").append(testInfoSettings);
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值