Spring技术栈
本专栏主要更新Spring生态圈的一些技术,包括Spring Boot、Spring Cloud、Spring Data、Spring Security等。以及互联网开发的一些技术,包括怎么搭建一个高并发、高可用、高扩展的互联网架构。
老臣、
海到无边天作岸,山登绝顶我为峰!
展开
-
Apache Shiro(三)——Spring Boot 与 Shiro的 整合
在了解了Apache Shiro的架构、认证、授权之后,我们来看一下Shiro与Web的整合。下面以Spring Boot为例,介绍一下Spring Boot 与 Shiro的 整合。原创 2018-10-24 15:26:33 · 2522 阅读 · 0 评论 -
MyBatis(一)——初识MyBatis
MyBatis简介MyBatis是什么 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old JavaObjects,普通的Java对象)映射成数据库中的记录。MyBati...原创 2018-03-05 20:39:00 · 1057 阅读 · 0 评论 -
MyBatis(二)——全局配置文件
MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。文档的顶层结构如下: properties属性 mybatis可以使用properties来引入外部properties配置文件的内容; resource:引入类路径下的资源 url:引入网络路径或者磁盘路径下的资源 <...原创 2018-03-06 09:08:29 · 752 阅读 · 0 评论 -
MyBatis(三)——SQL映射文件
概述 映射文件指导着MyBatis如何进行数据库增删改查,有着非常重要的意义。这篇博客主要写了MyBatis中简单的增删改查操作,参数的传递方式,以及自定义resultMap,实现高级结果集映射。 cache –命名空间的二级缓存配置。 cache-ref – 其他命名空间缓存配置的引用。 resultMap – 自定义结果集映射。 parameterMap...原创 2018-03-08 10:02:03 · 1570 阅读 · 0 评论 -
MyBatis(四)——动态SQL
概述 MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这...原创 2018-03-10 19:37:40 · 4745 阅读 · 2 评论 -
MyBatis(五)——MyBatis中的缓存机制
一、概述 MyBatis 包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制。MyBatis中的缓存机制可以极大的提升查询效率。 MyBatis系统中默认定义了两级缓存。一级缓存和二级缓存。 1、默认情况下,只有一级缓存(SqlSession级别的缓存,也称为本地缓存)开启。 2、二级缓存需要手动开启和配置,他是基于namespace级别的缓存。 3、...原创 2018-03-13 18:49:11 · 1727 阅读 · 0 评论 -
MyBatis(六)——MyBatis的逆向工程
一、概述 MyBatis的逆向工程指利用MyBatis Generator,可以快速的根据表生成对应的映射文件,接口,以及bean类。 MyBatis Generator,简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等这些复杂sql的定义需...原创 2018-03-16 20:39:25 · 6861 阅读 · 0 评论 -
MyBatis(七)——使用PageHelper插件进行分页
一、概述 PageHelper是MyBatis中非常方便的第三方分页插件。 官方文档: https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md HowToUse: https://github.com/pagehelper/Mybatis-PageHelper/b...原创 2018-03-21 19:16:00 · 851 阅读 · 0 评论 -
Spring框架(一)——初识Spring
一、 Spring 是什么 1)Spring 是一个开源框架。 2)Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能。 3)Spring 是一个 IOC(DI) 和 AOP 容器框架。二、Spring容器的主要核心是什么 控制反转(IOC),传统的java开发模式中,当需要一个对象时,...原创 2018-02-11 19:57:57 · 1268 阅读 · 0 评论 -
Spring框架(二)—— IOC
一、 IOC &amp; DI 概述 IOC(Inversion of Control):其思想是反转资源获取的方向。 传统的资源查找方式要求组件向容器发起请求查找资源,作为回应, 容器适时的返回资源.。而应用了 IOC 之后,则是容器主动地将资源推送给它所管理的组件,组件所要做的仅是选择一种合适的方式来接受资源。这种行为也被称为查找的被动形式。 DI(Dependency I...原创 2018-02-14 22:16:01 · 988 阅读 · 0 评论 -
Spring框架(三)——AOP
一、AOP简介 AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次...原创 2018-02-21 11:08:59 · 1417 阅读 · 0 评论 -
Spring框架(四)——Spring中的事务管理
一、事务简介什么是事务? 事务就是一系列的动作,它们被当做一个单独的工作单元。这些动作要么全部完成,要么全部不起作用。事务的四个关键属性(ACID) 原子性(atomicity): 事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成要么完全不起作用。 一致性(consistency): 一旦所有事务动作完成, 事务就被提交。数据和资源就处于一种满足...原创 2018-02-23 21:16:28 · 1390 阅读 · 0 评论 -
Spring MVC(一)——Spring MVC初入门
从一个Hello World入门Spring MVC Spring MVC是Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一。Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。 Spring MVC采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。同时,Spr...原创 2018-02-26 20:29:17 · 1106 阅读 · 0 评论 -
Spring+Spring MVC+MyBatis的整合
一、概述 在WEB开发中我们往往会借助框架来简化自己的开发过程,本文介绍了SSM框架的整合,从而搭建一个简单的Web框架。 环境参数: 操作系统:windows10 64位 jdk版本:jdk1.8 64位 Maven版本:3.50 MySql版本:mysql-server 5.7 Tomcat版本:apache-tomcat-7. ...原创 2018-03-15 14:52:56 · 2058 阅读 · 0 评论 -
Spring Boot(一)——Spring Boot入门
一、Spring Boot简介二、从一个HelloWorld入门Spring Boot1、创建一个maven工程2、导入Spring Boot相关的依赖 &amp;amp;lt;parent&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.springframework.boot&amp;amp;lt;/grou原创 2018-10-01 22:01:42 · 970 阅读 · 0 评论 -
Spring Boot(二)——Spring Boot日志
一、日志框架在Java中,输出日志需要使用一个或者多个日志框架,这些框架提供了必要的对象、方法和配置来传输消息。Java在java.util.logging包中提供了一个默认的框架。除此之外,还有很多其它第三方框架,包括Log4j、Logback以及tinylog。还有其它一些开发包,例如SLF4J和Apache Commons Logging,它们提供了一些抽象层,对你的代码和日志框架进行解耦...原创 2018-10-03 22:53:41 · 788 阅读 · 0 评论 -
Spring Boot(三)——Spring Boot数据访问
一、简介对于数据访问层,无论是SQL还是NOSQL,Spring Boot默认采用整合Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置。引入各种xxxTemplate,xxxRepository来简化我们对数据访问层的操作。对我们来说只需要进行简单的设置即可。下面来说一下在Spring Boot中如何使用MyBaits与JPA进行数据访问。二、配置自定义数据源sp...原创 2018-10-05 20:52:35 · 1892 阅读 · 0 评论 -
Spring Boot(四)——Spring Data JPA
一、Spring Data简介Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问技术,包括非关系数据库、 Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。Spring Data 包含多个子项目:Spring Data CommonsSpring Data JPASpring Data KeyValueSpring Da...原创 2018-10-06 09:40:09 · 681 阅读 · 0 评论 -
Spring Boot(五)——Spring Boot缓存
一、缓存简介我们知道一个系统的瓶颈通常在与数据库交互的过程中。内存的速度远远快于硬盘速度。所以,当我们需要重复地获取相同的数据的时候,我们一次又一次的请求数据库或者远程服务,这无疑是性能上的浪费——会导致大量的时间耗费在数据库查询或者远程方法调用上(这些资源简直太奢侈了),导致程序性能的恶化——于是有了“缓存”。缓存(Cache)就是数据交换的缓冲区。随着时间的积累,应用的使用用户不断增加,数...原创 2018-10-06 20:01:16 · 986 阅读 · 0 评论