资讯专栏INFORMATION COLUMN

二.spring-boot:基本配置

mo0n1andin / 2558人阅读

摘要:随机值配置文件配置文件中可以用来生成各种不同类型的随机值,从而简化了代码生成的麻烦,例如生成值值或者字符串。多环境配置是用来针对不同环境提供不同配置的支持全局配置使用。通过中设置值在下新建和文件并分别配置中配置默认值使用拓展

一.基本配置 1.1 springboot入口类@SpringBootApplication

@SpringBootApplication 是springboot的核心注解,它是一个组合注解:

@Target(ElementType.TYPE)    
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration    
@ComponentScan(excludeFilters = {
        @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
        

虽然定义使用了多个Annotation进行了原信息标注,但实际上重要的只有三个Annotation:

@Configuration(@SpringBootConfiguration点开查看发现里面还是应用了@Configuration)
这里的@Configuration对我们来说不陌生,它就是JavaConfig形式的Spring Ioc容器的配置类使用的那个@Configuration,SpringBoot社区推荐使用基于JavaConfig的配置形式,所以,这里的启动类标注了@Configuration之后,本身其实也是一个IoC容器的配置类。

@EnableAutoConfiguration,大家是否还记得Spring框架提供的各种名字为@Enable开头的Annotation定义?比如@EnableScheduling、@EnableCaching、@EnableMBeanExport等,@EnableAutoConfiguration的理念和做事方式其实一脉相承,简单概括一下就是,借助@Import的支持,收集和注册特定场景相关的bean定义。

@ComponentScan这个注解在Spring中很重要,它对应XML配置中的元素,@ComponentScan的功能其实就是自动扫描并加载符合条件的组件(比如@Component和@Repository等)或者bean定义,最终将这些bean定义加载到IoC容器中。

1.2 定制Banner

springboot在启动的时候

src/main/resource下新建一个banner.txt文件

通过生成字符网站生成想要的字符如:lvmama

1.3 springboot 配置文件 1.3.1 文件自定义属性

spring Boot使用一个全局配置文件application.properties或application.yml,作用是对一些默认的配置进行修改,一个简单的案例:

将Tomcat默认端口8080修改成8088,默认的访问路径"/"改为"/lvmama"

application.yml:

server:
  port: 8088
  context-path: /lvmama

application.properties

server.port: 8088
server.context-path: /lvmama

推荐使用application.yml,配合看起来更直观,清晰。yml 文件在写的时候层次感强,而且少写了代码。

1.3.1 随机值配置文件

配置文件中${random} 可以用来生成各种不同类型的随机值,从而简化了代码生成的麻烦,例如 生成 int 值、long 值或者 string 字符串。

dudu.secret=${random.value}
dudu.number=${random.int}
dudu.bignumber=${random.long}
dudu.uuid=${random.uuid}
dudu.number.less.than.ten=${random.int(10)}
1.3.2 外部配置-命令行参数配置
java -jar xx.jar --server.port=9090
1.3.3 配置文件的优先级

application.properties和application.yml文件可以放在一下四个位置:

外置,在相对于应用程序运行目录的/congfig子目录里。

外置,在应用程序运行的目录里

内置,在config包内

内置,在Classpath根目录

同样,这个列表按照优先级排序,也就是说,src/main/resources/config下application.properties覆盖src/main/resources下application.properties中相同的属性,如图:

此外,如果你在相同优先级位置同时有application.properties和application.yml,那么application.yml里面的属性就会覆盖application.properties里的属性。

1.3.4 Profile-多环境配置

Profile是Spring用来针对不同环境提供不同配置的支持,全局Profile配置使用application-{profile}.properties。通过application.properties中设置spring.profiles.active值

在src/resources/下新建application-normal.yml和application-trunk.yml文件并分别配置

application-normal.yml

server:
  port: 8080
  context-path: /lvmama/normal

application-trunk.yml

 server:
  port: 80
  context-path: /lvmama/trunk
  

application.properties中配置默认值:

spring:
  profiles:
    active: trunk

使用 mvn spring-boot:run -Drun.profiles=normal

拓展:

http://blog.javachen.com/2016...
http://blog.csdn.net/lihe2008...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70737.html

相关文章

  • spring-boot创建最简单的web应用

    摘要:初衷看了一下相关的书籍,创建一个的应用,是那么的简单。首先,我们只是创建一个简单的并不打算使用默认的,而是使用传统的。在下创建目录并且在目录下新建,内容为页面。如果是在内置的的情况下,应用会自动重启。 初衷 看了一下spring-boot相关的书籍,创建一个hello world!的应用,是那么的简单。然而,自己动手,却很不一样。 首先,我们只是创建一个简单的hello world!并...

    xiaolinbang 评论0 收藏0
  • 记录spring-boot 1.5.9升级至2.0.1的那些坑

    摘要:前两天组里的大佬心血来潮,让我这周把项目里的版本升级到最新版本,目前项目用到的是版本为的版本为现在按照要求统一升级到。三数据库连接池同样也是版本不兼容,需要升级到,亲测有效。差不多这些,后续遇到其他问题还会继续补充。 前两天组里的大佬心血来潮,让我这周把项目里的spring-boot、spring-cloud版本升级到最新版本,目前项目用到的是spring-boot版本为1.5.9.R...

    gitmilk 评论0 收藏0
  • SpringBoot 入门简介

    摘要:这里使用的是数据库启动类上加上注解在启动类中添加对包扫描扫描多个包下的可以有以下几种方法扫描会自动加载相关配置,数据源就会自动注入到中,会自动注入到中,可以直接使用。有配置文件下的使用扫描多个包下的可以有以下几种方法扫描 Spring-Boot 学习笔记 1 Spring-Boot 介绍 1.1 什么是Spring-Boot Spring-Boot是由Pivotal团队提供的全新框架...

    chuyao 评论0 收藏0
  • 从零开始实现一个简易的Java MVC框架

    摘要:不过仔细了解了一段时候发现,其实他的原理是很简单的,所以想要自己也动手实现一个功能类似的框架。原文地址从零开始实现一个简易的框架 前言 最近在看spring-boot框架的源码,看了源码之后更是让我感受到了spring-boot功能的强大。而且使用了很多的设计模式,让人在看的时候觉得有点难以下手。 不过仔细了解了一段时候发现,其实他的原理是很简单的,所以想要自己也动手实现一个功能类似的...

    neuSnail 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<