Apache Ant

SpringBoot中优雅的使用Swagger2

给你一囗甜甜゛ 提交于 2020-08-04 19:07:41
前言   Spring Boot 框架是目前非常流行的微服务框架,我们很多情况下使用它来提供 Rest API。而对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助。本文将使用 Swagger 2 规范的 Springfox 实现来了解如何在 Spring Boot 项目中使用 Swagger,主要包含了如何使用 Swagger 自动生成文档、使用 Swagger 文档以及 Swagger 相关的一些高级配置和注解。 Swagger 简介 Swagger 是一套基于 OpenAPI 规范构建的开源工具,可以帮助我们设计、构建、记录以及使用 Rest API。Swagger 主要包含了以下三个部分: Swagger Editor:基于浏览器的编辑器,我们可以使用它编写我们 OpenAPI 规范。 Swagger UI:它会将我们编写的 OpenAPI 规范呈现为交互式的 API 文档,后文我将使用浏览器来查看并且操作我们的 Rest API。 Swagger Codegen:它可以通过为 OpenAPI(以前称为 Swagger)规范定义的任何 API 生成服务器存根和客户端 SDK 来简化构建过程。 为什么要使用 Swagger

编译 tomcat 源码

隐身守侯 提交于 2020-07-29 04:53:57
前提 :已安装ant 用git下载源码 git clone git://github.com/apache/tomcat.git 切换分支到 8.5.x 用ant编译,不需要带参数 ant 编译后的文件在output目录,如下 来源: oschina 链接: https://my.oschina.net/jingshishengxu/blog/4294297

jacoco测试覆盖率过滤非业务类

試著忘記壹切 提交于 2020-07-28 19:03:39
之前在做 接口测试代码覆盖率(jacoco)方案 的时候,漏了一些东西,这篇文章补一下。做使用 jacoco 做接口代码覆盖率测试的过程中,遇到一个问题:测试报告里面信息太多,很杂乱没有针对性,很多都是 config 和 bean 以及适配器的类,绝大部分没有业务代码,统计出来的覆盖率受影响比较大,不够准确。 这里就引入了如何过滤 jacoco 代码覆盖率测试报告的问题,经过查阅资料,大概的方案分两种:一是在 jacoco 配置中过滤,二是在 class 文件夹中删除掉无用的 class 文件。 经过一些考量,决定采用第一种方案,原因如下: 第二种方案不可逆,如果在统计完某一个 moudel 的覆盖率,之后在统计其他 moudel 的时候就无法直接实现; 第二种处理起来比较麻烦,规则需要脚本实现。 与现有框架不好结合,没办法在报告的框架中方便快捷实现这个功能。 第一种方案主要修改 build 文件的配置: <?xml version="1.0" ?> <project name="studentpad-middle-toc" basedir="/home/jmsmanager/report/studentpad-middle-toc" xmlns:jacoco="antlib:org.jacoco.ant" xmlns:sonar="antlib:org.sonar.ant"

Spring Resource资源文件体系

孤者浪人 提交于 2020-07-28 08:00:32
1. Resource接口 Spring对于资源加载有着一套自己的框架——Resource,Resource继承自InputStream。 下面的是Resource的源码: public interface Resource extends InputStreamSource { boolean exists();//判断资源是否存在 default boolean isReadable() { return true; } //判断资源是否打开 default boolean isOpen() { return false; } //判断资源是否是一个文件 default boolean isFile() { return false; } //获取资源文件的URL URL getURL() throws IOException; //获取资源文件的URI URI getURI() throws IOException; //获取资源文件的File对象 File getFile() throws IOException; ///这个方法接口中有默认实现,返回的是ReadableByteChannel,这个类属于Java的NIO中的管道。 default ReadableByteChannel readableChannel() throws IOException {

Spring Boot中集成Spring Security 专题

不想你离开。 提交于 2020-07-27 22:24:18
check to see if spring security is applied that the appropriate resources are permitted: @Configuration public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter { @Override public void configure(WebSecurity web) throws Exception { http .csrf().disable() .exceptionHandling() .authenticationEntryPoint(unauthorizedHandler) .accessDeniedHandler(accessDeniedHandler) .and() .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .authorizeRequests() // .antMatchers("/actuator/**").permitAll() .antMatchers("/actuator/**").hasAuthority("ADMIN" )

IDEA新手使用教程

谁说胖子不能爱 提交于 2020-07-27 08:32:34
一、IDEA IDEA 全称IntelliJ IDEA,是 java语言 开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、 J2EE 支持、 Ant 、 JUnit 、 CVS 整合、代码审查、 创新的 GUI设计 等方面的功能可以说是超常的。IDEA是JetBrains公司的产品。 作为一名合格的程序猿,对于开发工具的选择也是很重要的,虽然我们常用 eclipse、myeclipse等开发工具就能满足目前的开发需求,毕竟每个公司的要求不一样,对于IDEA,建议大家可以试着去使用,不论从哪方面都优于上面两种开发工具,唯一一点可能IDEA对电脑配置是由要求的,毕竟大公司都基本上在使用IDEA,不多说了,我们一步一步来,首先来说IDEA的下载和安装过程。 二、IDEA 的下载及安装 打开IDEA的官网,如:http://www.jetbrains.com/ 然后到了主界面,点击下载如图: 图1 我们这里下载zip的,将它下载到你要保存的目录下,其次解压。注意:(目录不能要中文和空格),我这里将它解压到F盘IDEA文件下: 图2 上图为解压后的IDEA文件夹,然后我们打开bin文件夹: 图3 我们可以看到2个IEDA应用程序,红色箭头指的是默认为32位的,这里给了我们选择,若你的系统为32位则选它,这里我用的是64位的

起势的 Serverless,正在挺进云计算的腹地深处

落花浮王杯 提交于 2020-07-27 03:38:14
2020 年 6 月 19 日,全球最负盛名的 Serverless 大会 --ServerlessDays · China 于线上直播的形式正式召开举办。腾讯云作为 Serverless 的先行者,从 2017 年至今,经过三年的沉淀,腾讯云 Serverless 的用户规模以及产品下载、调用等次数每年都在急速增长。云计算的下半场会是无服务器化吗,Serverless 能否再次引领云计算领域的又一次红利?这一切,都在这场大会中得到揭晓。 Serverless 起势 2020 年 6 月 19 日,首次进入中国的 ServerlessDays 于线上直播的形式展开。期间 ServerlessDays Organiser--Ant Stanley、Author of “A Berkeley View on Serverless Computing”--Johann Schleier-Smith、Serverless.com CEO--Austen Collins 等众多国外知命的 Serverless 技术专家纷纷到场。 开场,ServerlessDays 会议的组织者、Serverless 社区的技术专家 Ant Stanley 通过分享了自己对于无服务器化的理解,从 Herman Hollerith 到简单的 Lambda 函数,Ant Stanley

阿里巴巴Java 程序员常用的 10 款开源工具!用好了,事半功倍!

余生颓废 提交于 2020-07-26 23:31:43
本文主要介绍阿里巴巴Java程序员常用的一些基本和高级工具。如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机。 Java世界中存在许多工具,从Eclipse,NetBeans和IntelliJ IDEA等著名的IDE开始到Java开发人员应该知道的JVM分析和监视工具,如JConsole,VisualVM,Eclipse Memory Analyzer等。 尽管如此,在本文中,我将重点介绍适用于各种Java开发人员的通用工具,例如核心Java 开发人员和Web开发人员。 1.JIRA Atlassian的JIRA是当前敏捷开发领域最重要的工具之一。它用于错误跟踪,问题跟踪和项目管理。如果你遵循敏捷开发方法,例如Sprint和Scrum,那么你必须了解JIRA。它允许您创建Spring循环并跟踪软件开发的进度。 JIRA 是目前比较流行的基于Java架构的管理系统,由于Atlassian公 司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他的产品要高得多,而且易用性也好一些。 2.Git Git是Java程序员的另一个必备工具,它是一个免费的开源分布式版本控制系统,旨在快速高效地处理从很小到非常大的项目版本管理。Git易于学习,占用空间小,具有超强的性能。 最初 Git 的开发是为了辅助 Linux

Jenkins构建步骤图解

家住魔仙堡 提交于 2020-07-26 00:21:27
Jenkins是什么 Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。 使用Jenkins对Java代码进行打包 Jenkins是一个强大的CI工具,虽然本身使用Java开发,但也能用来做其他语言开发的项目CI。下面讲解如何使用Jenkins创建一个构建任务。 1. 登录Jenkins,点击新建任务 之后进入到这个界面,任务名称可以自行设定,但需要全局唯一。输入名称后选择构建一个自由风格的软件项目(有时选择第二个:构建一个maven项目),并点击下方的确定按钮即创建了一个构建任务,然后就会自动跳转到该job的配置页面。 2. 配置界面,配置项详解 2.1 General :是构建任务的一些基本配置。名称,描述之类的。 2.2 源码管理 :源码管理就是配置你代码的存放位置。 2.3 构建触发器 :顾名思义,就是构建任务的触发器。 2.4 构建环境 :就是构建之前的一些准备工作,如指定构建工具。

再启程,Service Mesh 前路虽长,尤可期许

自古美人都是妖i 提交于 2020-07-24 13:33:04
前言 几乎所有人都在说 Service Mesh;貌似没人知道怎么落地 Service Mesh;但是大家都觉得其他人在大力做 Service Mesh;所以大家都宣称自己在做 Service Mesh。 上面只是开一个玩笑,但是从某种程度反映了一些实际情况:Service Mesh 是一种设计思想和理念,而不是具体的架构或者实现方式,虽然 Istio+Envoy 的配置似乎已经成了事实标准,当我们环顾四周,却发现理想太丰满,现实太骨感,因为各企业当前切实原因,导致各种形态的 Service Mesh 百花齐放。 蚂蚁金服的 Service Mesh 就属于上面提到的百花齐放中的一员,我们已经渡过探索期,全面进入生产应用。去年的双十一完成了交易支付核心链路,几十万容器规模的生产级验证。但是业界对于 Service Mesh 仍然有很多种不同的声音,一方面是众星捧月式的支持,另一方面是困惑和质疑,包括对价值、架构以及性能的质疑。那么我们对此是什么态度?双十一深度实践之后蚂蚁金服的 Service Mesh 路又在何方?Service Mesh 架构是终点吗? 本文将结合蚂蚁金服内部实际场景以及思考,讲述继 2019 双十一之后,蚂蚁金服在 Service Mesh 路上的规划和持续演进。 蚂蚁金服 Service Mesh 实践回顾 上图是 2019 年蚂蚁金服双十一的实践架构