SpringBoot(三)——静态资源访问、整合Json、系统启动任务

SpringBoot(三)——静态资源访问、整合Json、系统启动任务

一、静态资源访问

1、默认的静态资源访问

以前 MVC 的静态资源可以在配置类里面自己配置静态资源,这里也是一样的。

可以先去查看源码,看看源码是怎么配置的:
在这里插入图片描述
源码留了四个静态资源位置,按照上述的位置创建好文件夹,也能使用到静态资源的。

还有就是,这里有判断,如果是 web 工程的话,还有个资源位置:
在这里插入图片描述
在这里插入图片描述
这里的斜杠 / :代表的是当前项目,其实说白了代表的是 webapp 目录,如果没有这个目录可以手动创建;创建好以后这个 app 目录下的静态资源也是默认可以访问的。

那么这几个静态资源位置的优先级是怎样的呢?
在这里插入图片描述

2、自定义静态资源访问(配置文件)

在这里插入图片描述

3、自定义静态资源访问(Java 代码)

在这里插入图片描述

二、整合 Json

1、整合 Jackson

相比 MVC 时候的写法,SpringBoot 的 jackson 就方便的多了。

先创建一个实体类:
在这里插入图片描述

然后直接实例化对象并返回:
在这里插入图片描述
然后框架会自动帮我们用 json 格式返回

最后看效果:
在这里插入图片描述

可以看到日期格式没有格式化,如果要格式化,可以这样:
在这里插入图片描述

a、全局配置——第一种方式

在这里插入图片描述

b、第二种方式

在 MVC 的时候也用过这种全局配置方法:
在这里插入图片描述

2、整合 Gson

因为 jackson 是默认加进来的,所以如果要加入 gson ,需要先移除 jackson 配置;如果不去,两个都加入,按照框架的机制,先找到哪个就用哪个。

移除 jackson:
在这里插入图片描述
加入 gson 依赖:
在这里插入图片描述

然后前面添加的那些全局配置可以去掉,不需要任何配置就能使用:

在这里插入图片描述

a、全局配置

在这里插入图片描述

3、整合 Fastjson

使用 fastjson 要先导入依赖,同样的,要去掉 jackson 和 gson:
在这里插入图片描述
接着如果直接运行的话,会报错,需要全局配置完之后才不会报错:
在这里插入图片描述
然后效果:
在这里插入图片描述

当然了,也可以像上面那样其他地方配置:
在这里插入图片描述
注意:这种写法仅限于 fastjson。

三、系统启动任务

1、介绍与理解

这是 SpringBoot 独有的,MVC里面所没有的。

系统启动任务就是项目启动的时候要做的事情。

以前在 Servlet 的时候,或者 MVC 的时候,想这么做的话,要靠 web 三大组件的 Listener 监听器来完成,比如:
在这里插入图片描述

2、SpringBoot 提供的工具

SpringBoot 中提供了两个工具来完成这种需求:
1、CommandLineRunner
2、ApplicationrRunner

3、实现 CommandLineRunner 接口

在这里插入图片描述
在这里插入图片描述

然后看输出:
在这里插入图片描述

这就是按照优先级执行任务。

那么既然是一开始就要执行的任务,该怎么往 args 里面传参数呢?

有两种方法:
第一种方法:
在这里插入图片描述
然后看效果:
在这里插入图片描述

但是这种方法打包之后就没用了。

第二种方法:
这种方法打包之后运行仍然有效:

在这里插入图片描述
在运行打包文件的指令中直接输入,看效果:
在这里插入图片描述

没有问题。

4、实现 ApplicationRunner 接口

基本上和 CommandLineRunner 一样,最大的区别就是这个的参数类型更加丰富:
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
如果是打包的情况:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值