
入门springboot企业级架构
文章平均质量分 57
长时间curd之后,该怎么转架构师,该如何入门架构?本篇文章根据企业级开放环境落地,从零开始带你搭建属于自己的后台框架。
小鲍侃java
CSDN博客专家,华为签约作者,全网粉丝10w,阅读量100w+。现任企业架构师,主要分享和讲解毕设,java入门与晋级架构师的技巧与知识。
展开
-
应用级监控方案Spring Boot Admin
1.简介Spring Boot Admin为项目常用的监控方式,可以动态的监控服务是否运行和运行的参数,如类的调用情况、流量等。其中分为server与client:server: 提供展示UI与监控服务。client:加入server,被监控的项目。同时在监控的过程中spring-boot-starter-actuator也被经常提及,actuator使用后,会在被项目内部打上探针,提供一系列的监控api接口,如堆内存、栈内存等。下文数据为actuator提供。2.server端2.1 新原创 2023-07-05 20:30:10 · 8607 阅读 · 7 评论 -
springboot聚合工程讲解与部署
## 1.什么是聚合工程如下图所示,拥有父子包结构的springboot工程叫做聚合工程。其中父包包括了多个子包(多个项目)。2.聚合工程优势组件化管理通用功能,动态的添加功能。统一管理jar包的版本号提高复用性创建聚合工程1.首先创建一个springboot项目 然后删除src文件夹2.创建子工程选择spring boot项目 然后继续 创建项目。如果是工具,配置,组件化的项目(不需要启动)可以继续删除启动类和resources文件夹3.修改父工程和子工程pom文件然后聚合工程就原创 2021-11-24 16:38:51 · 6929 阅读 · 0 评论 -
可以判断所有类型是否为空的java封装方法
为空方法判断原创 2020-05-31 10:56:40 · 1083 阅读 · 1 评论 -
springboot集成阿里云短信
1.获取签名与模板进入阿里云平台,进入短信服务模块,在以下位置添加签名和模板(格式一定按照要求填写 审批的比较严格)2.编写模板与签名的枚举类在上文获取模板与签名成功后,并作为常量放在枚举类中。public enum DySmsEnum { /** * 本类此处需要修改(短信模板编码,签名,参数) */ LOGIN_TEMPLATE_CODE("SMS_187570276", "自定义软件框架集成百度云", "code"); /** *原创 2021-11-23 11:13:13 · 7004 阅读 · 2 评论 -
连接内外网邮箱,实现邮件提醒功能
在调用过mq后,或者事件办完后,经常有邮件通知提醒的需求。而springboot也提供了start,只需要按照要求调用方法即可。但是网络上大多事如何调用外网邮箱的博文,本文将分别实现如何调用内外网邮件。1.业务代码1.pom文件<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactI原创 2021-09-26 08:46:17 · 15983 阅读 · 24 评论 -
springboot连接Nexus私服
私服maven配置原创 2020-05-31 11:03:41 · 1498 阅读 · 3 评论 -
swagger2整合并不是那么随便
在前后联调时,一个高质量的接口文档工具是必不可少的。否则就会出现前后台人员不停的来回沟通的现象,浪费大量的时间。在大多数企业的接口文档使用的都是swaager,可能唯一的缺陷就是ui样式不是特别给力。但是有大量的增强性工具可以使用,如yapi,其中支持swagger导出文件的展示。如果选择其他接口文档工具,可能对比swagger有缺失。请谨慎选择。博主在公司规定定义时,规定入参值与返回值均为实体类,不允许使用其他基本类型的封装类型。以下使用均在此前提。这里就面临这get请求的问题,如果有兴趣可以接续往原创 2021-09-23 08:47:25 · 11181 阅读 · 72 评论 -
RabbitMQ简介与springboot整合
1.什么是消息队列消息队列,主要解决异步消息的管理(注册后,短信发送不是必须,可以使用队列)。实现系统之间的双向解耦,同时也能起到消息缓冲,消息分发的作用。当生产者产生大量数据,而消费者无法快速消费,(秒杀数据量过大使系统崩溃,队列可以废弃多余请求),或者是消费者异常了(服务挂掉后使请求丢失,队列可以保存请求)。说白话讲,主要作用就是异步,削峰与解耦。1.rabbitMQ简介1.运行流程rabbitmq是消息队列的一种,通过上图可以看到工作流程。生产者把请求给交换机 ,交换机把请求按照一定绑原创 2021-11-21 21:26:41 · 1639 阅读 · 0 评论 -
springboot统一处理返回实体与异常抛出
当返回异常时,是这样子的{ "timestamp": "2019-12-11T05:37:10.096+0000", "status": 500, "error": "Internal Server Error", "message": "报错了", "path": "/test/testException"}但是,可能有时前台需要一个code值来判断抛出的错误,这样就需要我们封装去返回code值和message值。同时还可以拦截异常进行输出,是市面架构的原创 2021-11-24 16:47:28 · 6719 阅读 · 0 评论 -
自定义注解实现方式解析
自定义注意在日常开发中经常使用,同时有很多实现自定义注解的方式,本文将带你一一了解。1.源注解解析@Retention //注解只会存在源代码中,将会被编译器丢弃 SOURCE, //注解将会保留到class文件阶段,但是在加载如vm的时候会被抛弃 CLASS, //注解不单会被保留到class文件阶段,而且也会被vm加载进虚拟机的时候保留 RUNTIME@Target用于描述类、接口(包括注解类型) 或enum声明 Class, interfac原创 2021-11-24 16:39:44 · 6877 阅读 · 0 评论 -
springboot自定义注解收集操作日志
对于日志收集,是系统离不开的功能,那么如何实现简易的日志收集呢。市面上最常见的就是使用自定义注解。本文将介绍如何使用自定义注解收集日志。1.添加自定义注解@Target({ElementType.PARAMETER, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Log { /** * 注释 */ String operationName原创 2021-11-24 17:03:24 · 6428 阅读 · 0 评论 -
springboot自定义start解析(start中配置从数据源)
在springboot相比于springmvc提供了一个极为重要的功能,就是自定义start(自定义jar包),同时spring也提供了一大波start。如spring-boot-starter-data-redis,spring-boot-starter-amqp。本文将教你如何自定义start。例子为从start中获取数据源。1.自定义start能干什么在架构考虑时,或许有一些通用方法抽取成start,在项目中使用时,直接引入即可。2.创建自定义start1.创建一个新的maven项目创建一原创 2021-11-24 16:42:28 · 8102 阅读 · 1 评论 -
可视化定时任务,quartz集成全解析
quartz原创 2020-05-31 11:09:56 · 1210 阅读 · 2 评论 -
springboot业务功能实战(四)告别轮询,websocket的集成使用
web socket集成spring boot原创 2020-04-22 09:06:00 · 883 阅读 · 1 评论 -
jodconverter实现在线预览
现在预览是一个非常常用的供能。项目经理在会上提出必须实现改功能。首先博主先确定了一个思路:其他文档转成配pdf然后通过流发送到前台。因为前台支持pdf,可以直接预览。说干就干。下面上代码。1.方案一:使用jodconverter-spring-boot-starter方法在一些时间的调研后,发现spring提供jodconverter-spring-boot-starter的jar包。能够完成该功能。我们只需要按照他的API实现即可。1.修改pom文件 <!--jodconverter 核原创 2021-11-24 16:44:15 · 7381 阅读 · 0 评论 -
@ConfigurationProperties注解全解析
@ConfigurationProperties注解类似于@value 可以将application中的配置映射到java变量中 通过@ConfigurationProperties,可以配置是否加载bean示例:application.ymlspring: complex: #重量级模式是否开启 在线上可以不加载开发环境bean enable: trueConfigProperties 配置是否加载的标识 加载为true ,不加载为fasle 对应上文配置@Con原创 2021-01-12 15:54:44 · 1384 阅读 · 7 评论 -
使用logback定制日志打印
https://www.zhangjianbing.com/archives/38/https://www.cnblogs.com/zhangjianbing/p/8992897.html原创 2020-05-31 10:53:31 · 676 阅读 · 1 评论 -
有关ip工具类
private static final String UNKNOWN = "unknown"; //本地IP private static final String LOCAL_IP = "127.0.0.1"; //服务器IP private static String SERVER_IP = null; /** * 获取客户单IP地址 */ public static String getClientIp(HttpServletR.原创 2021-01-28 14:16:08 · 520 阅读 · 1 评论 -
汉字拼音互相转换工具类
public class PhoneticTranscriptionUtil { /** * 获取当前所有字符转为全拼小写(数字 标点 字母转换为本身) * * @param chineseLanguage 要转成拼音的中文 */ @GetMapping("/toHanyuPinyin") public Result<String> toHanyuPinyin(String chineseLanguage) { .原创 2021-01-28 14:13:56 · 745 阅读 · 5 评论 -
使用阿里数据源配置多数据源
新建配置类其中需要配置@Primary 这个注解只能在主数据源中配置 否则会报错@MapperScan中配置的为使用主数据源的dao和mapper存放路径,每一个数据源都有他的独有的dao和mapper路径@Configuration@MapperScan(basePackages = MasterDataSourceConfig.PACKAGE, sqlSessionFactor...原创 2020-01-03 21:32:06 · 868 阅读 · 1 评论 -
使用jenkins持续化集成springboot
在开发环境中,打版部署是一件非常麻烦的事情,所以持续化集成能够大大减少运维的工作量,此篇文章将介绍如何持续化部署springboot项目。1.jenkens持续化部署的原理持续化部署的原理很简单,就是首先到你提供的svn/git上下载代码,然后获取配置的打包语句,打成jar包。然后使用ssh连接上需要发布的服务器,并执行你提供的启动语法。2.安装2.安装jdk3.安装maven4.配置jdk与maven*_HOME与环境变量一致5.其他配置修改ssh配置。配置远程地址,也原创 2021-10-22 08:35:28 · 12280 阅读 · 0 评论 -
建立好swagger接口编写规范,减少前后端人员扯皮
1.将同一业务的接口写于1个类中 并写明业务名称2.写清接口描述,切记不要使用requestmapping3.入参描述(入参不是无法满足需求的情况下 需要使用List<vo>方式)...原创 2020-09-27 11:01:29 · 787 阅读 · 1 评论 -
java开发的格式与书写规范
1.idea设置注释与格式规范1.安装插件安装idea插件–eclipse code formatter按住ctrl + alt + S 然后点击 plugins —marketplace —installed— ok2添加配置文件下载好eclipse格式化文件 按住ctrl + alt + S,重启后会发现出现eclipse code formatter 选项,点击进入 按照图片进行配置,路径选择文件夹内eclipse-codestyle文件。注意:每次保存需要 ctr原创 2021-11-24 17:10:31 · 7338 阅读 · 5 评论 -
springboot解决跨域问题
@Configurationpublic class GatewayConfig { /** * 配置全局解决cors跨域问题 * * @return */ @Bean public CorsFilter corsFilter() { final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); .原创 2021-01-29 10:34:02 · 580 阅读 · 2 评论 -
如何新建idea聚合项目
新建spring boot项目填写项目信息指定该子项目的路径父工程pom文件<?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://mav...原创 2021-08-09 08:59:54 · 764 阅读 · 55 评论 -
如何使用代码生成插件easycode
本模板包括使用restful风格,生成了get,set,toString,swagger(没有使用lombok 防止强艹队友)本版本为postgresql版本 在获取配置文件后 可以按照楼主格式自行修改 (很简单)本文配置文件地址链接:https://pan.baidu.com/s/1blIOEsZuEt1uoYqskfq98w提取码:zcah1.安装插件2.配置数据库(需要重启idea)填写数据库信息填写完成后 test3.导入配置选择sett...原创 2021-07-07 20:33:16 · 768 阅读 · 50 评论