spring-boot
Kevin.Y.K
居高声自远,非是藉秋风
展开
-
spring-boot学习:二十、spring-boot集成RabbitMQ
由于JMS存在跨语言跨平台的缺陷,所以出现了AMQP(Advanced Message Queuing Protocol),一个提供统一消息服务的应用层标准高级消息队列协议,代表RabbitMQ一、下载安装RabbitMQ安装从https://www.rabbitmq.com/download.html下载RabbitMQ由于RabbitMQ是用Erlang语言编写的,安装RabbitMQ需要先安装Erlang运行平台http://www.erlang.org/downloads配置环境变量原创 2020-08-13 16:12:30 · 629 阅读 · 0 评论 -
spring-boot学习:十九、spring-boot集成activemq
一、安装activemq(windows)下载后解压到指定目录http://activemq.apache.org/components/classic/download/配置文件D:\software\apache-activemq-5.15.9\conf1)jetty.xml配置控制台地址和端口:<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">原创 2020-08-13 15:25:35 · 891 阅读 · 0 评论 -
spring-boot学习:十八、spring-boot集成swagger
swagger通过spring注解自动生成接口文档,可通过swagger-ui展示pom.xml<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><dependency> <原创 2020-08-13 11:41:48 · 908 阅读 · 0 评论 -
spring-boot学习:十七、spring-boot集成redis
在springboot1.x中默认使用Jedis,而在springboot2.x中默认使用lettuce。为什么使用lettuce替换jedis呢?Jedis在实现上是直连的redis server,在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个Jedis实例增加物理连接;Lettuce的连接是基于Netty的,连接实例(StatefulRedisConnection)可以在多个线程间并发访问,因为StatefulRedisConnection是线程安全的,所以一个连接实例就可以满足多线原创 2020-08-11 10:07:06 · 1408 阅读 · 0 评论 -
spring-boot学习:十六、spring-boot获取ApplicationContext上下文
很多时候我们希望直接获取spring容器中管理的bean,则可以通过上下文ApplicationContext来获取,哪如何获取ApplicationContext呢?以下几种方式,根据需要选用:1.实现接口ServletContextListener,并实现接口需要实现的方法,使用@WebListener与@ServletComponentScan进行注册public void contextInitialized(ServletContextEvent sce) { ApplicationCon原创 2020-08-11 09:08:21 · 931 阅读 · 0 评论 -
spring-boot学习:十五、spring-boot集成thymeleaf
springboot2.x和spring5.x不再支持velocity,推荐使用thymeleaf,原因是velocity更新太慢或太少,社区不够活跃。实现步骤:1.引入jar包<dependency><!--Web相关依赖--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>&l原创 2020-08-10 17:37:24 · 678 阅读 · 0 评论 -
spring-boot学习:十四、spring-boot统一分页处理
分页处理在项目开发中是不可避免的步骤,本文主要是介绍基于Mybatis的分页。Mybatis提供了一个很重要的接口类Interceptor,可以通过实现这个拦截器来完成自定义操作;以下仅提供实现分页的大致步骤:@Component@Intercepts({ @Signature(type = Executor.class, method = "query", args = { MappedStatement.class, Object.class, RowBounds.class, Result原创 2020-08-07 18:19:52 · 1181 阅读 · 0 评论 -
spring-boot学习:十三、spring-boot统一异常处理
上文讲了如何对返回的数据格式进行统一处理,本文主要是进一步对异常情况的补充。在后台接口处理的过程中会产生各种各样的异常,比如参数校验异常、系统内部异常、业务逻辑异常等,这些异常产生在各个环节,不能随意抛给调用方,格式不一致会导致调用方无法处理。实现思路:1)对后台接口(Controller)中的异常进行处理,使用@ControllerAdvice+@ExceptionHandler的方式进行处理;2)对于Filter等类产生的异常,上面的方式是无法处理到的,在spring boot中默认将异常统一转原创 2020-08-07 15:31:58 · 677 阅读 · 0 评论 -
spring-boot学习:十二、spring-boot统一返回数据格式
后台服务最终的功能之一就是提供服务接口供其他方调用,减少不必要的混乱,那么定义统一的返回数据格式就显得尤为重要。实现思路:利用spring暴露的方法返回值处理接口类HandlerMethodReturnValueHandler,实现该接口类,定义标记有注解@ResponseBody的方法才需要处理,对方法返回的结果进行统一封装;由于@ResponseBody的粒度比较大,有些可能不需要处理的接口也会被包含进去,所以自定义了注解@ApiResult,只有加了@ApiResult注解的类/方法才会真正被处原创 2020-08-07 14:57:45 · 828 阅读 · 0 评论 -
spring-boot学习:十一、spring-boot集成事务
spring-boot事务也就是使用spring事务,业务执行过程中出现异常事务能够自动回滚,避免数据库出现脏数据。原创 2019-09-30 10:50:43 · 2091 阅读 · 0 评论 -
spring-boot学习:十、spring-boot集成mybatis
在java代码中写sql,而且还要对结果集手动进行处理,如果是简单的sql还好,复杂一点想想都头皮发麻。为了便于解耦,让代码更整洁、层次更清晰,后期维护更好实施,我们引入mybatis。原创 2019-09-18 18:09:59 · 2143 阅读 · 0 评论 -
spring-boot学习:九、数据库连接之集成alibaba druid
虽然spring-boot2中默认使用HikariCP作为默认连接池,而且该作者也宣传HikariCP是最快牛逼的连接池,但是,但是,但是我们还是不用。因为我们有更好的选择,阿里的druid,自带监控、中文文档、社区活跃,阿里自己都用,我们有理由不用么。原创 2019-09-12 16:50:03 · 2534 阅读 · 0 评论 -
spring-boot学习:八、数据库连接之自定义配置
尽管spring boot为我们封装了大量的配置,开箱即用;但是每个项目背景不一样,最归会有一些个性化的需求,比如连接多个数据库,数据库配置需要独立开。以下介绍如何自定义数据库配置。原创 2019-09-12 15:03:11 · 3296 阅读 · 0 评论 -
spring-boot学习:七、数据库连接之默认配置
数据库连接是做项目的基本要素之一,本文以springboot的默认连接池HikariCP为例,介绍如何使用springboot来访问数据库。原创 2019-09-10 17:13:56 · 4405 阅读 · 0 评论 -
spring-boot学习:六、配置多环境和打包
由于开发、测试和生产环境配置都不一样,如果手动替换application.properties文件容易出错,希望各环境的配置文件独立开,环境与配置文件自动匹配,就需要用到maven的profiles了。原创 2019-08-20 12:19:24 · 1261 阅读 · 0 评论 -
spring-boot学习:五、自定义配置
尽管spring boot通过默认或推荐配置使开发人员更加便捷,但有时候依然需要进行一些自定义的配置,比如端口、编码等,而spring boot也是开放和支持的。原创 2019-08-02 18:13:08 · 2506 阅读 · 0 评论 -
spring-boot学习:四、spring-boot构建war包部署
现在的项目(特别是互联网项目)很多都是前后端分离,后台专注提供API服务,这种情况下jar包发布是首选,特别是结合jenkins和docker实现自动化部署更加便捷。但是依然还有很大一部分小项目或内部项目,因为规模、成本和运维人员不足,依然是保持传统的web架构,前端和后台耦合在一起作为一个工程发布,而且这些小项目经常需求变动,特别是页面调整,在jar包部署的情况下,每次一个小的调整都需要重新打...原创 2019-08-02 12:06:52 · 2800 阅读 · 0 评论 -
spring-boot学习:三、spring-boot构建jar包部署
前面讲过spring-boot内置了应用服务器(如:tomcat),spring-boot项目的运行不在需要搭建外部tomcat环境,那么我们就可以将程序build成jar包直接运行,本文简单介绍如何build jar包。原创 2019-08-01 17:17:34 · 2330 阅读 · 0 评论 -
spring-boot学习:二、创建一个restful web service
刚开始学习,不知道如何入手,可以根据官方提供的demo进行学习。如:https://spring.io/guides/gs/rest-service/ ,可下载源码查看,有一个大致的了解。环境准备:JDK1.8及以上、Maven3.2+对于编辑器,推荐使用IntelliJ IDEA,创建工程时有引导,可选择需要的spring组件,包括spring web、spring cloud xxx...原创 2019-08-01 16:48:15 · 3023 阅读 · 0 评论 -
spring-boot学习:一、spring-boot是什么?
spring-boot已经成为Java开发必选框架,本文简单介绍了spring-boot的由来、策略和特性,以此来说明spring-boot是一个什么样的框架。原创 2019-07-25 16:14:42 · 3014 阅读 · 0 评论