自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 Spirng bean

spring bean

2023-01-17 14:07:46 338

原创 gradle目录结构,项目目录结构

Gradle 用户主目录($USER_HOME/.gradle默认)用于存储全局配置属性和初始化脚本以及缓存和日志文件。清理缓存和发布版本从 4.10 版本开始,Gradle 会自动清理其用户主目录。当 Gradle 守护程序停止或关闭时,清理会在后台运行。如果使用–no-daemon,它会在构建会话之后使用可视进度指示器在前台运行。定期(最多每 24 小时)应用以下清理策略:检查特定版本的缓存caches//是否仍在使用中。...

2022-08-12 12:42:23 2131

原创 什么是Gradle

Gradle 是一个开源构建自动化工具,其设计足够灵活,可以构建几乎任何类型的软件。

2022-08-10 10:31:56 138

原创 Gradle Wrapper

gradle学习文档

2022-07-28 10:44:55 537

原创 shell function

函数定义function test(){}test(){}函数默认最后一条语句作为返回值。可以直接指定return语句,但是return只能返回0-255的整数值,使用echo返回任意字符串或列表值通过$1,2...获得传参,2...获得传参,2...获得传参,@或$*获得参数数组。不做任何声明shell中变量都是全局变量,通过local定义本地变量,尽量避免函数中使用全局变量。函数内部变量覆盖外部变量通过$(function p1 p1 p3) 或function p1 p1 p3 获得

2021-04-08 16:13:50 164

原创 declare 参数说明

declaredeclare [-aAfFgilnrtux] [-p] [name[=value] …]可选的附加选项如下:-a:表示每个变量都是一个索引数组变量即普通数组。-A:表示每个变量都是一个关联数组变量。-f:表示每个变量都是一个函数名,此选项会打印函数定义。-F:表示每个变量都是一个函数名,此选项不会打印函数定义,只打印函数名和属性。如果使用内建命令shopt启用extdebug,还会显示定义每个name的源文件名和行号。-g:强制在全

2021-04-06 16:25:01 1158

原创 linux变量,参数,数组

命名规则:必须以字母或者下划线开头read 从命令行读取输入变量值read -t 5 -p “please input IP” ip1 ip2 将提示输入参数并且以空格区分输入2个参数,-t 5 输入超时时间5秒,-p 输入提示name=’$na’, 单引号无法输出变量变量运算expr  echo `expr 1 + 2`$(()) 直接进行表达式运算  num=$((23+5))$[] 直接进行表达式运算  num=$[23

2021-04-06 13:47:30 132

原创 echo, printf 说明

help echo 参数说明Options:-n echo默认自带换行,使用此参数阻止换行-e 开启字符转义功能-E 禁止转义字符,默认设置`echo’ 支持转义字符:\a 发出警告声音echo -e ‘test\a’ 输出test,有警告声音\b 删除前一个字符echo -e ‘test\b’ 输出tes\c 抑制后续输出,包括换行符,echo -e ‘test\c ddd’ 输出 tes..

2021-04-06 10:45:52 131

原创 Linux环境变量设置

系统环境变量:/etc/profile此文件为系统的环境变量,它为每个用户设置环境信息,当用户第一次登陆时,该文件被执行,并从/etc/profile.d目录的配置文件中搜索shell的设置。这个文件是任何用户登录操作系统以后都会读取的文件(如果用户的shell是csh、tcsh、zsh,则不会读取此文件),用于获取系统的环境变量,只在登录的时候读取一次。如:path=$path:new/binexport pathsource /etc/profile/etc/bashrc在执行完/etc

2021-04-01 16:29:33 57

原创 Linux文字颜色

规则:\e或\033+[+文本属性值+颜色值; 用\e[0m或\033[0m 来还原颜色示例:printf/echo -e “\033[1m Hello,world\033[0m”printf/echo -e “\033[1;31m Hello,world\033[0m”文字色:echo -e “\e[1;31mThis is red text\e[0m”This is red text?\e[1;31m 将颜色设置为红色?\e[0m 将颜色重新置回颜色码:重置=0,黑色=30,红色=31,

2021-04-01 14:57:23 188

原创 Linux shell符合使用

Linux元字符* - 多个字符ls * 显示当前目录下文件及直接子目录下文件echo * 显示当前目录多有文件名称用空格分隔。echo before * after 其中*将显示所有的当前文件夹名称? - 匹配一个字符l?ve.txt 将显示所有love.txt, ldve.txt[] - [a-z],[A-Z],[^a-Z]等,匹配任意一个字符2. ls /[u]* 显示已u开头的文件或文件夹。() - 在括号中的命令列表, 将会作为一个子shell来执行。通常与(comm

2021-04-01 13:25:27 101

原创 软件测试几个阶段

缩写英文解释intInitialization初始化devdevelopment开发ppPre production预生产sitSystem Integrate Test系统整合测试(内测)idesInternet Demonstration and Evaluation System交互式演示与评估系统qasQuality Assurance System质量保证系统uatUse Acceptance Test ...

2021-04-01 12:43:27 375

原创 CDH 安装,CDH中安装Nifi

HDP on Sandbox进入docker设置页面Docker -> Preferences… -> Advanced,跳转内存和硬盘大小下载 scripts Hortonworks Data Platform (HDP) for Docker and decompress zip file,确保路径中不要有空格,否则执行会出错解压文件进入目录,执行脚本,将下载镜像sandbox-hdp(27G),sandbox-proxycd /path/to/scriptsh docker-

2020-12-10 12:24:16 657

原创 面向对象编程之solid

单一职责原则单一职责原则(Single Responsibility Principle,SRP)又称单一功能原则,由罗伯特·C.马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中提出的。这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more than one reason for a class to change)。单一原则提出对象不应该承担太多职责,对于软件的两个特定

2020-11-11 16:36:56 231

原创 Java Stream

什么是 Stream?Stream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。数据源 流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。聚合操作 类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。和以前的Collection操作不同, Stream操作还有两个基础的特征:Pipelining: 中

2020-11-11 16:22:13 85

原创 Java Lamdba

Lamdba 表达式语言传统编程方式,业务之前传递往往都是通过值得方式来传输,也就是是说互相之前传递的是具体某些数值;函数是编程业务之前传递的是业务逻辑,也就是说业务处理的代码可以互相同步变量方式传递,然后让对方去执行,从而增加了业务的灵活可变性。优点:代码更加简洁,极少不必要类的创建,如果具体实现类,匿名类等,增加业务的灵活性,使业务提供者能更灵活的更改业务的逻辑,交由第三方使用,而不是简简单单的数值。易于并行开发,函数就是一个闭合的代码块,不修改外部变量,有益于并行执行;缺点:代码

2020-11-10 13:12:51 97

原创 spring boot 事件(ApplicationEventMulticaster)

应用程序事件在您的应用程序运行时按以下顺序发送:ApplicationStartingEvent 创建完成SpringApplication对象后执行SpringApplicationRunListeners.starting,发送一个ApplicationStartingEvent 事件到广播器SimpleApplicationEventMulticaster,SimpleApplicationEventMulticaster将遍历所有的listeners,触发所有支持ApplicationStart

2020-11-05 11:11:57 726

原创 spring boot启动流程

spring boot启动流程创建SpringApplication对象。webApplicationType : 指定web application typeprimarySources :指定应用的main class, 可以加载多个,也就是main class可以有多个。setInitializers:从spring.factories加载Application Context Initializers,如果存在不同的spring.factories文件在不同的包里,加载所有的文件并且做

2020-11-03 16:26:47 146

原创 SpringBoot banner

Spring Boot 打印banner当应用启动时,可以显示应用图标,版本,名称等相关信息,可以通过配置文件指定banner打印模式:spring: main: banner-mode: OFF,CONSOLE,LOG具体流程如下SpringApplication.run(String… args) 执行打印banner入口,SpringApplication:public ConfigurableApplicationContext run(String... args) {

2020-10-22 13:51:35 177 1

原创 Spring Boot SpringApplication

SpringApplication这个是Spring Boot 启动类,每一个应用启动都构造并调用此类run方法完成初始化,加载等工作。SpringApplication 构造方法webApplicationType : 指定web application typeprimarySources :指定应用的main class, 可以加载多个,也就是main class可以有多个。setInitializers:从spring.factories加载Application Context Init

2020-10-21 13:24:18 106

原创 Spring Boot WebApplicationType

WebApplicationType指定应用类型, 默认spring boot使用SERVLET作为WebApplicatoinType.NONE: 非servlet应用,比如message,或者applicatin应用,实际上有些CS应用也可以使用spring框架来编写。SERVLET: 基于web的应用,这个比较好理解REACTIVE: 反应式web应用,这个是一种比较新的web 构架,无阻塞的应用,实际就是web客户端和后端会有一个管道,后端将改变数据不断的推送到客户端,而不是传统的WEB应用

2020-10-19 14:13:47 2168

原创 spring boot @RequestMapping注解

@RequestMappingname: 给映射地址制定一个别名,RequestMappingInfoHandlerMethodMappingNamingStrategy会将封装到RequestMappingInfo.name中。path:指定访问路径method:指定请求方法数组,GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE.params: 参数列表,指定某些参数限制如 param={“name!=test”}consumes:指定处理请

2020-10-17 11:47:20 845

原创 spring boot 注解@Component

@Component。Spring提供进一步典型的注解:@Component,@Service,和 @Controller。@Component是任何Spring托管组件的通用注解。 而@Repository,@Service和@Controller是@Component针对更特定用例的专业化(分别在持久性,服务和表示层)。因此可以用他们来注解你的组件类与@Component具有同样作用,通过与注解它们@Repository,@Service或者@Controller ,你能更好的区分数据,业务,控制层

2020-10-14 17:19:00 3345 1

原创 spring boot @ResponseBody注解

@ResponseBody注解,标记为此注解的controller,method,return,返回数据将被转换成Json格式数据给客户端, 具体调用代码流程如下:DispatcherServlet.doDispatch->RequestMappingHandlerAdapter.handle->RequestMappingHandlerAdapter.handleInternal->RequestMappingHandlerAdapter.invokeHandlerMethod

2020-10-14 14:13:17 901

原创 Springboot app注解

Java 元注解@Target 表示该注解用于什么地方,可能的值在枚举类 ElemenetType 中,包括: ElemenetType.CONSTRUCTOR-----------------------------构造器声明 ElemenetType.FIELD ----------------------------------域声明(包括 enum 实例) ElemenetType.LOCAL_VARIABLE------------------------- 局

2020-10-13 13:49:32 288

原创 Yaml 语法规则

Yaml (YAML Ain’t Markup Language)“ YAML是一种数据序列化语言,旨在对人类友好的使用性与现代编程语言很好地配合在程序中使用。开放,可易于操作且理解的语法极大地提高了程序的处理能力。YAML从一开始就被设计为易于数据使用人员使用。它使用Unicode可打印字符中一些提供结构信息,包含数据本身。YAML通过最小化结构特征的特性并允许数据以其自然而有意义的方式来显示自身,从而实现了独特的清晰度。例如,压痕可用于结构, 冒号分开键:值对和破折号用于创建“项目符号”清单。有各

2020-10-10 12:46:55 1995

原创 spring boot profile

Spring Profiles 提供了一种隔离应用程序配置的各部分并使之仅在某些环境中可用的方法。可以用@Profile标记任何@Component或@Configuration以限制其加载时间,如以下示例所示:@Configuration@Profile("production")public class ProductionConfiguration { // ...}您可以使用spring.profiles.active Environment属性来指定哪些配置文件处于 Active

2020-09-29 15:26:28 97

原创 spring boot configuration

加载顺序Spring Boot使用一个非常特殊的PropertySource顺序,反向加载,1具有最高优先级,它将最先加载17,最后加载1, 1中的属性最后将被应用5. $HOME/.config/spring-boot当devtools处于活动状态时,目录中的Devtools全局设置属性。6. @TestPropertySource 测试中的注释。7. properties测试中的属性。可用于测试应用程序的特定部分@SpringBootTest的测试注释和注释。8. 命令行参数。9. 来自的属

2020-09-28 17:10:57 323

原创 terraform Override Files

Override FilesTerraform将所有配置文件加载到目录中,并将它们附加在一起。Terraform还具有覆盖概念,这是一种创建文件的方法,该文件最后加载并合并到您的配置中,而不是附加到配置去替代有一些用例,override可以替换Terraform 脚本中某些行为,而不必编辑脚本,从而对脚本或配置进行临时修改,而不必修脚本配置本身,我们可以用override来进行测试开发等工作。覆盖名称必须是override或结尾于_override,不包括扩展名。有效覆盖文件的例子是override.t

2020-09-25 17:26:22 135

原创 terraform local

local局部变量可以引用variable,resource,data中的一些资源属性,从而拼接改造需要的样式以供一起资源引用,local比variable更灵活,但local不能从外部来赋值。局部值可能有助于避免在配置中多次重复相同的值或表达式,但是如果过度使用局部值,也可能通过隐藏使用的实际值而使以后的维护人员难以读取配置。仅在某些地方使用单个值或结果且将来可能会更改该值的情况下,才应适度使用局部值。易于在中心位置更改值的能力是本地值的主要优势。locals { # Ids for mult

2020-09-25 17:19:48 836

原创 terraform variables

Variable输入变量用作Terraform模块的参数, variable作为输入变量,可以被terraform 脚本引用,我们可以直接在命令行中直接给变量赋值,或者引用变量文件。变量接受以下参数:type:(可选)-如果设置,则定义变量的类型。有效值是string,list和map。如果省略此字段,则将基于推断变量类型default。如果未default提供,则假定类型为string。default:(可选)-设置变量的默认值。如果未提供默认值,则如果调用者未提供值,Terraform将引发错

2020-09-25 14:52:52 1232

原创 terraform data sources

Data Sourcesdata source 主要有以下功能缓存一些资源信息,如json被其他resource引用。从aws 加载一些已经存在资源,在plan, apply中被引用。data "aws_iam_policy_document" "test_resource_role_doc" { statement { actions = [ "ssm:DescribeParameters", "ec2:DescribeTags", "ssm:

2020-09-24 13:45:49 1291

原创 terraform provider

aws provideraccess_key-(可选)这是AWS访问密钥。必须提供它,但也可以从AWS_ACCESS_KEY_ID环境变量或共享的凭据文件(如果profile已指定)中获取它。secret_key-(可选)这是AWS密钥。必须提供它,但也可以从AWS_SECRET_ACCESS_KEY环境变量或共享的凭据文件(如果profile已指定)中获取它。region-(可选)这是AWS区域。必须提供它,但是也可以从AWS_DEFAULT_REGION环境变量或共享的凭据文件(如果profil

2020-09-23 17:55:47 695

原创 terraform 安装及命令

TerraformTerraform是用于安全有效地构建,更改和版本控制基础结构的工具。Terraform可以管理现有和流行的服务提供商以及定制的内部解决方案。配置文件向Terraform描述了运行单个应用程序或整个数据中心所需的组件。Terraform生成执行计划,以描述达到预期状态所需执行的操作,然后执行该计划以构建所描述的基础结构。随着配置的更改,Terraform能够确定更改的内容并创建可以应用的增量执行计划。Terraform可以管理的基础结构包括低级组件,例如计算实例,存储和网络,以及高级

2020-09-23 16:35:14 2092

原创 pom.xml结构分析

POM 项目对象模型pom是Maven项目保存在名为的文件中的XML表示形式pom.xml。在Maven人士在场的情况下,谈论项目是从哲学的意义上讲,而不仅仅是包含代码的文件集合。一个项目包含配置文件,以及所涉及的开发人员及其扮演的角色,缺陷跟踪系统,组织和许可证,项目所在的URL,项目的依存关系以及所涉及的所有其他小部分玩以赋予代码生命。它是与该项目有关的所有事情的一站式服务。实际上,在Maven世界中,一个项目根本不需要包含任何代码,只需包含一个pom.xml。<project xmlns="

2020-09-23 14:05:06 767

原创 super pom.xm 结构

什么是POM?项目对象模型或POM是Maven中的基本工作单元。这是一个XML文件,其中包含有关项目的信息以及Maven用于构建项目的配置详细信息。它包含大多数项目的默认值。比如构建目录,即target; 源目录,即src/main/java;测试源目录,即src/test/java;等等。当执行任务或目标时,Maven在当前目录中查找POM。它读取POM,获取所需的配置信息,然后执行目标。可以在POM中指定的一些配置是项目依赖项,可以执行的插件或目标,构建配置文件等等。也可以指定其他信息,例如项目版本

2020-09-21 14:01:02 223

原创 spring-boot-starter-parent.xml分析

spring-boot-starter-parent.xml完整代码如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://ww

2020-09-21 11:21:15 880

原创 Maven Build Lifecycle

建立生命周期基础Maven基于构建生命周期的中心概念。这意味着已明确定义了构建和分发特定项目的过程。对于构建项目的人员来说,这意味着仅需学习少量命令即可构建任何Maven项目,并且POM将确保它们获得所需的预期的效果。有三个内置的构建生命周期:default,清除和站点。在default生命周期处理你的项目部署中,clean生命周期做清理工作,而site生命周期创建项目的网站上的文档。默认生命周期基础validate -验证项目是否正确以及是否有所有必要的信息compile -编译项目的源代码

2020-09-21 11:16:03 99

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除