Spring Boot
william_cr7
你只有十分努力,才能配得上你的梦想!
展开
-
SpringBoot核心类之SpringApplication类分析
1.SpringApplication初始化1.1 SpringApplication静态方法run方法我们找一个SpringBoot应用,然后打开应用启动主类,我们知道主应用的启动会调用SpringApplication的静态方法#run方法。run方法的执行会伴随调用SpringApplication的构造器。我点进去瞧一瞧:@SpringBootApplication(exclude=...原创 2019-12-15 14:13:08 · 737 阅读 · 1 评论 -
SpringBoot自动装配原理分析之中篇
1. @SpringBootApplication1.1 从@SpringBootApplication注解开始@SpringBootApplication是一个组合注解,我们先看看源码怎么写的。@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootC...原创 2019-11-16 17:23:48 · 725 阅读 · 0 评论 -
SpringBoot自动装配原理分析之上篇
1、@EnableXXX注解驱动原理从Spring 3.x开始中有许多@EnableXXX的注解,例如@EnableWebMvc,@EnableAsync,@EnableCaching等待注解,这些注解的意义在于根据需要完成自动装配所需的bean。自动装配好比汽车的自动挡一样,它的实现大致分为两种方式,一种是通过自定义注解,另一种是实现相应的接口。1.1 基于接口实现一种是通过实现Im...原创 2019-09-16 22:48:26 · 1077 阅读 · 0 评论 -
手写一个简单通用的excel导出工具类
企业项目中导出功能很常见,不同的项目不同的开发者能写出不同的实现,今天想把这个功能写成一个通用的工具类。代码实现1.创建ExcelUtil工具类public class ExcelUtil<T> { private Workbook workbook = null; //导出excel版本 private Version version;...原创 2019-07-29 20:14:16 · 618 阅读 · 0 评论 -
SpringBoot多数据配置实现
SpringBoot多数据配置实现1. 应用场景在实际项目开发中依赖的数据库可能不知一个,可能有Mysql的也可能有Oracle等。这时候需要我没项目配置多个数据库,实现访问不同数据来源。下面就来说说如何实现使用多种数据库连接。2.实现方式话不多说,可以想到的有以下几种:(1)动态的切换数据库访问(2)指定包路径访问不同的数据库3.实现动态切换数据库通过在appli...原创 2019-03-07 21:49:37 · 375 阅读 · 1 评论 -
SpringBoot整合ElasticSearch搜索引擎之一
1、ElasticSearchElasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。2、添加依赖<dependency> <groupId>org.springframework.boot</groupId> <...原创 2018-06-30 12:23:22 · 1689 阅读 · 0 评论 -
Spring Boot 文件上传与下载
一、上传文件 @RequestMapping(value="/upfile", method = RequestMethod.POST) public ResultVo uploadFile(@RequestParam MultipartFile file,HttpServletRequest request) throws Exception{ if(file==null) retu...原创 2018-05-31 08:28:14 · 498 阅读 · 1 评论 -
Spring Boot 导入excle文件数据
一、应用场景 系统中经常有导入功能,如果导入数据量比较大,那么应该是先上传文件,然后后台异步的进行导入数据。二、代码 @RequestMapping(value="/upfile", method = RequestMethod.POST) public ResultVo uploadFile(@RequestParam MultipartFile file,HttpServletRequ...原创 2018-05-31 08:22:21 · 6607 阅读 · 4 评论 -
Spring Boot配置多数据源动态切换数据源
一、应用场景 我们再开发中经常遇到应用不同数据库的数据,比如一部分需要使用Mysql下的数据库,一部分需要使用Sql Server的数据库,主从库分离等等。这是需要我们配置多数据源来满足开发需要。...原创 2018-05-26 23:42:10 · 903 阅读 · 0 评论 -
SpringBoot整合安全权限框架Shiro
一、什么是ShiroApache Shiro 是 Java 的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。Shiro 包含 10 个内容:1) Authentication:身份认证/登录,验证用户是不是拥有相应的身份。2) Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是...原创 2018-05-13 23:07:56 · 1073 阅读 · 5 评论 -
Spring Boot整合Swagger优雅的生成Restful风格的API
一、自动生成API工具1、Swagger:是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。支持多种语言,如:Scala、Java、Ruby、PHP、JavaScript等;2、i /o docs:一种Restful风格的交互式文档系统;3、Dexy:一款非常灵活的文档工具;4、自己...原创 2018-05-13 22:40:36 · 413 阅读 · 0 评论 -
Spring Boot学习之整合JPA实现CRUD
1、什么是JPA?JPA全称Java Persistence API,是一组用于将数据存入数据库的类和方法的集合。JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。2、JPA与Hibernate之间的关系JPA是一种规范,旨在规范、简化Java对象的持久化工作。JPA是开源API,各企业经营商Oracle, Redhat,原创 2018-01-07 21:28:36 · 421 阅读 · 0 评论 -
Spring Boot学习之整合Redis实现缓存
1、什么是缓存?在互联网场景下,尤其 2C 端大流量场景下,需要将一些经常展现和不会频繁变更的数据,存放在存取速率更快的地方。缓存就是一个存储器,在技术选型中,常用 Redis 作为缓存数据库。缓存主要是在获取资源方便性能优化的关键方面。Redis 是一个高性能的 key-value 数据库。缓存的应用场景有哪些呢?比如常见的电商场景,根据商品 ID 获取商品信息时,店原创 2018-01-01 23:06:44 · 361 阅读 · 0 评论 -
Spring Boot学习之旅创建第一个工程
1、产生背景Sring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。多年以来,Spring饱受非议的一点就是大量的XML配置以及复杂的依赖管理。该框架使用了特定的方式来进行配置,实现免XML配置的开发体验。通过这种方式,Spring Boot蓬勃发展成为微服务架构的宠儿。2、安装STS插件官网地址:Spring插件官网下载原创 2017-12-17 23:14:03 · 306 阅读 · 0 评论