(梳理)Spring部分用法技巧一

一、自定义异常页面

对于 404、405、500等异常状态,服务器会给出默认的异常页面,而这些异常页面一般都是英文的,且非常不友好。我们可以通过简单的方式使用自定义异常页面,并将默认状态码页面进行替换。

具体操作:

在 src/main/resources目录下再定义新的目录public/error,必须是这个目录名称。在 error 目录中定义异常页面。这些异常页面的名称必须为相应的状态码,扩展名为 html。

image

二、多环境选择

1、什么是多环境选择

以下两种场景下需要进行“多环境选择”。

相同代码运行在不同环境

在开发应用时,通常同一套程序会被运行在多个不同的环境,例如,开发、测试、生产环境等。每个环境的数据库地址、服务器端口号等配置都会不同。若在不同环境下运行时将配置文件修改为不同内容,那么,这种做法不仅非常繁琐,而且很容易发生错误。此时就需要定义出不同的配置信息,在不同的环境中选择不同的配置。

不同环境执行不同实现类

在开发应用时,有时不同的环境,需要运行的接口的实现类也是不同的。例如,若要开发一个具有短信发送功能的应用,开发环境中要执行的send()方法仅需调用短信模拟器即可,而生产环境中要执行的send()则需要调用短信运营商所提供的短信发送接口。此时就需要开发两个相关接口的实现类去实现send()方法,然后在不同的环境中自动选择不同的实现类去执行。

2、多配置文件实现方式

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties 的格式,其中{profile}为对应的环境标识,例如:

  • application-dev.properties:开发环境
  • application-test.properties:测试环境
  • application-prod.properties:生产环境

至于哪个配置文件会被加载,则需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。

例如,spring.profiles.active=test就会加载application-test.properties配置文件内容。在生产环境下application.properties中一般配置通用内容,并设置spring.profiles.active属性的值为dev,即,直接指定要使用的配置文件为开发时的配置文件,而对于其它环境的选择,一般是通过命令行方式去激活。配置文件application-{profile}.properties 中则配置各个环境的不同内容。

image

image

image

image

在实现类上添加@Profile注解,并在注解参数中指定前述配置文件中的{profile}值,用于指定该实现类所适用的环境。

image

image

3、在命令行下选择环境

将工程打为 Jar包后,在命令行运行。若要想切换运行环境,必须要修改主配置文件吗?答案是否定的。只需添加一个命令参数即可动态指定。

将当前工程打为 Jar 包后,在命令行运行时添加如下参数。
image

在命令行中添加的参数可以是写在配置文件中的任意属性。其原理是命令行设置的属性值的优选级高于配置文件的。

3、单配置文件实现方式

这种实现方式只能使用application.yml文件,使用application.properties 文件好像文件本身就会出错。

image

运行与访问方式与前面的多配置文件的完全相同。

三、读取自定义属性

1、读取主配置文件中的属性

我们可以在主配置文件中添加自定义属性,然后在@Value注解中通过${ }符号可以读取指定的属性值。

image

image

2、读取指定配置文件中的属性

一般情况下,主配置文件中存放系统中定义好的属性设置,而自定义属性一般会写入自定义的配置文件中。也就是说,Java 代码除了可以读取主配置文件中的属性外,还可以读取指定配置文件中的属性,可以通过@PropertySource注解加载指定的配置文件。

  • 不能自定义 yml文件。spring boot官网给出说明,@PropertySource 注解不能加载 yml文件。所以其建议自定义配置文件就使用属性文件。

偷个懒,具体操作方法阅读官方文档。

四、Spring Boot 下使用 JSP 页面

在 Spring Boot下直接使用JSP文件,其是无法解析的,需要做专门的配置。

1、添加 jasper 依赖

在 pom 中添加一个 Tomcat内嵌的jsp引擎,jasper依赖。jsp 引擎是用于解析 jsp 文件的,即将 jsp 文件解析为 Servlet 是由 jsp 引擎完成的。embed,嵌入。

image

2、创建 webapp 目录
3、注册资源目录

在 pom 文件中将 webapp 目录注册为资源目录。

image

不过,我们一般会添加两个资源目录:

image

3、指定 web 资源目录

在 spring boot工程中若要创建jsp文件,一般是需要在src/main 下创建 webapp目录,然后在该目录下创建jsp文件。但通过 Alt + Insert发现没有创建jsp文件的选项。此时,需要打开 Project Structrue窗口,将webapp目录指定为web资源目录,然后才可以创建 jsp 文件

image

image

做完上述的操作之后,我们就可以使用jsp页面,并跳转访问了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Insane阿庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值