自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Spring 事务传播行为

事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题。事务最重要的两个特性,是事务的传播行为和数据隔离级别。传播级别定义的是事务的控制范围,事务隔离级别定义的是事务在数据库读写方面的控制范围。以下是事务的7种传播行为:1) PROPAGATION_REQUIRED :默认的spring事务传播级别,使用该级别的特点是,如果上下文中已经存在事务,那么就加入到事务中执行,如果当前上下文中不存在事务,则新建事务执行

2021-12-14 11:02:00 225 1

原创 使用@AUTOWIRED、@RESOURCE注解报空指针

使用@Autowired、@Resource注解报空指针问题描述:在Spring Boot整合Security的过程中,对于JWT令牌的只允许一个客户端登录限制的需求下,需要引入redis做缓存判断处理,因此引入redis工具类 @Autowired private RedisUtil redisUtil;但在Debug过程中发现 RedisUtil没有注入进来,报了空指针异常搜索资料发现, 被Spring的注解注解过类的对象不能new,要用注解的方式创建对象解决方法:在JwtAuth

2021-09-08 20:11:12 1099

原创 Spring学习(十):Spring 事务传播特性和事务隔离级别

Spring 事务传播特性和事务隔离级别一、认识事务1.1 为什么需要事务?1.2 什么是数据库事务?1.3 事务的ACID特性1.4 并发异常二、Spring 事务的隔离级别(5个)三、Spring 事物的传播行为(7个)一、认识事务1.1 为什么需要事务?转账是生活中常见的操作,比如从A账户转账100元到B账号。站在用户角度而言,这是一个逻辑上的单一操作,然而在数据库系统中,至少会分成两个步骤来完成:将A账户的金额减少100元将B账户的金额增加100元在这个过程中可能会出现以下几个问题:

2020-12-09 12:18:02 153

原创 Spring 学习(九):代理设计模式

代理设计模式一、设计模式二、代理设计模式三、静态代理模式一、设计模式设计模式:前人总结的一套解决特定问题的代码二、代理设计模式代理是英文 Proxy 翻译过来的。一个商家要邀请明星参加商演,需要跟她的经纪人洽谈,而不直接与明星本人谈。这就是代理设计模式代理设计模式1.1 真实对象(明星)1.1 代理对象(经纪人)1.3 抽象对象(抽象功能),预约时间、洽谈出场费代理设计模式优点:2.1 保护真实对象:真实对象与用户不直接接触2.2 让真实对象指责更加明确:明星只参与演出,预约时

2020-12-08 15:55:00 130

原创 Spring 学习(八):AOP异常通知和环绕通知

AOP异常通知和环绕通知一、配置异常通知的步骤(AspectJ方式)二、配置异常通知的步骤(Schema-based方式)三、配置环绕通知的步骤(Schema-based方式)一、配置异常通知的步骤(AspectJ方式)只有在切点报异常才能触发异常通知,否则无效在Spirng 中只有 AspectJ 方式提供可异常通知的方法实现步骤新建类,在类写任意名称的方法package com.zhang.advice;public class MyThrowAdvice { public voi

2020-12-07 20:39:55 588 1

原创 Spring 学习(七):AOP简介及Schema-base实现前置和后置通知

AOP简介及Schema-base实现前置和后置通知一、 AOP概述1.1 什么是AOP?1.2 AOP应用场景说明二、AOP 执行流程三、AOP编程四、Schema-base实现前置和后置通知一、 AOP概述1.1 什么是AOP?AOP(Aspect Oriented Programing)面向切面编程。AOP采取横向抽取机制,取代了传统的继承纵向继承体系重复性代码(性能监视、事务管理、安全检查、缓存)Spring的AOP采用了纯Java实现,不需要专门的编译过程和类加载器,在运行期间通过动态代

2020-12-07 17:31:31 146

原创 Spring 学习(六):Sprig Bean 自动注入

一、Sprig Bean 自动注入一、自动注入二、Sprig 自动注入 byName三、Sprig 自动注入 byType四、设置默认方式一、自动注入在 spring 配置文件中对象名和 ref =“id” 名相同使用自动注入,可以不配置< constructor-arg>和< property> 元素,这有助于减少编写一个大的基于 Spring 的应用程序的 XML 配置的数量。下列自动注入模式,它们可用于指示 Spring 容器为来使用自动装配进行依赖注入。你可以使用&lt

2020-12-07 16:11:23 175

原创 MyBatis 学习(九):动态SQL

动态SQL一、动态SQL二、DynamicSQL Test2.1 准备工作2.2 if一、动态SQLMyBatis 还有一个强大特性就是它的动态SQL在实际项目开发中,经常需要根据不同条件拼接 SQL 语句,拼接是还要确保不能忘了必要的空格,有时候还要注意省掉列名列表的逗号,等等。常用的动态 SQL 元素包括:ifchoose(when、otherwise)whereforeachbind二、DynamicSQL Test2.1 准备工作首先,给之前创建的数据库 mybatis

2020-12-06 11:02:58 91

原创 MyBatis学习(八):ResultMap结果集映射

ResultMap结果集映射resultMap 元素是 MyBatis 中最重要最强大的元素。它的作用是告诉 MaBatis 将从结果集中取出的数据转化成开发者所需要的对象。下面是最简单的映射语句示例:<select id="selectAllStudent" resultType="map"> select * from student</select>selectAllStudent 的 < select> 元素执行一条查询语句,查询 student 表

2020-12-04 16:24:00 1877

原创 MyBatis 学习(七):深入 Mapper XML映射文件

深入 Mapper XML映射文件一、Mapper XML映射文件二、select 查询语句三、insert、update 和 delete四、sql 元素五、参数(Parameters)一、Mapper XML映射文件MyBatis 的真正强大之处在于它的映射语句,这也是它的魔力所在。由于它的功能异常强大,映射器XML文件就显得相对简单。SQL映射文件常用的元素如下:select 映射查询语句insert 映射插入语句update 映射更新语句delete 映射删除语句sql 可被其他语

2020-12-04 13:47:22 661

原创 MyBatis 学习(六):Spring 整合 MyBatis

Spring 整合 MyBatis1)在创建项目之前,首先在 MySQL 数据库中创建 mybatis 数据库和 student 表,sql 语句如下所示:CREATE DATABASES mybatis;USE mybatis;DROP TABLE IF EXISTS `student`CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `

2020-12-03 20:29:22 100

原创 MyBatis 学习(五):深入MyBatis的配置文件

这里写目录标题一、MyBatis 初始化二、MyBatis 的配置文件结构顶层configuration 配置1. properties 属性2. settings 设置3. typeAliases 类型命名4. environments 配置环境一、MyBatis 初始化MyBatis 初始化基本过程:SqlSessionFactoryBuilder 根据传入的数据流生成 Configuration 对象,然后根据 Configuration 对象创建默认的 SqlSessionFactory 实例

2020-12-03 13:57:31 181

原创 MyBatis 学习(四):第一个MyBatis程序

第一个MyBatis程序1)在创建项目之前,首先在 MySQL 数据库中创建 mybatis 数据库和 student 表,sql 语句如下所示:CREATE DATABASES mybatis;USE mybatis;DROP TABLE IF EXISTS `student`CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `sex`

2020-12-02 20:07:40 208

原创 MyBatis 学习(三):MyBatis的核心组件

MyBatis的核心组件一、常用对象二、SqlSessionFactory 对象三、SqlSession 对象一、常用对象MyBatis 中的常用对象有 SqlSessionFactiry 和 SqlSession。SqlSessionFactoryBuilder(构造器):它会根据配置或者代码来生成 SqlSessionFactory,采用的是分步构建的 Builder 模式。SqlSessionFactory(工厂接口):依靠它来生成 SqlSession,使用的是工厂模式。SqlSessi

2020-12-02 09:58:08 162 1

原创 MyBatis 学习(二):MyBatis 的工作原理

MyBatis 的工作原理一、MyBatis 下载二、MyBatis的工作原理2.1 MyBatis 的工作原理图2.2 工作原理解析一、MyBatis 下载二、MyBatis的工作原理2.1 MyBatis 的工作原理图2.2 工作原理解析

2020-12-01 20:54:58 108

原创 MyBatis 学习(一):MyBatis 简介

MyBatis 简介一 什么是ORM?一、ORM简介二、为什么使用ORM框架二 流行的ORM框架简介三 MyBatis 概述一、MyBatis是什么?二、Hibernate 和 MyBatis 的区别一 什么是ORM?一、ORM简介对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。因此可以把ORM当成应用程序

2020-12-01 16:19:49 203

原创 Spring学习(五):Spring 依赖注入

Spring 依赖注入一 依赖注入二 Spring 基于构造函数的依赖注入三 Spring 基于设值函数的依赖注入四 Spring 注入集合一 依赖注入依赖注入Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系。每个基于应用程序的 java 都有几个对象,由这些对象一起工作来呈现出终端用户所看到的工作的应用程序。当编写一个复杂的 Java 应用程序时,应用程序类应该尽可能独立于其他 Java 类来增加这些类重用的可能性,并且在做单元测试时,测试独立于其他类的独立性。

2020-11-30 16:25:24 93 1

原创 Spring学习(四):Spring Bean

Spring Bean一 Spring Bean定义二 Spring Bean 作用域三 Spring Bean 生命周期一 Spring Bean定义Bean定义被称作 bean 的对象是构成应用程序的支柱也是由 Spring IoC 容器管理的。bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象。这些 bean 是由用容器提供的配置元数据创建的(例如,以XML<bean/ >定义的形式)在容器本身内,这些bean定义表示为BeanDefinition对象,

2020-11-28 11:04:39 124 1

原创 Spring学习(三):Spring IoC容器

Spring IoC容器一 Spring IoC容器概述二 Spring BeanFactory容器三 Spring ApplicationContext 容器四 详解IoC容器一 Spring IoC容器概述Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件。这些对象被称为 Spring Beans,我们将在下一章中进行讨论。通过阅读配置元数据提供的指

2020-11-27 21:12:34 107

原创 Spring学习(二):控制反转(IOC)与依赖注入(DI)

控制反转和依赖注入一 控制反转(IOC)1.1 IOC是什么二 依赖注入(DI)2.1 IoC和DI一 控制反转(IOC)1.1 IOC是什么Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用

2020-11-27 16:23:43 88

原创 Spring学习(一):Spring 概述与介绍

Spring 概述与介绍一 Spring 概述二 Spring 优良特性三 Spring框架体系结构四 Spring优点一 Spring 概述1.Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。2.Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首次在 Apache 2.0 许可下发布。3.Spring 是轻量级的框架,其

2020-11-27 11:30:09 212

原创 学生信息管理系统(SpringMVC)

1.项目引言 1.1项目介绍 下学生入校后,我们需要管理这些学生,那么就需要我们对这些学生进行很多的 操作,此时我们学校对学生有条理的管理,包括一些基本信息的记录,就方便了学生 的信息管理。 1.2使用技术 这是一个学生信息管理系统,应用的是SSM(Spring + SpringMVC + Mybatis) 的项目,运用的知识: Sprin...

2020-09-27 22:41:22 7244 5

原创 Linux移植Hello World到开发板

Linux移植Hello World到开发板1.项目准备2.常用软件服务的安装配置1.安装ssh服务2.建立 TFTP 服务3.添加 SAMBA 服务3.安装交叉编译工具4.将虚拟机与开发板互通5.利用tftp传输hello可执行文件1.项目准备1.Linux版本:Ubuntu18.0.42.交叉编译工具:arm-linux-gcc-4.4.3.tar.gz3.wind10系统4.开发板2.常用软件服务的安装配置1.安装ssh服务该服务主要提供远程登陆到 Ubuntu 系统功能

2020-09-08 20:57:34 255

原创 Liunx安装Redis

Linux安装Redis1.Redis简介1.1 Redis简介Redis:Remote Dictionary Server(远程字典服务器)Redis是当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI c语言编写的key-value存储系统(区别于MySQL的二维表格的形式存储。)。和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Re...

2020-04-26 23:58:45 518

原创 Spring Boot整合Shiro

Spring Boot整合Shiro1.简介2.环境搭建2.1开发环境2.2项目文件结构2.3pom.xml文件配置2.4applocation.yml文件配置3.数据库3.1数据库设计--基于RABC权限控制4.相关类4.1用户-角色-权限相关实体类4.2权限相关服务接口4.3用户-角色-权限多对多关联查询sql语句4.3自定义UserRealm4.4ShiroFilterFactoryBean...

2020-04-25 21:05:48 229

原创 宝塔面板将SpringBoot项目部署到阿里云服务器

宝塔面板将SpringBoot项目部署到阿里云服务器一 购买服务器二 下载宝塔控制面版三 通过IDEA将项目打包成jar包,并通过宝塔控制面板上传到服务器**四 利用Xshell连接到服务器,运行项目**五 利用浏览器访问项目第一次部署SpringBoot项目,回忆一下过程和踩过的坑,以便下次部署。镜像文件为:Ubuntu 16.04一 购买服务器二 下载宝塔控制面版1.在服务器系统内...

2020-03-13 23:32:26 8623 6

原创 Ajax局部刷新的运用

1.Ajax工作原理及其优缺点1.什么是AJAX?AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。它使用:使用XHTML+CSS来标准化呈现;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpRequest对象与Web服务器进行异步数据通信;使用Javascr...

2019-11-26 17:15:21 381

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除