spring boot环境抽象的实现方法
在实际开发中,开发人员在编写springboot的时候通常要在本地环境测试然后再部署到Production环境,这两种环境一般来讲是不同的,最主要的区别就是数据源的不同。
在应用环境中,集成在容器的抽象环境模型有两个方面:profiles和properties。只有给出的profile被激活,...[2019/4/3]
Spring Boot 文件上传与下载的示例代码
文件的上传及下载功能是开发人员在日常应用及编程开发中经常会遇到的。正好最近开发需要用到此功能,虽然本人是 Android 开发人员,但还是业余客串了一下后台开发。
在本文中,您将学习如何使用 Spring Boot 实现 Web 服务中的文件上传和下载功能。首先会构建一个 REST APIs ...[2019/4/1]
spring boot配置ssl实现HTTPS的方法
传输层安全性协议(英语:Transport Layer Security,缩写作 TLS),及其前身安全套接层(Secure Sockets Layer,缩写作 SSL)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首...[2019/4/1]
Spring Boot 2.X优雅的解决跨域问题
一、什么是源和跨域
源(origin)就是协议、域名和端口号。
URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口全部相同,则表示他们同源。否则,只要协议、域名、端口有任何一个不同,就是跨域。
对https: www.baidu.com/index.html进...[2019/3/21]
详细介绍Spring Boot 2.0的那些新特性与增强
以Java 8 为基准
Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持。
内嵌容器包结构调整
为了支持reactive使用场景,内嵌的容器包结构被重构了的幅度有点大。EmbeddedServletContainer被重命名为WebServ...[2019/3/19]
Spring Boot设置并使用缓存的步骤
几个缓存注解的作用:
@Cacheable:将方法的返回结果根据key指定的键保存在缓存中,以后要获取相同的数据直接从缓存中共获取
cacheName value:指定Cache组件名称
key:指定缓存时使用的key,默认使用方法参数值,可以使用#a0、#p0、#参数名等,支...[2019/3/15]
spring boot之SpringApplication 事件监听
spring application listener
在 spring 框架中,有多种事件, 这些时间会在不同的运行时刻发布,来通知监听者。本文仅仅介绍 SpringApplicationEvent 的事件的监听。
事件类型
EventTy...[2019/3/14]
SpringBoot使用SOFA-Lookout监控的方法
本文介绍SpringBoot使用蚂蚁金服SOFA-Lookout配合Prometheus进行监控。
1.SOFA-Lookout介绍
上一篇已经介绍使用Prometheus进行暴露SpringBoot的一些指标进行监控,传送门,这一篇介绍如何使用SOFA-Lookout配合Promethe...[2019/3/13]
Spring Boot中使用Spring-data-jpa的配置方法详解
为了解决这些大量枯燥的数据操作语句,我们第一个想到的是使用ORM框架,比如:hibernate。通过整合Hibernate之后,我们以操作Java实体的方式最终将数据改变映射到数据库表中。
为了解决抽象各个Java实体基本的“增删改查”操作,我们通常会以泛型的方式封装一个模板Dao来进行抽象简...[2019/3/12]
Spring Boot如何使用HikariCP连接池详解
前言
Springboot让Java开发更加美好,更加简洁,更加简单。Spring Boot 2.x中使用HikariCP作为默认的数据连接池。 HikariCP使用Java ist字节码操作库来实现动态代理,优化并精简了字节码,同时内部使用 com.zaxxer.hikari.util.Fa...[2019/3/12]
详解Spring Boot中整合Sharding-JDBC读写分离示例
在我《Spring Cloud微服务-全栈技术与案例解析》书中,第18章节分库分表解决方案里有对Sharding-JDBC的使用进行详细的讲解。
之前是通过XML方式来配置数据源,读写分离策略,分库分表策略等,之前有朋友也问过我,有没有Spring Boot的方式来配置,既然已经用Spring...[2019/3/12]
2018-08-20 中文代码之Spring Boot集成H2内存数据库
续前文: 中文代码之Spring Boot添加基本日志, 源码库地址相同.
鉴于此项目中的数据总量不大(即使万条词条也在1MB之内), 当前选择轻量级而且配置简单易于部署的H2内存数据库比较合理. 此文仅演示实现H2的集成, 还未修改服务本身功能.
相关commit在: 集成H2数据库 · p...[2019/3/11]
SpringBoot自定义starter实例代码
一、简介
SpringBoot 最强大的功能就是把我们常用的场景抽取成了一个个starter(场景启动器),我们通过引入SpringBoot 为我提供的这些场景启动器,我们再进行少量的配置就能使用相应的功能。即使是这样,SpringBoot也不能囊括我们所有的使用场景,往往我们需要自定义s...[2019/3/11]
springboot打包不同环境配置以及shell脚本部署的方法springboot打包不同环境配置以及shell脚本部署的方法
前言
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作;
profiles指定不同环境的配置
maven-a embly-plugin打发布压缩包
分享shenniu_publish.sh程序启动...[2019/3/11]
详解Spring Boot 2.0.2+Ajax解决跨域请求的问题详解Spring Boot 2.0.2+Ajax解决跨域请求的问题
问题描述
后端域名为A.abc.com,前端域名为B.abc.com。浏览器在访问时,会出现跨域访问。浏览器对于javascript的同源策略的限制。
HTTP请求时,请求本身会返回200,但是返回结果不会走succe ,并且会在浏览器console中提示:
已拦截跨源请求:同源策...[2019/3/6]
Spring boot定时任务的原理及动态创建详解Spring boot定时任务的原理及动态创建详解
v一、前言 定时任务一般是项目中都需要用到的,可以用于定时处理一些特殊的任务。这篇文章主要给大家介绍了关于Spring boot定时任务的原理及动态创建的相关内容,下面来一起看看详细的介绍吧 上周工作遇到了一个需求,同步多个省份销号数据,解绑微信粉丝。分省定时将销号数据放到SFTP服务器上,我需...[2019/3/4]
Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置
Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库、缓存和消息代理。它支持数据结构,如 字符串、散列、列表、集合,带有范围查询的排序集,位图,超级日志,具有半径查询和流的地理空间索引。Redis具有内置复制,Lua脚本,LRU驱逐,事务...[2019/3/4]
SpringBoot之LogBack配置详解
LogBack 默认集成在 Spring Boot 中,是基于 Slf4j 的日志框架。默认情况下 Spring Boot 是以 INFO 级别输出到控制台。
它的日志级别是:
ALL < TRACE < DEBUG < INFO < WARN < ERR...[2019/2/28]
spring boot 自定义异常spring boot 自定义异常
SpringBoot自定义异常以及异常处理 在web项目中,我们可能需要给前端返回不同的提示码。例如:401表示没有权限,500代表位置异常,200代表请求成功等。但是这些提示码远远不能满足我们返回给前端的提示,可能还需要我们自定义错误码给前端,前端获取相应的错误码以及错误信息,展示到页...[2019/2/21]
Spring MVC学习step1——框架熟悉
b站视频链接,整理的一些笔记,图是网上找到的黑马教案,侵权删,在此记录学习笔记 SpringMVC框架 步骤: 第一步:发起请求到前端控制器(Dispatcherservlet) 第二步:前端控制器请求HandlerMapping查找Handlers &...[2019/2/19]
Spring Boot 自动配置原理
注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别。前言 关于配置文件可以配置的内容,在 Spring Boot 官方网站已经提供了完整了配置示例和解释。 可以这么说,Spring Boot 的一大精...[2019/2/18]
SpringBoot之Java配置的实现SpringBoot之Java配置的实现
Java配置也是Spring4.0推荐的配置方式,完全可以取代XML的配置方式,也是SpringBoot推荐的方式。
Java配置是通过@Configuation和@Bean来实现的:
1、@Configuation注解,说明此类是配置类,相当于Spring的XML方式
2、@...[2019/1/31]
详解Spring Boot微服务如何集成fescar解决分布式事务问题
什么是fescar?
关于fescar的详细介绍,请参阅fescar wiki。
传统的2PC提交协议,会持有一个全局性的锁,所有局部事务预提交成功后一起提交,或有一个局部事务预提交失败后一起回滚,最后释放全局锁。锁持有的时间较长,会对并发造成较大的影响,死锁的风险也较高。
...[2019/1/31]
SpringBoot实现网站注册,邮件激活码激活功能
项目源码:https: gitee.com mfx1314 pringbootemail 上一篇文章已经讲到如何springboot如何实现邮件的发送,趁热打铁,这篇文章实现如下功能。 很多网站注册功能都会给您注册的邮箱发送一封邮件,里面是一串连接,点击链接激活功能,今天咱们就实现这个功能。 原理...[2019/1/29]
SpringBoot Devtools实现项目热部署的方法示例
我们在开发SpringBoot项目的时候,有些时候修改了一些Controller或者Service等组件,那么每次修改都需要去重启服务,这样的话严重的导致我们的开发效率降低,那么SpringBoot为我们提供了该问题的解决方案,那就是进行热部署,我们热部署使用到的组件是devtools。
修改...[2019/1/25]
SpringBoot集成gRPC微服务工程搭建
前言 本文将使用Maven、gRPC、Protocol buffers、Docker、Envoy等工具构建一个简单微服务工程,笔者所使用的示例工程是以前写的一个Java后端工程,因为最近都在 学习微服务相关的知识,所以利用起来慢慢的把这个工程做成微服务化应用。在实践过程踩过很多坑,主要是经验不足...[2019/1/21]
Spring Boot支持Crontab任务改造的方法
在以往的 Tomcat 项目中,一直习惯用 Ant 打包,使用 build.xml 配置,通过 ant -buildfile 的方式在机器上执行定时任务。虽然 Spring 本身支持定时任务,但都是服务一直运行时支持。其实在项目中,大多数定时任务,还是借助 Linux Crontab 来支持,需要...[2019/1/21]
Spring Boot 异步框架的使用详解
1. 前言 随着数据量和调用量的增长,用户对应用的性能要求越来越高。另外,在实际的服务中,还存在着这样的场景:系统在组装数据的时候,对于数据的各个部分的获取实际上是没有前后依赖关系的。这些问题都很容易让我们想到将这些同步调用全都改造为异步调用。不过自己实现起来比较麻烦,还容易出错。好在Sprin...[2019/1/18]
springboot配置druid连接池的方法示例
Druid的简介
Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBo DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规...[2019/1/14]
Spring Boot整合Redis
Spring Boot整合Redis spring boot提供了spring-data-redis库来整合 Redis的操作,并通过简单的配置信息实现与Redis的整合。 PS:个人还是习惯于使用 Jedis 面向 Java 客户端操作 Redis 废话不多说,上代码。 :-) Maven 依赖...[2019/1/9]
Spring Boot 2.x(六):优雅的统一返回值
为什么要统一返回值
在我们做后端应用的时候,前后端分离的情况下,我们经常会定义一个数据格式,通常会包含code,me age,data这三个必不可少的信息来方便我们的交流,下面我们直接来看代码
ReturnVO
package indi.viyoung.viboot.util;
im...[2018/12/28]
SpringBoot之RabbitMQ的使用方法SpringBoot之RabbitMQ的使用方法
一 、RabbitMQ的介绍
RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件,消息中间件的工作过程可以用生产者消费者模型来表示.即,生产者不断的向消息队列发送信息,而消费者从消息队列中消费信息.具体过程如下:
从上图可看出,对于消息队列来说...[2018/12/24]
详解SpringBoot注入数据的方式详解SpringBoot注入数据的方式
关于注入数据说明
1.不通过配置文件注入数据
通过@Value将外部的值动态注入到Bean中,使用的情况有:
注入普通字符串
注入操作系统属性
注入表达式结果
注入其他Bean属性:注入Student对象的属性name
注入文件资源
注入URL...[2018/12/24]
Spring Boot配置Swagger的实现代码
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。
...[2018/12/24]
Spring Boot整合FTPClient线程池的实现示例
最近在写一个FTP上传工具,用到了Apache的FTPClient,但是每个线程频繁的创建和销毁FTPClient对象对服务器的压力很大,因此,此处最好使用一个FTPClient连接池。仔细翻了一下Apache的api,发现它并没有一个FTPClientPool的实现,所以,不得不自己写一个FTP...[2018/12/24]
SpringBoot 入门(一)SpringBoot 入门(一)
1. 什么是SpringBoot? SpringBoot是一个快速开发框架,能够帮我们快速整合第三方框架(Maven依赖关系##Maven继承),完全采用注解化,简化XML配置,内置嵌入Http服务器(Tomcat、Jetty),默认嵌入Tomcat服务器。最终以java应用程序进行执行。(S...[2018/12/17]
分布式总结
一、TOKEN Token的特点: 无状态、可扩展 支持移动设备 跨程序调用 安全 Token原理: 将荷载PAYLOAD以及HEADER信息进行Base64加密,形成密文payload密文,head密文。 将形成的密文用句号连接起来,用服务端密钥...[2018/12/13]
YAML快速入门YAML快速入门
一、前言
YAML的明明感觉棒棒的,YAML是“YAML不是一种标记语言”的缩写,那么问题来了,YAML是啥,哈哈,这个递归棒棒的。
这个不重要,优势呢,YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态。主要以数据为主,可以类比为另一种json么,看个人喜好吧,反正...[2018/12/10]
如何在Spring Boot启动时运行定制的代码
Spring Boot会自动为我们做很多配置,但迟早你需要做一些自定义工作。在本文中,您将学习如何挂钩应用程序引导程序生命周期并在Spring Boot启动时执行代码。
1.执行bean初始化的方法
Spring启动应用程序后运行某些逻辑的最简单方法是将代码作为所选bean引导过程的一部分...[2018/12/3]
springboot2.0集成rabbitmq的示例代码springboot2.0集成rabbitmq的示例代码
安装rabbitmq
简介: rabbitmq即一个消息队列,主要用来实现应用程序的异步和解耦,消息缓冲,消息分发的作用.
由于rabbitmq依赖于erlang语言,所以先安装erlang:
添加erlang solutions源
$ wget https: pa...[2018/12/3]
使用Vue+Spring Boot实现Excel上传功能
1.使用Vue-Cli创建前端项目
运用vue-cli工具可以很轻松地构建前端项目,当然,使用WebStorm来构建会更加简洁(如图)。本文推荐使用WebStorm,因为在后续开发中,IDE会使我们的开发更加简洁。部分配置如图:
2.Navbar编写
作为一个WebAp...[2018/11/30]
spring boot配置详解
springboot配置详解 Author:SimpleWu properteis文件属性参考大全springboot默认加载配置 SpringBoot使用两种全局的配置文件,全局配置文件可以对一些默认配置进行修改。 application.properties application.yml 这两...[2018/11/29]
spring boot添加新模块的方法教程
前言
在springboot项目框架里,把一个项目两大模块,主项目main和测试项目test,而我们的测试项目根据功能又可以再分,比如可以有单元测试,集成测试,业务测试等等。
对于一个初学者来说,建立模块的方式需要我们掌握,网上的资料不多,很少讲到这个功能点,大叔在这里普及一下!
sp...[2018/11/28]
详解Spring Boot的GenericApplicationContext使用教程
教程展示了如何在Spring应用程序中使用GenericApplicationContext 。在该示例中,我们创建了一个Spring Boot控制台应用程序。
Spring是一个流行的Java应用程序框架,Spring Boot 是Spring的演变,可以帮助您轻松创建独立的,基于生产级别的...[2018/11/27]
@Autowired注入为null问题原因分析@Autowired注入为null问题原因分析
问题说明
最近看到Spring事务,在学习过程中遇到一个很苦恼问题
搭建好Spring的启动环境后出现了一点小问题
在启动时候却出现[java.lang.NullPointerException]
不过因为当时一个小小的疏忽很low的问题 请往下看...
工程结构
代...[2018/11/27]
SpringBoot 错误处理机制与自定义错误处理实现详解
【1】SpringBoot的默认错误处理
① 浏览器访问
请求头如下:
② 使用“PostMan”访问
{
"timestamp": 1529479254647,
"status": 404,
"error": "Not Found",
...[2018/11/25]
SpringBoot中redis的使用介绍
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API...[2018/11/22]
Spring Boot 集成 Shiro实现权限控制Spring Boot 集成 Shiro实现权限控制
前提: 本文主要讲解Spring Boot 与 Shiro的集成 与权限控制的实现方式(主要以代码实现功能为主),主要用到的技术Spring Boot+Shiro+Jpa(通过Maven构建),并不会涉及到Shiro框架的源码分析 如果有想要学习Shiro框架的小伙伴可以去http: hiro.ap...[2018/11/16]
利用Kotlin + Spring Boot实现后端开发利用Kotlin + Spring Boot实现后端开发
前言
Spring官方最近宣布,将在Spring Framework 5.0版本中正式支持Kotlin语言。这意味着Spring Boot 2.x版本将为Kotlin提供一流的支持。
这并不会令人意外,因为Pivotal团队以广泛接纳JVM语言(如Scala...[2018/11/15]
SpringBoot2.0 ZipKin示例代码SpringBoot2.0 ZipKin示例代码
Zipkin是一种分布式跟踪系统。它有助于收集解决微服务架构中延迟问题所需的时序数据。它管理这些数据的收集和查找。Zipkin的设计基于 Google Dapper论文。
应用程序用于向Zipkin报告时间数据。Zipkin用户界面还提供了一个依赖关系图,显示每个应用程序有多少跟踪请...[2018/11/12]