boot

Spring Boot Admin 发送监控邮件

陌路散爱 提交于 2020-01-21 21:30:02
  最近在弄关于运行中的服务的Jvm监控,经过同事和自己搜索发现目前主要有两种方案, 普罗米修斯 和 Spring Boot Admin ,由于我们的系统是基于 Spring Cloud 的,所有可能搜索的都与 Spring Cloud 比较容易整合的。    Spring Boot Admin 是比较容易接入的,只要将加上 Spring Boot Admin 依赖简单配置一下,然后注册到 Spring Boot 的注册中心,并且其他应用都是对外有提供监控指标的话,进入 Spring Boot Admin 即可,看到每个应用的 Jvm 和一些配置信息,还可以线上设置每个类的日志打印级别。不过要注意一下,如果数据库和 redis 等连接不通的话,可能会打印出大量错误日志,邮件也会被检测到是否能链接通,不过邮件这里的检测好像是有问题(我自己能发送邮件,但是 其检测还是链接不同,原因还在找中),最好是禁用掉邮件的检测。具体要监控的配置 Spring Boot 应用可以参考后面的配置例子。    普罗米修斯 功能也差不多,不过功能会更加强大一些,目前我也还没接入,待接入后,再来补充,目前了解到其除了可以监控Jvm状态,可以监控每个url的请求时间跟链路监控类似。 配置邮件监控(翻译官方文档) 其实这个是比较简单,主要是里面有些坑主要注意。 添加 Spring Boot 的 mail 依赖

Spring Boot 原理分析

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-21 08:03:28
Spring Boot 原理分析 文章目录 Spring Boot 原理分析 查看pom的parent节点 查看spring-boot-starter-parent对应pom文件 查看spring-boot-dependencies对应pom文件 查看pom的parent节点 创建Spring Boot项目需要添加如下节点信息 < parent > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-parent </ artifactId > < version > 2.2.2.RELEASE </ version > < relativePath /> <!-- lookup parent from repository --> </ parent > 按住Ctrl并单击“spring-boot-starter-parent”跳转至对应文件,发现又是一个pom文件 查看spring-boot-starter-parent对应pom文件 < parent > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-dependencies </ artifactId

数据库连接不上的原因以及springBoot的ioc无法自动注入

佐手、 提交于 2020-01-21 00:35:55
无法自动注入解决了,数据池的连接还有问题: 错误原因1: :数据库用的是Mysql8版本,以前的配置mysql驱动包却是5.1.37版本。只需修改驱动包为8.0.11版本即可。 <!-- mysql --> <dependency> <groupId> mysql </groupId> <artifactId> mysql-connector-java </artifactId> <version> 5.1.37 </version> </dependency> 改为 <dependency> <groupId> mysql </groupId> <artifactId> mysql-connector-java </artifactId> <version> 8.0.11 </version> </dependency> 数据库报错还没排除出来: 配置上的问题,手动写一遍配置; @autoware注解无法自动注入 ,找到从错误就来更改;(类似的博客是说:运行类没有放到相应的包下面;) SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描!“Application类”是指SpringBoot项目入口类。这个类的位置很关键:如果Application类所在的包为:com.boot.app,则只会扫描com.boot.app包及其所有子包

Spring Boot 之 spring.factories

≡放荡痞女 提交于 2020-01-20 14:38:22
引言   在java spring cloud项目中,我们常常会在子模块中创建公共类库,作为驱动包。那么在另外一个子模块中,需要加载配置文件的时候,往往Spring Boot 自动扫描包的时候,只会扫描自己模块下的类。 抛出一个问题    首先抛出一个问题:如果想要被Spring容器管理的Bean的路径不再Spring Boot 的包扫描路径下,怎么办呢?也就是如何去加载第三方的Bean 呢?   有两种方式可以解决:   这里我们使用Swagger的配置来做实验。   1:首先一个Swagger的配置类:SwaggerConfig   SwaggerConfig 代码: @Configuration @EnableSwagger2 public class SwaggerConfig implements EnvironmentAware { private static final Logger log = LoggerFactory.getLogger(SwaggerConfig.class); @Autowired private Environment env; @Value("${swagger.scan.package}") private String swaggerScanPackage; public SwaggerConfig() { } @Bean

springboot~工作流activiti的搭建

爷,独闯天下 提交于 2020-01-20 14:32:19
概念 工作流产品使用activiti的算是比较多了,自带了一套UI界面,可以直接使用,用来设计流程,下面简单总结一下它的步骤: 1 设计模型 2 发布为流程,一个模型可以发布多个版本的流程 3 建立一个流程的实例和实例任务,一个流程可以建立多个并行的实例 4 对某个实例任务进行审批 5 可以查看实时的流程实例状态 部署在项目里 添加引用 annotationProcessor 'org.projectlombok:lombok:1.18.2' //gradle5.0之后需要这样引用lombok compileOnly 'org.projectlombok:lombok:1.18.2' testAnnotationProcessor 'org.projectlombok:lombok:1.18.2' testCompileOnly 'org.projectlombok:lombok:1.18.2' implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter

Springboot 应用启动原理分析

梦想与她 提交于 2020-01-20 10:54:18
在 spring boot 中,很吸引人的一个特性是可以直接把应用打包称为一个 jar/war,这个 jar/war 是可以直接启动的,不需要额外配置 web server。 疑问 Spring boot 如何启动? Spring boot 内置的 embed tomcat 是如何工作的?静态文件,jsp,网页模板是如何加载到的? 打包为单个 jar 包时,spring boot 的启动方式 maven 打包之后,会生成两个 jar 文件: demo-0.0.1-SNAPSHOT.jar demo-0.0.1-SNAPSHOT.jar.original 其中 demo-0.0.1-SNAPSHOT.jar.original 是默认的 maven-jar-plugin 生成的包。demo-0.0.1-SNAPSHOT.jar 是 spring boot maven 插件生成的 jar 包,里面包含了应用的依赖,以及 spring boot 相关的类。 先来看看 spring boot 打包好的目录结构: ├── META-INF │ ├── MANIFEST.MF ├── application.properties ├── com │ └── example │ └── SpringBootDemoApplication.class ├── lib │ ├──

Spring Boot(一)——入门

萝らか妹 提交于 2020-01-20 01:06:38
目录 一、简介 二、微服务 (Hello World!) 三、深究 3.1@SpringBootApplication 3.1.1@SpringBootConfiguration:Spring Boot的配置类: 3.1.2@Configuration:配置类上标注这个注解 3.1.3@EnableAutoConfiguration:开启自动配置功能 3.1.3.1@AutoConfigurationPackage:自动配置包 将主配置类(@SpringBootApplication标注的类)的所在包及下面所有子包里面的所有组件扫描到spring容器; 四、使用Spring Initializer快速创建Spring Boot项目 一、简介 Spring Boot来简化Spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用。 Spring Boot ->J2EE一站式解决方案 Spring Cloud ->分布式整体解决方案 优点: -快速创建独立运行的Spring项目以及与主流框架集成; -使用嵌入式的Servlet容器,应用无需打成WAR包; -starters自动依赖与版本控制;(场景启动器) -大量的自动配置,简化开发,也可修改默认值; -无需配置xml,无代码生成,开箱即用; -准生产环境的运行时应用监控; -与云计算的天然集成;

springboot配置

半世苍凉 提交于 2020-01-19 22:08:49
YAML语法 基础语法: k:(空格) v 以此来表示一对键值对(空格不能省略);以空格的缩进来控制层级关系,只要是左边对齐的一列数据都是同一个层级的。 注意 :属性和值的大小写都是十分敏感的。例子: server: port: 8081 path: /hello 值的写法 字面量:普通的值 [ 数字,布尔值,字符串 ] k: v 字面量直接写在后面就可以 , 字符串默认不用加上双引号或者单引号; “” 双引号,不会转义字符串里面的特殊字符 , 特殊字符会作为本身想表示的意思; 比如 : name: "kuang \n shen" 输出 : kuang 换行 shen '' 单引号,会转义特殊字符 , 特殊字符最终会变成和普通字符一样输出 比如 : name: ‘kuang \n shen’ 输出 : kuang \n shen 对象、Map(键值对) k: v1: v2: 在下一行来写对象的属性和值得关系,注意缩进;比如: student: name: qinjiang age: 3 行内写法 student: {name: qinjiang,age: 3} 数组( List、set ) 用 - 值表示数组中的一个元素,比如: pets: - cat - dog - pig 行内写法 pets: [cat,dog,pig] 修改SpringBoot的默认端口号 配置文件中添加

基础java spring boot 接口项目

本小妞迷上赌 提交于 2020-01-19 17:38:48
idea 新建maven项目 填写自定义group/actifactId/version 在pom.xml文件中添加所需的依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> </parent> <groupId>com.group</groupId> <artifactId>ljk</artifactId> <version>1.0.0</version> <name>first application<

SpringBoot学习之注解释义

て烟熏妆下的殇ゞ 提交于 2020-01-19 14:24:15
一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。 @Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。 @EnableAutoConfiguration 自动配置。 @ComponentScan 组件扫描,可自动发现和装配一些Bean。 @Component可配合CommandLineRunner使用,在程序启动后执行一些基础任务。 @RestController注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。 @Autowired自动导入。 @PathVariable获取参数。 @JsonBackReference解决嵌套外链问题。 @RepositoryRestResourcepublic配合spring-boot-starter-data-rest使用。 二、注解(annotations)详解 @SpringBootApplication