Spring3.1新特性——profile

作者:pany

时间:2019-3-3 21:36

@all 转载请注明出处

本文概要:

1、什么是profile?

2、使用profile有什么好处?

3、如何使用profile?

我学习一个新东西就是从上面三个方面去学习。

一、什么是profile

profile是Spring3.1的一个新特性,它是用来解决各种环境下选择不同配置问题的,借助profile,我们根据应用部署在什么环境中选择不同的数据源bean。

这么说可能有些同学仍然不太明白,因为很多同学肯定没用过。我直接举例子来说:

对于开发的同学,肯定知道我们的项目是有研发环境、测试环境、生产环境等,我们每个环境不可能都用相同的配置吧,最明显的区别就是数据源。如果这些配置都在一个配置文件里,如下图:

Spring3.1新特性——profile_第1张图片
只有一个配置文件

那么当我们要从研发环境改成测试环境时,我们就得把研发环境的配置文件给注释了,把测试环境的配置给放开,如果只是数据源的区别,或许你还能接受,但是如果三个环境还有更多不同呢?mq环境、nosql的环境等等,当达到三个的时候,我觉得任何人都会觉得麻烦,不灵活。而且java的核心思想是什么?面向对象,面向接口,我们不应该制造一个大杂烩。如下这个Environment类,就好比我们上面的db.properties,无论什么配置都会向里面加。

Spring3.1新特性——profile_第2张图片
Environment

我们将上面的代码改造下:

Spring3.1新特性——profile_第3张图片
Environment

在根据面向对象的思想改造下:

Spring3.1新特性——profile_第4张图片
Spring3.1新特性——profile_第5张图片

也可以面向接口的思想去改造下:

Spring3.1新特性——profile_第6张图片
Spring3.1新特性——profile_第7张图片

虽然我上面的代码可能和总线没有太大关系,只是想表达一个面向对象的思想。我们的配置文件也是一样,真正的项目中是不大可能将配置集中在一个里面,肯定会有多个配置文件,它们分别是

application-development.properties、

application-test.properties、

application-product.properties;

而新特性profile的作用呢就是帮助我们在不同的情况下选择不同的配置文件。

二、使用profile有什么好处

好处我们精简的总结一下:

1、配置清晰

2、开发效率高

3、灵活性好

4、安全

闲话不多说了,我们直接看怎么使用它

三、如何使用profile

你可能感兴趣的:(Spring3.1新特性——profile)