一起来学SpringBoot
文章平均质量分 88
MelancholyCat
One day you'll leave this world behind So live a life you will remember
展开
-
一起来学SpingBoot(二十一)消息队列RabbitMq
序言RabbitMQ是一个遵循AMQP协议,由面向高并发的erlanng语言开发而成,用在实时的对可靠性要求比较高的消息传递上,支持多种语言客户端。支持 延迟队列(这是一个非常有用的功能)。基础概念**Broker:**简单来说就是消息队列服务器实体**Exchange:**消息交换机,它指定消息按什么规则,路由到哪个队列**Queue:**消息队列载体,每个消息都会被投入到一个或多个队...原创 2019-11-07 21:53:56 · 249 阅读 · 0 评论 -
一起来学SpingBoot(二十)消息队列ActiveMq
序言 ActiveMQ是Apache所提供的一个开源的消息系统,完全采用Java来实现,因此,它能很好地支持J2EE提出的JMS(Java Message Service,即Java消息服务)规范。JMS是一组Java应用程序接口,它提供消息的创建、发送、读取等一系列服务,虽然比较老,但是依然可以运用于中小项目的生产环境。JMSJMS支持两种消息发送和接收模型。P2P(Ponit to...原创 2019-11-07 21:53:25 · 236 阅读 · 0 评论 -
一起来学SpringBoot(十九)整合MongoDB
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。依赖依赖依赖 <dependency> <groupId>org.springframework.boot<...原创 2019-06-17 23:13:32 · 215 阅读 · 0 评论 -
一起来学SpringBoot(十八)轻松集成WebSocket
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。springboot提供了相关整合starter<!--websock...原创 2019-05-24 16:47:44 · 390 阅读 · 0 评论 -
一起来学SpringBoot(十七)优雅的参数校验
参数校验在开发中经常需要写一些字段校验的代码,比如字段非空,字段长度限制,邮箱格式验证等等,写这些与业务逻辑关系不大的代码个人感觉有两个麻烦:验证代码繁琐,重复劳动方法内代码显得冗长每次要看哪些参数验证是否完整,需要去翻阅验证逻辑代码使用hibernate-validatorspring-boot-starter-web包里面有hibernate-validator包,不需要引用h...原创 2019-05-17 14:35:55 · 5507 阅读 · 8 评论 -
一起来学SpringBoot(十六)优雅的整合Shiro
Apache Shiro是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理。借助Shiro易于理解的API,您可以快速轻松地保护任何应用程序 - 从最小的移动应用程序到最大的Web和企业应用程序。网上找到大部分文章都是以前SpringMVC下的整合方式,很多人都不知道shiro提供了官方的starter可以方便地跟SpringBoot整合。请看shiro官网关于sp...原创 2018-10-14 11:10:30 · 3994 阅读 · 4 评论 -
一起来学SpringBoot(十五)MybatisPlus的整合
MyBatis-Plus(简称 MP)是一个MyBatis的增强工具 ,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本篇文章介绍的是与springboot的整合。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mappe...原创 2018-10-07 18:05:26 · 19603 阅读 · 3 评论 -
一起来学SpringBoot(十四)Dubbo的整合
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。在2月15日,大年三十,经过一系列紧张的投票,来自阿里巴巴的广受社区欢迎的RPC开源框架Dubbo宣布正式进入Apache孵化器。说起Dubbo框架,可...原创 2018-10-07 18:05:17 · 448 阅读 · 0 评论 -
一起来学SpringBoot(十三)Druid数据源
Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。考虑到可能是数据库连接的问题,所以我打算引入其他的数据池,引入数据池的时候找来找去,比较了当前两个最火的数据池,druid和HikariCP,比来比去选了阿里的druid,虽然spring boot默认不支持druid,而是支持HikariCP,而且HikariCP的性能更好,但是阿里功能多,界面友好方便,性价比...原创 2018-10-07 18:05:02 · 492 阅读 · 1 评论 -
一起来学SpringBoot(十二)发送邮件
发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息。最早期的时候我们会使用JavaMail相关api来写发送邮件的相关代码,后来spring退出了JavaMailSender更加简化了邮件发送的过程,在之后springboot对此进行了封装就有了现在的spring-boot-starter-mail,本章文章的介绍主要来自于此包。首先呢肯定是要加入依赖 &amp;l...原创 2018-10-07 18:04:52 · 1805 阅读 · 1 评论 -
一起来学SpringBoot(十一)优雅的整合Quartz
Quartz是一个功能丰富的开源作业调度库,几乎可以集成在任何Java应用程序中 - 从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的计划,以执行数十,数百甚至数万个作业; 将任务定义为标准Java组件的作业,这些组件可以执行几乎任何可以编程的程序。Quartz Scheduler包含许多企业级功能,例如支持JTA事务和集群。springboot在2.x后加入了quar...原创 2018-10-07 18:04:44 · 973 阅读 · 1 评论 -
一起来学SpringBoot(十)缓存的使用
Spring Framework支持透明地向应用程序添加缓存。从本质上讲,抽象将缓存应用于方法,从而根据缓存中可用的信息减少执行次数。缓存逻辑应用透明,不会对调用者造成任何干扰。只要通过@EnableCaching 注释启用了缓存支持,Spring Boot就会自动配置缓存基础结构。下面我就介绍两个我比较常用的缓存。JSR-107为了统一缓存的开发规范,以及我们系统的扩展性。java发布了...原创 2018-10-07 18:04:34 · 4198 阅读 · 0 评论 -
一起来学SpringBoot(九)整合Redis
Nosql的全称是Not Only Sql,这个概念早起就有人提出,在09年的时候比较火。Nosql指的是非关系型数据库,而我们常用的都是关系型数据库。就像我们常用的mysql,sqlserver一样,这些数据库一般用来存储重要信息,应对普通的业务是没有问题的。但是,随着互联网的高速发展,传统的关系型数据库在应付超大规模,超大流量以及高并发的时候力不从心。而就在这个时候,Nosql得到的告诉的发展...原创 2018-10-06 09:12:08 · 447 阅读 · 0 评论 -
一起来学SpringBoot(八)事务的控制
所有的数据访问技术都有事务处理机制,这些技术提供了API用来开启事务、提交事务来完成数据操作,或者在发生错误的时候回滚数据。而Spring的事务机制是用统一的机制来处理不同数据访问技术的事务处理。Spring的事务机制提供了一个PlatformTransactionManager接口,不同的数据访问技术的事务使用不同的接口实现。SpringBoot提供了非常方便的事务操作,通过注解就可以实现事务的...原创 2018-10-06 09:12:01 · 9075 阅读 · 1 评论 -
一起来学SpringBoot(七)持久层框架
springboot具有非常棒的持久层框架支持,下面我将介绍我用过的三种持久层框架进行简述使用。由于这里操作的都是一张表,这里贴出通用的yml和建表语句 切记这里使用的是mysql8 ,5.8之前的朋友请修改后缀去掉com.mysql.cj.jdbc.Driver 中的cj。DROP TABLE IF EXISTS `Test`;CREATE TABLE `Test` ( `id`...原创 2018-10-06 09:11:52 · 5188 阅读 · 0 评论 -
一起来学SpringBoot(六)web开发与错误的处理
在互联网时代,我们所开发的应用大多是直面用户的,程序中的任何一点小疏忽都可能导致用户的流失,而程序出现异常往往又是不可避免的,那该如何减少程序异常对用户体验的影响呢?其实方法很简单,对异常进行捕获,然后给予相应的处理即可,springboot 提供了比较方便的错误处理方式。首先呢我们新建一个springboot项目,并且新建一个百分百会出错的controllerpackage com.mao...原创 2018-10-06 09:11:44 · 694 阅读 · 0 评论 -
一起来学SpringBoot(五)Servlet、Filter、Listenter
web开发使用Controller基本能解决大部分的需求,但是有时候我们也需要使用Servlet,因为相对于拦截和监听来说,有时候原生的还是比较好用的,现在就来简单的在SpringBoot中使用这些特殊类吧。当使用spring-Boot时,嵌入式Servlet容器通过扫描注解的方式注册Servlet、Filter和Servlet规范的所有监听器(如HttpSessionListener监听器)。S...原创 2018-10-06 09:11:32 · 762 阅读 · 0 评论 -
一起来学SpringBoot(四)web开发与模版引擎
SpringBoot 的web应用开发,是基于spring mvc的,在动态HTML实现上Spring Boot依然可以完美胜任,并且提供了多种模板引擎的默认配置支持,所以在推荐的模板引擎下,我们可以很快的上手开发动态网站。springboot在spring 的默认基础上,自动添加了以下特征:包含了ContentNegotiatingViewResolver 和BeanNameViewRe...原创 2018-10-06 09:11:24 · 459 阅读 · 0 评论 -
一起来学SpringBoot(三)日志的配置
在开发和运维中日志的处理可是少不了的,这里我们就来说明一下SpringBoot中的日志配置首先说明下SpringBoot支持的日志框架Java Util Logging、Log4J2、logback其中呢SpringBoot默认使用的是logback,配置方式有默认配置和引用外部文件配置两种。配置方式一、默认配置方式SpringBoot默认使用的是logback。如果你在Maven...原创 2018-10-06 09:11:16 · 608 阅读 · 0 评论 -
一起来学SpringBoot(二)properties和yml
上述中讲到了怎么创建SpringBoot项目,那么现在就来介绍下SpringBoot配置文件的两种格式yml和properties首先呢发上一份application.properties在放上一份相同配置的application.yml我们可以看到,相同的配置下yml显得更加简洁, 但是yml却拥有相当严格的格式,他的层级关系必须以相应的缩进表示可以使2空格可以使更多的空格只要层级...原创 2018-10-06 09:10:55 · 1157 阅读 · 0 评论 -
一起来学SpringBoot(一)项目的创建
title:tags:‘springboot’categories: ‘一起学Springboot’date: ‘2018-09-01’Spring官方说,Spring Boot使得创建独立的、生产级的基于Spring的应用程序变得很容易,您可以“直接运行”。我们对Spring平台和第三方库抱有自己的看法,这样您就可以以最小的麻烦开始。大多数Spring启动应用程序只需要很少的S...原创 2018-10-06 09:10:18 · 661 阅读 · 2 评论