SpringBoot
SpringBoot相关历程
Sunny3096
社会闲散人员
展开
-
【框架----SpringBoot】jar包引用自动配置(Spring发现)解决方案
环境JDK: 1.8SpringBoot: 2.x需求当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们需要考虑组件能否被使用者正确引入使用。此处提供三种解决方案,友好型依次提升。手动配置 basePackages 使用者通过注解方式启用配置 SpringBoot 主动发现一、手动配置使用者:繁琐,手动配置 basePackages,忘记时不生效开发者:简单,不需要任何其余配置,只需在测试环境测试后直接打包发布。假设我们的组件的包基础原创 2020-07-14 16:36:51 · 1497 阅读 · 0 评论 -
【框架----SpringBoot】【2.0】SpringBootAdmin监控在微服务中的使用
简介Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。 应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Consul)发现。 UI是的AngularJs应用程序,展示Spring Boot Admin Client的Actuator端点上的一些监控。常见的功能或者监控如下:显示健康状况 显示详细信息,例如 JV原创 2020-05-08 17:53:18 · 1586 阅读 · 1 评论 -
【框架----SpringBoot】【1.0】【附6】hystrix metrics and monitor
一、基本方式hystrix为每一个commandKey提供了计数器二、实现流程https://raw.githubusercontent.com/wiki/Netflix/Hystrix/images/metrics-generation.png三、Hystrix event types1、什么情况下会触发fallback方法?2、fallback方法在什么情况...原创 2019-06-18 10:55:59 · 132 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附5】springboot之配置文件
本文转载自http://www.jianshu.com/p/80621291373b,作者:龙白一梦 我的boss代码从开发到测试要经过各种环境,开发环境,测试环境,demo环境,线上环境,各种环境的配置都不一样,同时要方便各种角色如运维,接口测试, 功能测试,全链路测试的配置,hardcode 肯定不合适,如Spring profile一样写在jar包不合适.分布式应用中一般采用集中管理配置...原创 2019-06-18 10:55:35 · 109 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附4】springboot源码解析-run()
public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); //设置计时器 stopWatch.start(); ...原创 2019-06-18 10:54:58 · 106 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附3】springboot源码解析 - 构建SpringApplication
package com.microservice.framework;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class MySpr...原创 2019-06-18 10:54:31 · 126 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附2】hystrix详述(2)- 配置
一、hystrix在生产中的建议1、保持timeout的默认值(1000ms),除非需要修改(其实通常会修改)2、保持threadpool的的线程数为10个,除非需要更多3、依赖标准的报警和监控系统来捕获问题4、通过dashboards的实时监控来动态修改配置,直到满意为止二、配置信息(default或HystrixCommandKey)最常用的几项超时时间(默认10...原创 2019-06-18 10:52:57 · 117 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附1】hystrix详述(1)
一、hystrix的作用控制被依赖服务的延时和失败 防止在复杂系统中的级联失败 可以进行快速失败(不需要等待)和快速恢复(当依赖服务失效后又恢复正常,其对应的线程池会被清理干净,即剩下的都是未使用的线程,相对于整个 Tomcat 容器的线程池被占满需要耗费更长时间以恢复可用来说,此时系统可以快速恢复) getFallback(失败时指定的操作)和优雅降级 实现近实时的检测、报警、运维...原创 2019-06-18 10:52:40 · 142 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第四十章】Spring Boot 自定义拦截器
1.首先编写拦截器代码package com.sarnath.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Service;import org....原创 2019-06-18 10:52:13 · 202 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第三十九章】 微服务CICD(1)- gitlab搭建与使用(docker版)
一、下载docker镜像前提:docker引擎已经安装好。docker pull gitlab/gitlab-cegitlab是8.13.1版本。二、启动应用docker run -d-h gitlab.zhaojigang.com-p 80:80 -v /etc/gitlab/:/etc/gitlab/ -v /var/log/gitlab/:/var/log/gitla...原创 2019-06-17 08:17:28 · 330 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第三十八章】 springboot+docker(maven)
回顾上一章的整个部署过程:使用"mvn install"进行打包jar 将jar移动到与Dockerfile文件相同的文件夹下 编写Dockerfile文件 使用"dockerbuild-t="zjg/myservice1docker:v1.1"/Users/enniu1/Desktop/docker-data/file"命令进行打包 需要手动指定生成的images的n...原创 2019-06-18 10:51:49 · 130 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第三十七章】 springboot+docker(手动部署)
一、下载centos镜像dockerpullhub.c.163.com/library/centos:latest docker tag containId centos:7 docker run -i -t -v /Users/enniu1/Desktop/docker-data/software:/mnt/software centos:7 -i:以"交互模式"运行容器 -t...原创 2019-06-18 10:51:28 · 106 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第三十六章】 metrics(4)- metrics-graphite
将metrics report给graphite(carbon-relay)一、代码1、pom.xml <!-- metrics-graphite --> <dependency> <groupId>io.dropwizard.metrics</groupId> ...原创 2019-06-17 08:16:30 · 442 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第三十五章】 metrics(3)- codahale-metrics基本使用
<!-- metrics --> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> ...原创 2019-06-17 08:16:02 · 1417 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附7】turbine
一、作用聚集同一个微服务的相同的commandKey、Threadpool、commandGroupKey数据进行聚合二、配置1、集群(cluster)(turbine聚集数据的粒度)turbine.aggregator.clusterConfig=myserviceA-dev,myserviceA-prod,myserviceB-dev,myserviceB-prod说明:...原创 2019-06-18 10:56:25 · 145 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附8】zipkin
一、zipkin作用全链路追踪工具(查看依赖关系) 查看每个接口、每个service的执行速度(定位问题发生点或者寻找性能瓶颈)二、zipkin工作原理创造一些追踪标识符(tracingId,spanId,parentId),最终将一个request的流程树构建出来三、zipkin架构1、Transporttransport作用:收集被trace的servic...原创 2019-06-19 08:29:01 · 144 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】支持jsp+mvc访问
直接使用SpringMVC时配置访问jsp页面时很容易的事,但是由于springBoot使用内嵌的servlet容器,所以对jsp的支持不是很好,而且也不建议使用jsp,但是为了满足这种返回jsp页面的需求同时又想享受Spring Boot免去各种配置的麻烦,经本各种试验,有两种方法可以供参考,在说明以下两种方法前首先声明所用的依赖如下:<dependency> <...原创 2019-06-19 08:33:10 · 158 阅读 · 0 评论 -
【框架----SpringBoot】【问题解决】未找到端口号
启动报错Circular placeholder reference 'server.port' in property definitions问题描述:启动spring boot项目时报错:Circular placeholder reference 'server.port' in property definitions解决过程:首先问题描述报出的错误是端口在配置文件中没有找...原创 2019-06-19 08:32:11 · 1335 阅读 · 0 评论 -
【框架----Springboot】【2.0】SpringBoot连接MySql 8.0的url设置
jdbc:mysql://localhost:3306/enterprise?useUnicode=true&&useSSL=false&&characterEncoding=UTF-8&&serverTimezone=GMT%2B8原创 2019-06-20 09:07:31 · 852 阅读 · 0 评论 -
【框架----Springboot】【2.0】SpringBoot2配置Druid数据源及监控
什么是Druid?Druid首先是Java语言中最好的数据库连接池,也是阿里巴巴的开源项目。Druid是阿里巴巴开发的号称为监控而生的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource等等等,秒杀一切。而且Druid已经在阿里巴巴部署了超过600个应用,经过好几年年生产环境大规模部署的严苛考验!...原创 2019-06-20 09:07:07 · 368 阅读 · 1 评论 -
【框架----Springboot】【2.0】SpringBoot多环境yml文件配置
一、使用Spring Boot Profiles1. 使用yml文件首先,我们先创建一个名为 application.yml的属性文件,如下:server: port: 8080my: name: demospring: profiles: active: dev---#development environmentspring: profil...原创 2019-06-20 09:06:45 · 1176 阅读 · 0 评论 -
【框架----Springboot】【2.0】使用默认日志slf4j配置
一、SpringBoot日志简介SpringBoot使用Commons Logging进行所有内部日志记录,但底层日志实现保持开放状态。为Java Util Logging,Log4j2和Logback提供了默认配置。SpringBoot能自动适配所有的日志,本次讲解slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉;SpringBoot...原创 2019-06-19 08:33:48 · 1615 阅读 · 0 评论 -
【框架----Springboot】【2.0】Spring Boot 2.0新特性
以Java 8 为基准Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持。内嵌容器包结构调整为了支持reactive使用场景,内嵌的容器包结构被重构了的幅度有点大。EmbeddedServletContainer被重命名为WebServer,并且org.springframework.boot.context.embedded 包被重定向到了...原创 2019-06-19 08:33:30 · 315 阅读 · 0 评论 -
【框架----Springboot】【问题解决】SpringBoot启动时提示The APR based Apache Tomcat Native
问题描述springboot程序在启动时提示信息[2018-10-24 21:59:05.214] - 440 信息 [restartedMain] --- org.apache.catalina.core.StandardService: Starting service [Tomcat][2018-10-24 21:59:05.220] - 440 信息 [restartedMai...原创 2019-06-19 08:32:56 · 1146 阅读 · 0 评论 -
【框架----Springboot】【问题解决】启动时SLF4J报错
问题描述启动时报错SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBind...原创 2019-06-19 08:31:39 · 1551 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附12】grafana配置文件
一、配置文件位置/usr/local/opt/grafana/share/grafana/default.ini /usr/local/etc/grafana/grafana.ini二、init格式1、注释:以";"开头,不管多长或多短,独占一行三、配置文件调用顺序1、grafana启动时,首先会调用/usr/local/opt/grafana/share/gra...原创 2019-06-19 08:31:06 · 218 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附10】kibana创建新的index patterns
elk整体架构图:一、logstash indexer配置文件:input { stdin{}}filter { }output { elasticsearch { hosts => ["127.0.0.1:9200"] index => "mymicroservice-%{+YYYY.MM.dd...原创 2019-06-19 08:30:03 · 291 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【附9】elasticsearch-curator + Linux定时任务
官网教程入口:https://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html一、下载安装下载:sudopip install elasticsearch-curator 更新:sudopip install-Uelasticsearch-curator版本:curator4.1.0...原创 2019-06-19 08:29:39 · 110 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第三十二章】 elk(3)- broker架构 + 引入logback
实际中最好用的日志框架是logback,我们现在会直接使用logback通过tcp协议向logstash-shipper输入日志数据。在上一节的基础上修改!!!一、代码1、pom.xml1 <!-- logstash-logback -->2 <dependency>3 <groupId>...原创 2019-06-17 08:14:53 · 121 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第三十一章】 elk(2)- 第二种架构(最常用架构)
参考:http://linuxg.blog.51cto.com/4410110/1761757最常用架构:一、安装redis1、下载:http://redis.io/download2、解压后进入:/Users/enniu1/Desktop/server/redis-3.2.33、执行make命令4、启动服务:/Users/enniu1/Desktop/server/r...原创 2019-06-17 08:14:01 · 108 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第三十章】 elk(1) - 第一种架构(最简架构)
软件版本:es:2.4.0 logstash:2.4.0 kibana:4.6.1一、logstash安装(收集、过滤日志、构建索引)1、下载:https://www.elastic.co/downloads/2、解压3、启动 cd /Users/enniu1/Desktop/server/elk/logstash-2.4.0/bin ./logstas...原创 2019-06-17 08:12:30 · 129 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第七章】 springboot + retrofit
retrofit:一套RESTful架构的Android(Java)客户端实现。好处:基于注解 提供JSON to POJO,POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装 可以看做是对HttpClient的再次封装1、为了做测试,建立了一个新的springboot项目"myboot2",项目结构如下:1.1、pom.xml<?...原创 2019-06-13 15:24:21 · 245 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第三章】 springboot + jedisCluster
如果使用的是redis2.x,在项目中使用客户端分片(Shard)机制。(具体使用方式:第九章 企业项目开发--分布式缓存Redis(1)第十章 企业项目开发--分布式缓存Redis(2))如果使用的是redis3.x中的集群,在项目中使用jedisCluster。redis3.2.5集群搭建:第十二章 redis-cluster搭建(redis-3.2.5)1、项目结构...原创 2019-06-13 15:22:07 · 107 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第一章】第一个spring boot程序
环境:jdk:1.8.0_73 maven:3.3.9 spring-boot:1.2.5.RELEASE(在pom.xml中指定了)注意:关于spring-boot的支持,最少使用jdk7(jdk6也可以,可能需要额外配置,没试过,官方推荐jdk8) maven至少使用3.21、首先进入一个文件夹,例如"~/Desktop/project",然后按照"第一章 企业项目开发--m...原创 2019-06-13 15:20:19 · 233 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第五章】 springboot + mybatis
【第五章】 springboot + mybatisspringboot集成了springJDBC与JPA,但是没有集成mybatis,所以想要使用mybatis就要自己去集成。集成方式相当简单。1、项目结构2、pom.xml <!-- 与数据库操作相关的依赖 --> <dependency> &l...原创 2017-07-13 13:25:00 · 114 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第二章】 第二个spring-boot程序
【第二章】 第二个spring-boot程序上一节的代码是spring-boot的入门程序,也是官方文档上的一个程序。这一节会引入spring-boot官方文档推荐的方式来开发代码,并引入我们在spring开发中service层等的调用。1、代码结构如下2、pom.xml<?xml version="1.0" encoding="UTF-8"?><pr...原创 2017-07-13 12:29:00 · 79 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第四章】 springboot + swagger
【第四章】 springboot + swagger注:本文参考自http://www.jianshu.com/p/0465a2b837d2swagger用于定义API文档。好处:前后端分离开发 API文档非常明确 测试的时候不需要再使用URL输入浏览器的方式来访问Controller 传统的输入URL的测试方式对于post请求的传参比较麻烦(当然,可以使用post...原创 2017-07-13 13:18:00 · 79 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第六章】 springboot + 事务
【第六章】 springboot + 事务在实际开发中,其实很少会用到事务,一般情况下事务用的比较多的是在金钱计算方面。mybatis与spring集成后,其事务该怎么做?其实很简单,直接在上一节代码的基础上在相应的方法(通常是service层)上加上@Transactional注解即可。1、com.xxx.firstboot.exception.UserExceptionp...原创 2017-07-13 13:27:00 · 99 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第十章】 springboot + logback
【第十章】 springboot + logbacklogback是boot默认的日志首选,个人觉得是最好的日志实现(比log4j好)下边,在之前的代码基础上增加一个功能,该功能要实现mybatis的and or联查功能,并通过logback日志在控制台去查看输出的sql情况。即实现如下sql的功能:SELECT * FROM tb_user WHERE id = ?AND (u...原创 2017-07-13 13:40:00 · 116 阅读 · 0 评论 -
【框架----SpringBoot】【1.0】【第十二章】 springboot + mongodb(复杂查询)
【第十二章】 springboot + mongodb(复杂查询)简单查询:使用自定义的XxxRepository接口即可。(见第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(BasicDBList、BasicDBObject、Criteria等)1、application.properties1 #...原创 2017-07-13 13:46:00 · 251 阅读 · 0 评论