202012-23 Prometheus 入门教程之SpringBoot 实现自定义指标监控 上篇文章我们已经可以在Grafana上看到对应的SpringBoot应用信息了,通过这些信息我们可以对SpringBoot应用有更全面的监控。但是如果我们需要对一些业务指标做监控,我们应该怎么做呢?这篇文章就带你一步步实现一个模拟的订单业务指标监控。假设我们有一个订单系统,我们需要监控它的实时订单总额、10分钟内的下单失败率、请求失败数。那么我们应该怎么做呢?添加业务监控指标在spring-web-prometheus-demo项目的基础上,... 继续阅读 >
202012-23 springboot+vue实现页面下载文件 本文实例为大家分享了springboot+vue页面下载文件的具体代码,供大家参考,具体内容如下1.前端代码:<templatev-slot:operate="{row}"><vxe-buttonstyle="color:#409eff;font-weight:bolder"class="el-icon-download"title="成果下载"circle@click="downloadFile(row)"></vxe-button></template>downloadFile(row){window.location="http://localhost:8001/file/downloadFile?taskId="+row.id;}2.后端代码... 继续阅读 >
202012-22 Springboot Druid 自定义加密数据库密码的几种方案 前言开发过程中,配置的数据库密码通常是明文形式,这样首先第一个安全性不好(相对来说),不符合一个开发规范(如项目中不能出现明文账号密码),其实就是当出现特殊需求时,比如要对非运维人员开方服务器部分权限,但是又涉及项目部署的目录时,容易泄漏数据库密码,虽然一般生产环境中,数据库往往放入内网,访问只能通过内网访问,但是不管怎么说账号密码直接让人知道总归不好,甚至有些项目需要部署到客户环境中,但是可能共... 继续阅读 >
202012-22 Springboot+Bootstrap实现增删改查实战 说明最近有朋友问我有没有Springboot+Bootstrap实现增删改查的DEMO,当时没有,现在他来了!实现效果代码地址https://gitee.com/indexman/bootstrap_curd水平一般能力有限,觉得有用的朋友给我来个一键三连或捐助:)软件架构前端:bootstrap4.5+thymeleaf+分页插件后端:springboot+mybatisPlus数据库:mysql核心功能代码前端<!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:th="http://www.thymeleaf.org"><h... 继续阅读 >
202012-22 SpringBoot设置默认主页的方法步骤 1.若采用渲染引擎,JSP等VIEW渲染技术,可以通过addViewController的方式解决。即:@ConfigurationpublicclassDefaultViewextendsWebMvcConfigurerAdapter{@OverridepublicvoidaddViewControllers(ViewControllerRegistryregistry){registry.addViewController("/Blog").setViewName("forward:index.jsp");registry.setOrder(Ordered.HIGHEST_PRECEDENCE);super.addViewControllers(registry);}}或者@C... 继续阅读 >
202012-22 Spring Boot中自动执行sql脚本的实现 说明:所有的代码基于SpringBoot2.0.3版本背景在应用程序启动后,可以自动执行建库、建表等SQL脚本.下文中以要自动化执行people.sql脚本为例说明,脚本在SpringBoot工程中的路径为:classpath:people.sql,脚本的具体内容如下:CREATETABLEIFNOTEXISTSpeople(persion_idBIGINTNOTNULLAUTO_INCREMENT,first_nameVARCHAR(20),last_nameVARCHAR(20),PRIMARYKEY(persion_id));实现核心在SpringBoot的架构中,Dat... 继续阅读 >
202012-22 springboot访问template下的html页面的实现配置 一、template下文件不允许直接访问1、查资料得知:springboot项目默认是不允许直接访问template下的文件的,是受保护的。 所以想访问template下的html页面,我们可以配置视图解析器。2、如果想要用视图去展示,应该要设置好视图展示页面,比如说用一个模板语言来接收返回的数据(thymeleaf或者freemarker等),也可以用jsp接收,但是SpringBoot官方是不推荐用jsp的,而是建议使用thymeleaf作为模板语言,这里我... 继续阅读 >
202012-22 Springboot设置默认访问路径方法实现 前言当使用springboot与其他框架结合编写web前后端时,可能存在这样的需求:我想在访问10.10.10.100时,实际上需要访问10.10.10.100/hello页面。(端口已省略,自行设置)解决方案1-实现WebMvcConfigurer接口搜过很多博客,里面的内容虽然可以用。但是基本上都是基于继承WebMvcConfigurerAdapter类实现的,而官方的源码里面已经不推荐使用该类了。下面给出我的解决方案,很简单:importorg.springframework.context.annotation.... 继续阅读 >
202012-22 Springboot整合Freemarker的实现详细过程 基本配置、测试1、导入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>2、准备一个Freemarker模板(.ftl)3、注入Configuration对象(freemarker.template包下)4、生成商品详情模板@Controller@RequestMapping("/goodItem")publicclassGoodItemController{@ReferenceprivateIGoodsServicegoodsService;@AutowiredprivateConf... 继续阅读 >
202012-22 玩转SpringBoot中的那些连接池(小结) 回想起前几天在部署springboot项目到正线时,线上环境要求jdk7,可项目是基于jdk8开发的,springboot也是用的springboot2以上的版本,可以说缝缝补补一整天才搞好能满足线上环境的代码,搞完后当然需要小小的了解一下背后的秘密。好了,话不多说,我们直接进入正题。其实切换还不算太麻烦,坑就坑在SpringBoot2切换到SpringBoot1后,默认使用的连接池发生了变化,之前做的压力测试又重新搞了一遍。怨天尤人貌似消极了哈,小编我可... 继续阅读 >
202012-22 springboot集成druid连接池配置的方法 在开发项目中如果数据库选型为mysql,很大概率下连接池会使用druid这里介绍springboot集成duridspringboot:2.1.9druid:1.1.10案例地址github地址springboot集成druid配置需要引入的pom<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency>需要在application.yaml中添加一些配置spring:datasource:type:com.aliba... 继续阅读 >
202012-18 Redis和springboot 整合redisUtil类的示例代码 一、引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>二、在application.yml配置redis服务器spring:#环境dev|test|prodprofiles:active:devservlet:multipart:max-file-size:100MBmax-request-size:100MBenabled:trueredis:database:0#Redis服务器数据库host:192.168.6.27#Redis服务器地址p... 继续阅读 >
202012-18 springboot如何集成Swagger2 一、是什么当下很多公司都采取前后端分离的开发模式,前端和后端的工作由不同的工程师完成。在这种开发模式下,维持一份及时更新且完整的RestAPI文档将会极大的提高我们的工作效率。传统意义上的文档都是后端开发人员手动编写的,相信大家也都知道这种方式很难保证文档的及时性,这种文档久而久之也就会失去其参考意义,反而还会加大我们的沟通成本。而Swagger给我们提供了一个全新的维护API文档的方式。二、为什么要使... 继续阅读 >
202012-17 SpringBoot集成validation校验参数遇到的坑 公众号中分享了一篇文章,关于SpringBoot集成validation校验参数的,粉丝留言说有坑。原留言如下:有坑,你试试^A-\\d{12}-\\d{4}$,这条正则经过validate这个方法无论参数写的对不对都会报验证错误,而用main方法测试是正常的。。话说,针对这种回复我是不太信了,直觉告诉我,肯定是这位粉丝用错了。但既然粉丝有疑问还是需要专门写一个demo来验证一下的。说写就写。SpringBoot集成validation集成过程非常简单,在原项目的pom文件... 继续阅读 >
202012-17 SpringBoot集成Swagger2构建在线API文档的代码详解 第一部分:代码集成pom.xml<!--swagger2配置--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.4.0</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.4.0</version></dependency><dependency><groupId>com.github.xiaoymin</grou... 继续阅读 >
202012-17 Springboot实现Shiro整合JWT的示例代码 写在前面之前想尝试把JWT和Shiro结合到一起,但是在网上查了些博客,也没太有看懂,所以就自己重新研究了一下Shiro的工作机制,然后自己想了个(傻逼)办法把JWT和Shiro整合到一起了另外接下来还会涉及到JWT相关的内容,我之前写过一篇博客,可以看这里:Springboot实现JWT认证Shiro的Session机制由于我的方法是改变了Shiro的默认的Session机制,所以这里先简单讲一下Shiro的机制,简单了解Shiro是怎么确定每次访问的是哪个用户的S... 继续阅读 >