- 博客(61)
- 收藏
- 关注
原创 Docker-Compose 的安装
Docker-Compose 安装在 Linux 上的安装十分简单,从 官方 GitHub Release 处直接下载编译好的二进制文件即可。或者在Linux上粘贴如下命令并回车:curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` >...
2019-07-27 10:17:10
249
转载 用 Spring 注解管理事务
用 Spring 注解管理事务概述通过 @Transactional 注解方式,也可将事务织入到相应方法中。而使用注解方式,只需在配置文件中加入一个 tx 标签,以告诉 Spring 使用注解来完成事务的织入。该标签只需指定一个属性,事务管理器。<!-- 开启事务注解驱动 --><tx:annotation-driven transaction-manager="tran...
2019-07-23 09:21:45
221
转载 使用 AspectJ 的 AOP 配置管理事务
使用 AspectJ 的 AOP 配置管理事务概述注:本案例仅作模板复习参考,数据库不一样业务逻辑代码会有不同,本案例默认非新手!AspectJ 主要是使用 XML 配置顾问方式自动为每个符合切入点表达式的类生成事务代理。创建测试操作步骤如下:创建测试项目创建一个名为 aspectj-aop 项目,pom.xml 文件如下:<?xml version="1.0" encoding...
2019-07-22 23:04:03
643
转载 Spring 事务管理简介
Spring 事务管理简介概述事务原本是数据库中的概念,用于数据访问层。但一般情况下,需要将事务提升到业务层,即 Service 层。这样做是为了能够使用事务的特性来管理具体的业务。在 Spring 中通常可以通过以下三种方式来实现对事务的管理:使用 Spring 的事务代理工厂管理事务(已过时)使用 Spring 的事务注解管理事务使用 AspectJ 的 AOP 配置管理事务...
2019-07-22 22:50:56
158
转载 MyBatis 动态 SQL
MyBatis 动态 SQL动态 SQL,主要用于解决查询条件不确定的情况:在程序运行期间,根据用户提交的查询条件进行查询。提交的查询条件不同,执行的 SQL 语句不同。若将每种可能的情况均逐一列出,对所有条件进行排列组合,将会出现大量的 SQL 语句。此时,可使用动态 SQL 来解决这样的问题。动态 SQL,即通过 MyBatis 提供的各种标签对条件作出判断以实现动态拼接 SQL 语句。...
2019-07-22 22:38:17
133
转载 MyBatis 单表 CRUD 操作
MyBatis 单表 CRUD 操作概述本章主要内容是带领大家学习 MyBatis 的单表 CRUD 的相关操作方法INSERT继续以 tb_user 表为例,修改映射文件,增加如下配置:<insert id="insert"> INSERT INTO tb_user ( id, username, password, ...
2019-07-22 22:28:13
216
转载 第一个 MyBatis 对象关系映射
第一个 MyBatis 对象关系映射POM编写完相关代码后,我们可以使用单元测试查看 MyBatis 的执行效果,需要增加单元测试相关依赖,配置如下:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId...
2019-07-22 22:25:01
118
转载 Spring 整合 MyBatis
Spring 整合 MyBatisPOM在 pom.xml 文件中增加 MyBatis 相关依赖:<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</vers...
2019-07-22 22:18:09
130
转载 Spring 整合 Druid
Spring 整合 DruidPOM在 pom.xml 文件中新增 com.alibaba:druid 和 mysql:mysql-connector-java 依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> ...
2019-07-22 22:14:29
148
转载 MyBatis 简介
MyBatis 简介概述MyBatis 是一个优秀的基于 Java 的持久层框架,它内部封装了 JDBC,使开发者只需关注 SQL 语句本身,而不用再花费精力去处理诸如注册驱动、创建 Connection、配置 Statement 等繁杂过程。Mybatis 通过 xml 或注解的方式将要执行的各种 Statement(Statement、PreparedStatement 等)配置起来,并...
2019-07-22 22:06:38
210
原创 安装 Docker
安装 Docker平台支持Docker CE 支持多种平台,如下表所示桌面平台架构Docker Desktop for Mac (macOS)X64Docker Desktop for Windows (Microsoft Windows 10)X64服务器平台x86_64 / amd64ARMARM64 / AARCH64IBM Po...
2019-07-22 22:03:18
164
原创 Linux 修改虚拟机 IP 地址
图中 192.168.141.110 为新的地址!后面修改主机名为扩展部分!配置 IP编辑 vi /etc/netplan/50-cloud-init.yaml 配置文件,修改内容如下network: ethernets: ens33: addresses: [192.168.141.110/24] gateway4: 19...
2019-07-22 17:36:19
498
转载 Spring MVC @ResponseBody
Spring MVC @ResponseBody简介@ResponseBody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,一般在异步获取数据时使用,通常是在使用 @RequestMapping 后,返回值通常解析为跳转路径,加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入HTTP 响应正文中。作用该注解用于将 Con...
2019-07-22 17:04:20
435
转载 Spring MVC @ModelAttribute
Spring MVC @ModelAttribute简介@ModelAttribute 具有如下三个作用:绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用暴露 @RequestMapping 方法返回值为模型数据:放在功能处理方法的返回值上时,是暴露功能处理方法的返回值为模型数据,用于视...
2019-07-22 17:01:47
174
转载 Spring MVC 表单标签库
Spring MVC 表单标签库声明表单标签库在使用 SpringMVC 的时候我们可以使用 Spring 封装的一系列表单标签,这些标签都可以访问到 ModelMap 中的内容。我们需要先在 JSP 中声明使用的标签,具体做法是在 JSP 文件的顶部加入以下指令:<%@ taglib prefix="form" uri="http://www.springframework.org/...
2019-07-22 16:51:08
262
转载 Maven 模块化开发
Maven 模块化开发概述在多人协同开发时,特别是规模较大的项目,为了方便日后的代码维护和管理,我们会将每个开发人员的工作细分到具体的功能和模块上。随着项目的不断扩大,模块也会越来越多,后续会更加难以维护和扩展,为了应对这种情况后期我们还会采用微服务架构的方式进行开发。以当前教程为例,我们可以将模块划分为如下形式:统一的依赖管理(dependencies)通用的工具类(commons)...
2019-07-22 16:42:28
228
转载 Spring MVC 拦截器的使用
Spring MVC 拦截器的使用拦截器简介Spring Web MVC 的处理器拦截器,类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。常见应用场景日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算 PV(Page View)等权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接返回到登录页面性能监控:有时候系统...
2019-07-22 16:35:50
146
转载 第一个 Controller 控制器
第一个 Controller 控制器概述package com.funtl.my.shop.web.controller;import com.funtl.my.shop.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework...
2019-07-22 16:29:45
168
转载 Spring 整合 Spring MVC
Spring 整合 Spring MVCPOM在 pom.xml 配置文件中增加 org.springframework:spring-webmvc 依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifa...
2019-07-22 16:17:20
96
转载 Spring MVC 简介
Spring MVC 简介概述Spring MVC 也叫 Spring Web MVC ,属于展示层框架。SpringMVC 是 Spring 框架的一部分。Spring Web MVC 框架提供了 MVC (模型 - 视图 - 控制器) 架构和用于开发灵活和松散耦合的 Web 应用程序的组件。 MVC 模式导致应用程序的不同方面(输入逻辑,业务逻辑和 UI 逻辑)分离,同时提供这些元素之间...
2019-07-22 16:10:34
151
转载 浏览器端存储技术简介
浏览器端存储技术简介CookieCookie 是指存储在用户本地终端上的数据,同时它是与具体的 Web 页面或者站点相关的。Cookie 数据会自动在 Web 浏览器和 Web 服务器之间传输,也就是说 HTTP 请求发送时,会把保存在该请求域名下的所有 Cookie 值发送给 Web 服务器,因此服务器端脚本是可以读、写存储在客户端的 Cookie 的操作。LocalStorage在 H...
2019-07-22 16:04:53
125
转载 Bean 的装配方式
Bean 的装配方式概述截止目前为止,咱们 Bean 的装配方式是通过代码 getBean() 的方式从容器获取指定的 Bean 实例,容器首先会调用 Bean 类的无参构造器,创建空值的实例对象。除了使用 getBean() 的装配方式外,还可以使用注解的装配方式。容器中 Bean 的作用域在学习 Bean 的装配方式之前,我们先了解一下 Bean 的作用域。当通过 Spring 容器创...
2019-07-20 14:13:52
153
转载 ApplicationContextAware
ApplicationContextAware当一个类实现了这个接口(ApplicationContextAware)之后,这个类就可以方便获得 ApplicationContext 中的所有 bean。换句话说,就是这个类可以直接获取 Spring 配置文件中,所有有引用到的 Bean 对象。package com.funtl.leeshop.commons.context;import...
2019-07-20 14:02:56
221
转载 Spring 整合 Web
Spring 整合 Web容器初始化启动容器时需要自动装载 ApplicationContext,Spring 提供的 ContextLoaderListener 就是为了自动装配 ApplicationContext 的配置信息POM需要在 pom.xml增加 org.springframework:spring-web 依赖<dependency> <gro...
2019-07-20 09:47:19
132
转载 第一个 Spring 应用程序
第一个 Spring 应用程序POM创建一个工程名为 hello-spring 的项目,pom.xml 文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200...
2019-07-20 09:43:21
247
转载 Spring 与 IoC
Spring 与 IoC概述控制反转(IoC,Inversion of Control),是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移,从程序代码本身反转到了外部容器。IoC 是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式有两种: 依赖注入和依赖查找。依赖注入方式应用更为广泛。...
2019-07-20 09:35:06
86
转载 Spring 的特点
Spring 的特点非侵入式所谓非侵入式是指,Spring 框架的 API 不会在业务逻辑上出现,即业务逻辑是 POJO。由于业务逻辑中没有 Spring 的 API,所以业务逻辑可以从 Spring 框架快速的移植到其他框架, 即与环境无关。容器Spring 作为一个容器,可以管理对象的生命周期、对象与对象之间的依赖关系。可以通过配置文件,来定义对象,以及设置与其他对象的依赖关系。Io...
2019-07-20 09:32:40
130
转载 Spring 体系结构
Spring 体系结构概述Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspects)、应用服务器设备管理(Instrumentation)、消息发送(Messaging)、核心容器(Core Container)和测试(Test)。...
2019-07-20 09:31:29
156
转载 Spring 简介
Spring 简介概述Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级业务逻辑 两类。它们各自具有鲜明的特点:主业务代码间逻辑联系紧密,有具体的专业业务应用场景,复用性相对较低;系统级业务相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供系统级服务,如日志、安全、事务等,复用性强。Spring 根据...
2019-07-20 09:29:49
215
转载 MVC模式
概述MVC,即 Model 模型、View 视图,及 Controller 控制器。View:视图,为用户提供使用界面,与用户直接进行交互。Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载 Bean,一类称为业务处理 Bean。所谓数据承载 Bean 是指实体类,专门用户承载业务数据的,如 Student、User 等。而业务处理 Bean 则是指 ...
2019-07-20 09:26:15
130
转载 系统架构、三层架构的含义
什么是系统架构所谓系统架构是指,整合应用系统程序大的结构。经常提到的系统结构有两种:三层架构与 MVC。这两种结构既有区别,又有联系。但这两种结构的使用,均是为了降低系统模块间的耦合度。什么是三层架构三层架构是指:视图层 View、服务层 Service,与持久层 DAO。它们分别完成不同的功能。View 层:用于接收用户提交请求的代码Service 层:系统的业务逻辑主要在这里完成D...
2019-07-20 09:23:47
1915
原创 了解前后分离的演变史
了解前后分离的演变史为什么需要前后分离后端为主的 MVC 时代为了降低开发的复杂度,以后端为出发点,比如:Struts、SpringMVC 等框架的使用,就是后端的 MVC 时代以 SpringMVC 流程为例:发起请求到前端控制器(DispatcherServlet)前端控制器请求 HandlerMapping 查找 Handler,可以根据 xml 配置、注解进行查找处理器映...
2019-07-19 21:07:08
301
原创 了解前端知识体系
了解前端知识体系前端三要素HTML(结构):超文本标记语言(Hyper Text Markup Language),决定网页的结构和内容CSS(表现):层叠样式表(Cascading Style Sheets),设定网页的表现样式JavaScript(行为):是一种弱类型脚本语言,其源代码不需经过编译,而是由浏览器解释运行,用于控制网页的行为结构层(HTML)略表现层(CSS)...
2019-07-19 20:59:17
898
原创 spring security oauth2 创建资源服务器
创建资源服务器概述在 为什么需要 oAuth2 和 RBAC 基于角色的权限控制 章节,我们介绍过资源的概念,简单点说就是需要被访问的业务数据或是静态资源文件都可以被称作资源。为了让大家更好的理解资源服务器的概念,我们单独创建一个名为 hello-spring-security-oauth2-resource 资源服务器的项目,该项目的主要目的就是对数据表的 CRUD 操作,而这些操作就是对...
2019-07-19 20:56:28
639
原创 spring security oauth2 基于 RBAC 的自定义认证
基于 RBAC 的自定义认证概述在实际开发中,我们的用户信息都是存在数据库里的,本章节基于 RBAC 模型 将用户的认证信息与数据库对接,实现真正的用户认证与授权操作流程继续 基于 JDBC 存储令牌 章节的代码开发初始化 RBAC 相关表在数据库中配置“用户”、“角色”、“权限”相关信息数据库操作使用 tk.mybatis 框架,故需要增加相关依赖配置 Web 安全配置使用...
2019-07-19 19:14:14
1401
1
原创 spring security oauth2 RBAC 基于角色的访问控制
RBAC 基于角色的访问控制概述RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般是多对多的关系。(如下图)目的在我们的 oAuth2 系统中,我们需要对系统的所有资源进行...
2019-07-19 19:06:38
3027
2
原创 spring security oauth2 基于内存存储令牌
基于内存存储令牌概述本章节基于 内存存储令牌 的模式用于演示最基本的操作,帮助大家快速理解 oAuth2 认证服务器中 “认证”、“授权”、"访问令牌” 的基本概念操作流程配置认证服务器配置客户端信息:ClientDetailsServiceConfigurerinMemory:内存配置withClient:客户端标识secret:客户端安全码authorizedGran...
2019-07-19 18:58:19
1020
原创 spring security oauth2 创建认证服务器
创建认证服务器POM创建一个名为 hello-spring-security-oauth2-server 项目,POM 如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X...
2019-07-19 18:53:26
256
原创 Spring Security oAuth2 创建项目工程
Spring Security oAuth2 创建项目工程工程创建一个名为 hello-spring-security-oauth2 工程项目,POM 如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w...
2019-07-19 18:45:52
335
原创 Spring Security oAuth2 客户端授权模式
Spring Security oAuth2 客户端授权模式概述客户端必须得到用户的授权(authorization grant),才能获得令牌(access token)。oAuth 2.0 定义了四种授权方式。implicit:简化模式,不推荐使用authorization code:授权码模式resource owner password credentials:密码模式cli...
2019-07-19 17:59:46
3748
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人