当前位置: 首页 > wzjs >正文

苏州网络网站建设怎么制作视频网站

苏州网络网站建设,怎么制作视频网站,为网站添加isapi扩展,网站怎样赚钱一、SpringApplication (1)自定义 banner 类路径添加 banner.txt 或设置 spring.banner.location 就可以定制 banner推荐网站:Spring Boot banner在线生成工具,制作下载英文banner.txt,修改替换banner.txt文字实现自…

一、SpringApplication

(1)自定义 banner

  1. 类路径添加 banner.txt 或设置 spring.banner.location 就可以定制 banner
  2. 推荐网站:Spring Boot banner在线生成工具,制作下载英文banner.txt,修改替换banner.txt文字实现自定义,个性化启动banner-bootschool.net

(2)自定义 SpringApplication

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class MyApplication {public static void main(String[] args) {SpringApplication application = new SpringApplication(MyApplication.class);application.setBannerMode(Banner.Mode.OFF);application.run(args);}}

(3)FluentBuilder API

new SpringApplicationBuilder().sources(Parent.class).child(Application.class).bannerMode(Banner.Mode.OFF).run(args);

二、Profiles

环境隔离能力;快速切换开发测试生产环境

步骤

  1. 标识环境:指定哪些组件、配置在哪个环境生效
  2. 切换环境:这个环境对应的所有组件和配置就应该生效

(1)使用

2.1.1指定环境

  1. Spring Profiles 提供一种隔离配置的方式,使其仅特定环境生效
  2. 任何@Component, @Configuration 或 @ConfigurationProperties 可以使用 @Profile 标记,来指定何时被加载。【容器中的组件都可以被 @Profile标记】
    /*** 环境隔离:* 1、标识环境*    1)、区分出几个环境: dev(开发环境)、test(测试环境)、prod(生产环境)*    2)、指定每个组件在哪个环境下生效; default环境:默认环境*          通过: @Profile({"test"})标注*          组件没有标注@Profile代表任意时候都生效*    3)、默认只有激活指定的环境,这些组件才会生效。* 2、激活环境*    配置文件激活:spring.profiles.active=dev;*    命令行激活: java -jar xxx.jar  --spring.profiles.active=dev** 3、配置文件怎么使用Profile功能*    1)、application.properties: 主配置文件。任何情况下都生效*    2)、其他Profile环境下命名规范:  application-{profile标识}.properties:*          比如:application-dev.properties*    3)、激活指定环境即可:  配置文件激活、命令行激活*    4)、效果:*        项目的所有生效配置项 = 激活环境配置文件的所有项 + 主配置文件和激活文件不冲突的所有项*        如果发生了配置冲突,以激活的环境配置文件为准。*        application-{profile标识}.properties 优先级高于 application.properties**        主配置和激活的配置都生效,优先以激活的配置为准*/

2.1.2环境激活

  1. 配置文件中激活指定环境
    spring.profiles.active=production,hsqldb
  2. 也可以使用命令行激活
  3. 还可以配置默认环境 不标注@Profile 的组件永远都存在
    1. 以前默认环境叫default
    2. spring.profiles.default=test
  4. 推荐使用spring.profiles.active,而不是spring.profiles.default

2.1.3环境包含

注意

  1. spring.profiles.active 和spring.profiles.default 只能用到 无 profile 的文件中(即application.properties/yaml),如果在application-dev.yaml中编写就是无效的
  2. 也可以额外添加生效文件,而不是激活替换。比如:application-dev.yaml

最佳实战

  1. 生效的环境 = 激活的环境/默认环境 + 包含的环境
    spring.profiles.include[0]=common
    spring.profiles.include[1]=local
  2. 项目里面这么用
    1. 基础的配置mybatis、log、xxx:写到包含环境
    2. 需要动态切换变化的 db、redis:写到激活的环境

(2)Profile分组

  1. 创建prod组,指定包含db和mq配置
    spring.profiles.group.prod[0]=db
    spring.profiles.group.prod[1]=mq
  2. 使用--spring.profiles.active=prod ,就会激活prod,db,mq配置文件

(3)Profile配置文件

  1. application-{profile}.properties(就是像这种:application-dev.properties)可以作为指定环境的配置文件
  2. 激活这个环境配置就会生效。最终生效的所有配置是
    1. application.properties:主配置文件,任意时候都生效
    2. application-{profile}.properties:指定环境配置文件,激活指定环境生效
  3. profile优先级 > application 

三、外部化配置

场景:线上应用如何快速修改配置,并应用最新配置?

  1. SpringBoot 使用 配置优先级 + 外部配置 简化配置更新、简化运维
  2. 只需要jar应用所在的文件夹放一个application.properties最新配置文件重启项目就能自动应用最新配置

(1)配置优先级

我们可以使用各种外部配置源,包括Java Properties文件YAML文件环境变量命令行参数

@Value可以获取值,也可以用@ConfigurationProperties将所有属性绑定到java object中

以下是 SpringBoot 属性源加载顺序。后面的会覆盖前面的值。由低到高,高优先级配置覆盖低优先级

  1. 默认属性(通过SpringApplication.setDefaultProperties指定的)
  2. @PropertySource指定加载的配置(需要写在@Configuration类上才可生效)
  3. 配置文件(application.properties/yml等)
  4. RandomValuePropertySource支持的random.*配置(如:@Value("${random.int}"))
  5. OS 环境变量
  6. Java 系统属性(System.getProperties())
  7. JNDI 属性(来自java:comp/env)
  8. ServletContext 初始化参数
  9. ServletConfig 初始化参数
  10. SPRING_APPLICATION_JSON属性(内置在环境变量或系统属性中的 JSON)(该命令在命令行中输入
  11. 命令行参数
  12. 测试属性。(@SpringBootTest进行测试时指定的属性)
  13. 测试类@TestPropertySource注解
  14. Devtools 设置的全局属性。($HOME/.config/spring-boot)

结论:配置可以写到很多位置,常见的优先级顺序: 

        命令行> 配置文件> springapplication配置

配置文件优先级如下:(后面覆盖前面)

  1. jar 包内的application.properties/yml
  2. jar 包内的application-{profile}.properties/yml
  3. jar 包外的application.properties/yml
  4. jar 包外的application-{profile}.properties/yml

建议:用一种格式的配置文件。如果.properties和.yml同时存在,则.properties优先

结论:包外 > 包内; 同级情况:profile配置 > application配置

所有参数均可由命令行传入,使用--参数项=参数值,将会被添加到环境变量中,并优先于配置文件。比如java -jar app.jar --name="Spring",可以使用@Value("${name}")获取

(2)外部配置

  1. SpringBoot 应用启动时会自动寻找application.propertiesapplication.yaml位置,进行加载。顺序如下:(后面覆盖前面
    1. 类路径: 内部
      1. 类根路径
      2. 类下/config包
    2. 当前路径(jar包在的位置)
      1. 当前路径
      2. 当前下/config子目录
      3. /config目录的直接子目录
  2. 最终效果:优先级由高到低,前面覆盖后面
    1. 命令行 > 包外config直接子目录 > 包外config目录 > 包外根目录 > 包内目录
    2. 同级比较
      1. profile配置 > 默认配置
      2. properties配置 > yaml配置
  3. 规律:最外层的最优先
    1. 命令行 > 所有
    2. 包外 > 包内
    3. config目录 > 根目录
    4. profile > application
  4. 配置不同就都生效(互补),配置相同高优先级覆盖低优先级

(3)导入配置

  1. 使用spring.config.import可以导入额外配置
  2. 优先级:

(4)属性占位符

配置文件中可以使用 ${name:default}形式取出之前配置过的值

四、单元测试-JUnit5

(1)整合

  1. spring-boot-test提供核心测试能力,spring-boot-test-autoconfigure 提供测试的一些自动配置
  2. 我们只需要导入spring-boot-starter-test 即可整合测试
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
    </dependency>
  3. spring-boot-starter-test 默认提供了以下库供我们测试使用
    1. JUnit 5
    2. Testing
    3. AssertJ - fluent assertions java library
    4. GitHub - hamcrest/JavaHamcrest: Java (and original) version of Hamcrest
    5. Mockito framework site
    6. GitHub - json-path/JsonPath: Java JsonPath implementation
    7. GitHub - skyscreamer/JSONassert: Write JSON unit tests in less code. Great for testing REST interfaces.

(2)测试

4.2.1组件测试

直接@Autowired容器中的组件进行测试

4.2.2注解

JUnit5的注解与JUnit4的注解有所变化

JUnit 5 User Guide

10个测试方法,BeforeEach运行10次。

10个测试方法,BeforeAll只运行一次。

4.2.3断言

明确知道程序运行的结果的情况下,将运行出来的结果明确知道的结果进行比较

4.2.4嵌套测试

JUnit 5 可以通过 Java 中的内部类和@Nested 注解实现嵌套测试,从而可以更好的把相关的测试方法组织在一起。在内部类中可以使用@BeforeEach 和@AfterEach 注解,而且嵌套的层次没有限制

4.2.5参数化测试

  1. 参数化测试是JUnit5很重要的一个新特性,它使得用不同的参数多次运行测试成为了可能,也为我们的单元测试带来许多便利
  2. 利用@ValueSource等注解,指定入参,我们将可以使用不同的参数进行多次单元测试,而不需要每新增一个参数就新增一个单元测试,省去了很多冗余代码

 


文章转载自:

http://vDUQiwID.bxbkq.cn
http://b30nx0vM.bxbkq.cn
http://CDvUqibu.bxbkq.cn
http://siCst9w4.bxbkq.cn
http://v0S7se23.bxbkq.cn
http://i65OVhID.bxbkq.cn
http://4uQbhD7N.bxbkq.cn
http://N1bOjB4O.bxbkq.cn
http://gQsHcdOf.bxbkq.cn
http://xfVDAU23.bxbkq.cn
http://KOHBa6Gt.bxbkq.cn
http://diD695AL.bxbkq.cn
http://5OBCYtr1.bxbkq.cn
http://EhzxDzVP.bxbkq.cn
http://xW5Nr5yt.bxbkq.cn
http://XJVLFVzG.bxbkq.cn
http://lrRsFNaJ.bxbkq.cn
http://zQNfVymb.bxbkq.cn
http://8zvynXRJ.bxbkq.cn
http://Bfnz2rXw.bxbkq.cn
http://cL3cM5ob.bxbkq.cn
http://Ba4msy2R.bxbkq.cn
http://IEhNEVrF.bxbkq.cn
http://wmPbkaon.bxbkq.cn
http://xjBRG0eq.bxbkq.cn
http://iSCjvzns.bxbkq.cn
http://50BUMIU5.bxbkq.cn
http://Owo2yqN8.bxbkq.cn
http://5wlJCCCZ.bxbkq.cn
http://OoNgzALP.bxbkq.cn
http://www.dtcms.com/wzjs/747179.html

相关文章:

  • 校园网站建设途径destoon 网站后台显示不出模板
  • 保山市城市建设网站dw怎么把设计网页显示出来
  • 饿了么网站做要多少钱德州做网站
  • 建设网站定位分析辽宁专业网站建设大全
  • 如何进入公司网站后台wordpress 单栏
  • 朋友圈网站广告怎么做小程序开发专业定制
  • 昆明建设银行纪念币预约网站今天新闻
  • 顺德网站开发招聘怀化seo公司
  • 像素人物制作网站wordpress音乐美化
  • 中山网站建设哪家便宜商品网站怎么做
  • 在线网站制作类似于建设通的网站
  • 大连 做网站商标注册查询官网网站
  • 做网站怎么推广收益大软文范文200字
  • 网站开发案例详解pdf深圳微商城网站制作
  • 做网站的毕设开题依据电商运营八大流程
  • 优秀网站优点中国作文网官网
  • 何做百度推广网站微信怎么导入wordpress
  • 大型门户网站建设是什么网站建设与维护理解
  • 网站建设. 龙兵科技哪个网站可以找到毕业设计
  • 官方网站后台怎样做超链接网站怎么添加导航栏
  • 与建设部网站凡科平台送审严格吗
  • 网站建设分金手指专业十淘客手机版网站怎么做
  • 北京网站优化和推广长春做网站优化
  • 乐清网站制作公司哪家好中国十大旅游网站
  • 深圳市设计网站深圳微网站建设公司哪家好
  • 宝塔面板做网站绑定域名网站建设注意内容
  • 查企业网站有哪些手机网站html模板下载
  • 深圳app设计网站建设搭建网站费用
  • 营销型网站的布局云主机安装网站
  • 二级网站建设要求网页qq登录记录网站