随笔分类 - 4-Spring boot
摘要:0-前言 集成swagger,有两种方式: 一种在前面已经介绍过了,直接集成官方的springfox-swagger2的方式,这种方式需要在配置类中配置 第二种方式是这里要介绍的方式,国人写的com.spring4all的方式,这种方式其实是对第一种方式的进一步封装, 只是把配置从配置类中配置提取到
阅读全文
摘要:0-前言 在有些系统中,比如网站,往往需要支持多国语言,英文版中文版什么的,这个其实也不难; 今天我们就来介绍spring boot中用i18n在后端支持多语言; 当然,也可以直接在前端用i18n直接支持多语言,这个我们以后在前端系列中再介绍; 1-实现 简单6步,轻松实现: 1-1、增加多语言文件
阅读全文
摘要:0-前言 项目中,文件服务必不可少,常用的有各云服务商的OSS服务(如阿里云OSS,腾讯云OSS,七牛云)、自建(fastDFS、minio); 推荐:如果用云服务的话,阿里云OSS很方便,如果自建的话,minio无疑是首选; 这里我们来简单介绍阿里云OSS的使用,minio我们后面介绍; 1-实现
阅读全文
摘要:0-前言 mybatis plus是对mybatis的增强,集成mybatis plus后,简单的CRUD和分页就不用写了,非常方便,五星推荐; 1-集成 1-1、添加依赖 <!-- 9、集成mybatis-plus --> <dependency> <groupId>com.baomidou</g
阅读全文
摘要:0、前言 用mybatis,那么分页必不可少,基本都是用PageHelper这个分页插件,好用方便; 1、实现 1.1、添加依赖: <!-- 3、集成 mybatis pagehelper--> <dependency> <groupId>com.github.pagehelper</groupId
阅读全文
摘要:0、前言 1、什么是AOP AOP(面向切面编程),是一种横切技术,是对OOP的补充和完善; 使用AOP的横切,可以对系统进行无侵入性的日志监听、事务、权限管理等; 思想上跟拦截器其实类似;拦截器是对action进行拦截处理,AOP是对切面进行拦截处理,其实切面也属于一种action集合; AOP可
阅读全文
摘要:0、前言 过滤器、监听器、拦截器在实际开发中经常需要用到,下面我们来介绍一下spring boot中如何使用; 一、 过滤器 1、作用: 过滤器是客户端与服务器资源文件之间的一道过滤网,可以帮助我们过滤一些不符合要求的请求、可以对服务器的资源请求(如图片、文件等)进行拦截以实现一些特殊功能以及给予特
阅读全文
摘要:0、前言 日志记录对系统来说必不可少,spring boot中常用的日志组件有log4j、logback、log4j2,其中logback是spring boot默认的,已自带;选用log4j2就可以,其他的不必去关注; 一、集成log4j2日志组件 1、pom依赖中去除默认的logback日志框架
阅读全文
摘要:0、前言 开发系统中,前后端分离,后端一般返回RESTfull API,前端调用API构建UI,彼此分离、互相完全独立; 后台API中,我们一般返回结果码、提示信息、数据三部分内容,如图: 我们今天就来构建一个完整的前后端分离后端的API 一、RESTfull API构建 1、增加结果码接口 IEr
阅读全文
摘要:0、前言 任何系统,我们不会傻傻的在每一个地方进行异常捕获和处理,整个系统一般我们会在一个的地方统一进行异常处理,spring boot全局异常处理很简单; 介绍前先说点题外话,我们现在开发系统,都是前后端完全分离的,后端只提供RESTfull API,禁止涉及任何界面,什么thymeleaf、JS
阅读全文
摘要:0、前言 MongoDB是一个高性能、开源的文档型数据库,是当前nosql数据库中最热门的一种,在企业中广泛应用;虽然前段时间更改了开源协议导致被很多企业舍弃,但主要是对云服务商影响较大,对我们来说其实没什么影响;下面介绍简单集成,高级用法以后详聊 一、启动MongoDB 1、在官网下载Window
阅读全文
摘要:0、前言 在项目中,缓存作为一种高效的提升性能的手段,几乎必不可少,Redis作为其中的佼佼者被广泛应用; 一、spring boot集成Redis 1、添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId
阅读全文
摘要:0、前言 fastjson是阿里出的,尽管近年fasjson爆出过几次严重漏洞,但是平心而论,fastjson的性能的确很有优势,尤其是大数据量时的性能优势,所以fastjson依然是我们的首选;spring boot默认的json解析器是Jackson,替换为fastjson很有必要; 1、替换方
阅读全文
摘要:0、前言 在开发中,我们经常需要以不同端口启动同一个项目的多个实例,IDEA中启动多个实例很简单 1、方法 1.1、在项目中,选择编辑配置,然后点选允许并行运行,如下图: 1.2、调出RunDashboard面板方便我们查看,调出方法: 在项目的.idea文件夹下找到workspace.xml文件,
阅读全文
摘要:0-前言 事务管理对于企业级应用来说必不可少,用来确保数据的完整性和一致性; 1-开启事务 spring boot支持编程式事务和声明式事务,用声明式事务即可; spring boot开启事务非常简单,只需要在类或者方法上添加 @Transactional 即可(添加到类上,类中所有public方法
阅读全文
摘要:0--前言 @Mapper和@Repository是常用的两个注解,两者都是用在dao上,两者功能差不多,容易混淆,有必要清楚其细微区别; 1--区别 @Repository需要在Spring中配置扫描地址,然后生成Dao层的Bean才能被注入到Service层中:如下,在启动类中配置扫描地址: @
阅读全文
摘要:0-前言 前后端分离、分布式集群,经常都会涉及到跨域访问,而浏览器基于同源策略,正常情况下是不能跨域的,这就需要我们解决跨域访问问题;spring boot解决跨域也比较简单; 1-CORS跨域解决方案 spring boot CORS解决跨域比较简单,只需要增加一个CORS的配置类即可;在conf
阅读全文
摘要:0-前言 Druid阿里巴巴开源的一个java数据库连接池,是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能;集成它能够方便我们对数据库连接进行监控和分析,下面我们来集成它; 1-集成druid 集成druid很方便,继续几步即可; 1-1、添加依赖: 1-2、添加配置 1
阅读全文
摘要:0、前言 mybatis属于半自动的ORM,相比hibernate这种全自动的ORM,兼顾了性能与易用;目前企业项目中,基本都是mybatis的天下;今天就来整合mybatis与MySQL; 1、整合 1.-1、添加依赖: 1-2、创建数据表: 1-3、增加实体类User.java 1-4、增加Ma
阅读全文
摘要:0-、前言 在用mybatis开发项目中,数据库动辄上百张数据表,如果你一个一个去手动编写,比较耗费时间;还好,我们有mybatis-generator插件,只需简单几步就能自动生成mybatis的model、mapper和Dao文件,很方便; 题外话:注意,mybatis-generator的项目
阅读全文