自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring4-spring声明式事务

一、 配置声明式事务所需的依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.13.RELEASE</version></dependency><!--spring的事务支持-->><dependency

2021-09-04 21:02:24 163

原创 spring4-springAOP 解决方法间的依赖,注解配置AOP

一、方法间的依赖关系我们在spring概述中曾经说过,程序中的耦合一般有类之间的耦合,和方法之间的耦合。我们通过Spring提供的Ioc容器降低了类之间的依赖关系。今天我们来了解一下方法之间的依赖,我们通过一个模拟业务代码案例来分析程序中的问题。程序如下持久层接口public interface AccountMapper { //查询所有方法 List<Account> selectAll(); //通过id产找账户 Account selectById(

2021-04-09 19:28:47 661

原创 spring3-spring中常用的注解,使用纯注解模式配置spring

一、给注解分个类spring的注解可以用来干什么?怎么用?我们先回忆下在xml中的配置以及作用<bean id="id" calss="com.xxx" scope="xxx" init-method="xxx" destroy-method="xxx"> <property name="xxx" value="xxx"/ref="xxx"/></bean>上面的配置我们很熟悉,通过上面xml的配置,我们可以将注解的配置大致分为四类:用于创建对象的

2021-04-08 16:14:53 193

原创 spring2-spring控制反转Ioc和spring依赖注入DI

一、控制反转Ioc控制反转(Inversion of Control,缩写为IoC),面向对象编程中的一种设计原则/思想,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。如上是百度百科对Ioc的介绍,很全面。spring的核心就是Ioc容器

2021-04-06 20:09:13 201

原创 spring1-spring概述介绍 程序中的耦合问题降低程序间的依赖关系

一、spring介绍什么是spring?Spring框架是一个开源的J2EE应用程序框架,是针对bean的生命周期进行管理的轻量级容器,Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。名词介绍Bean:计算机英语用表示可重用的组件javaBean:java语言编写的可重用组件,如Serivce,DaoIOC:控制反转(Inversion of control)AOP:面向切面编程(Aspext Oriented Program

2021-04-06 17:19:02 308

原创 设计模式之代理模式 使用jdk动态代理模式

前言代理模式(Proxy Pattern)是在程序设计中使用非常广泛。在学习框架时,可以发现有大量的实际应用,比如Mybatis中使用动态代理生成可执行的Mapper类、Spring中AOP技术的实现。在现实生活中也有非常多的例子,比如房屋中介代替顾客去租房子等等。所以学习并掌握代理模式是必要的。一、代理模式1.1 代理模式介绍在代理模式中一般包含的对象有:代理类,被代理类,共同接口(代理类和被代理类共同实现的接口,确保它们有共同的功能),客户端四个部分。在代理模式中个对象之间的关系:代理类和

2021-04-03 16:44:03 319 4

原创 从spring-context jar包导入发现maven 阿里源的配置问题

错误引入在学习spring框架时,使用maven导入jar包时出现错误错误场景上图中可以看到pom.xml正常执行后,导入的jar包是不能使用的。正确的导入如下图。原因分析环境我使用的是本地maven,配置了阿里源 conf.xml配置如下:这是当时配置maven时,按照网上的配置方式<mirrors> <mirror> <id>aliyun</id> <mirrorOf>central</mi

2021-02-05 16:05:42 2290 2

原创 Java 面向对象概括总结

类与对象的关系成员变量和局部变量的区别封装构造函数的细节static关键字对象的创建过程继承final关键字抽象类接口多态内部类面向对象三大特征:封装,继承,多态一、类与对象的关系类:对事物的描述,需要体现属性和行为。对象:是类创建的实体(类的一个具体实现),通过该实体调用属性和行为。二、成员变量和局部变量的区别定义的位置不同成员变量定义在类中;局部变量定义在方法及语句中。在内存中的位置不同成员变量存储在堆内存的对象中;局部变量存储在栈内存的方

2020-12-06 11:43:04 138

原创 5-数据结构单链表分析与java代码实现(腾讯、新浪面试题)

尚硅谷韩顺平Java数据结构与算法链表(Linked List)链表介绍和内存存储链表是有序的列表;内存中存储不一定连续链表是以节点方式来存储数据,链式存储每个节点包括data域,next域链表分带头节点的链表和不带头节点的链表,根据实际的需求来确定单链表单链表逻辑示意图单链表添加方法实现获取尾节点定义tail节点指向尾节点通过遍历列表获取尾节点将要插入的节点next复制为null(默认为null,可以不赋值)将尾节点的next域指向要插入的节点.

2020-07-29 17:12:58 188

原创 4-数据结构数组实现环形队列思路和java代码实现

尚硅谷韩顺平Java数据结构与算法数组模拟环形队列思路分析front变量的含义调整:front指向队列的第一个元素,queue[front]就是队列的第一个元素,front的初始值=0;rear变量的含义调整:rear指向队列的最后一个元素的后一个位置,空出一个约定空间,rear初始值=0;当队列满时,条件(rear+1) % maxSize == front;当队列为空时,条件 rear == front;获取队列中有效的数据个数 (rear+maxSize-front)%maxSize

2020-07-28 14:16:47 210 1

原创 3-数据结构数组实现队列思路和java代码实现

尚硅谷韩顺平Java数据结构与算法队列队列使用场景排队队列基本介绍队列是一个有序列表,可以使用数组或链表来实现遵循先进先出的原则数组实现队列总体思路队列本身是有序数列,定义变量maxSize记录队列最大容量队列的输出输入分别是由前后端来处理的,因此需要定义变量front和rear来记录前后端的下标,front会随着数据的输出而变化,rear会随着数据的输入而变化。添加数据方法思路定义方法addQueue(value);判断队列是否满 rear == .

2020-07-28 14:12:35 241

原创 2-数据结构稀疏数组存储方式和代码实现

视频课程: 尚硅谷韩顺平Java数据结构与算法稀疏数组(sparsearray)稀疏数组问题引入五子棋程序中,存盘退出和继续上盘的功能存在问题:将棋盘映射成一个二维数组后,数组中的许多值是0;数组中记录了许多没有意义的数据。稀疏数组基本介绍当一个数组中的大部分元素为0,或者为同一个值的数组,可以使用稀疏数组来保存该数组稀疏数组的列固定为3列(行,列,值)稀疏数组的存储方法稀疏数组第一行记录原数组一共有几行几列,有多少个不同的值。稀疏数组其他行记录原数组中有意义值的行.

2020-07-25 17:05:55 295

原创 1-数据结构与算法概述

视频课程: 尚硅谷韩顺平Java数据结构与算法数据结构和算法的关系数据结构是一门研究组织数据方式的学科程序 = 数据结构+算法数据结构是算法的基础,想要学好算法必须学好数据结构线性结构和非线性结构线性结构线性结构作为最常用的数据结构;其特点是数据元素之间存在一对一的线性关系线性结构有两种不同的存储结构;即顺序存储结构和链式存储结构。顺序存储结构称为顺序表,顺序表中的存储元素是连续的。链式存储结构称为链表,链表中的存储元素不一定连续,元素节点中存储数据元素,以及相邻元素的地址.

2020-07-25 16:55:51 140

原创 Mysql用户管理 权限管理

管理用户查询用户use mysql;select * from user;创建用户create user '用户名'@'主机名' identified by '密码';删除用户drop user '用户名'@'主机名';修改用户密码update user set password = password('新密码') where user = '用户名'; -- 方法1set password for '用户名'@'主机名' = password('新密码'); --

2020-07-11 16:38:48 144

原创 Mysql数据库事务操作 事务级别

事务的基本介绍事务概念:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。事务操作开启事务:start transaction回滚 : rollback提交 : commit事务的四大特性原子性:不可分割的最小操作单位,要么同时成功,要么同时失败持久性:事务提交或回滚后,数据库会持久化的保存数据隔离性:多个事务之间,相互独立一致性:事务操作前后,数据总量不变事务的隔离级别​ 概念:多个事务之间是隔离的相互对立的,如果多个事务操作同一批

2020-07-11 16:38:11 158

原创 Mysql数据库多表查询 子查询

笛卡儿积概念:有两个集合A,B,取这两个集合的所有组合情况。多表查询的分类内连接查询:隐式内连接:使用where条件消除无用数据语法select 字段列表 from 表1,表2 where 条件;显示内连接:语法select 字段列表 from 表名1 [inner] join 表名2 on 条件;内连接查询注意:​ 1-从那些表中查询数据​ 2-条件是什么​ 3-查询哪些字段外连接查询:左外连接 : 查询的是左表所有的数据以

2020-07-11 16:37:21 220

原创 数据库的备份和还原

命令行方式mysqldump -u 用户名 -p 密码 要备份的数据库名称 > 保存的路径 -- 备份的语法/*还原的语法 1-登录数据库 2-创建数据库 3-使用数据库 4-执行文件*/source 文件路径; -- 执行文件

2020-07-11 16:36:36 130

原创 数据库设计基础

多表之间的关系一对一关系(了解)如:人和身份证(一个人只能有一张身份证,一张身份证只能对应一个人)实现方式:一对一关系实现,可以在任意一方添加唯一外键指向另一个外键(一般创建在一张表中)一对多(多对一)如:部门和员工 (一个部门有多个员工,一个员工只能对应一个部门)实现方式:在多的一方去建立外键,指向一的一方。多对多如:学生和课程(一个学生可以选择多门课程,一门课程也可以被多个同学选择)实现方式:多对多关系实现需要借助第三张中间表,中间表至少包含两个字段,这两个字段作为第三张表的

2020-07-11 16:36:00 175

原创 Mysql数据库表的约束

约束的概念​ 对表中的数据进行限定,保证数据的正确性,有效性和完整性。约束的分类主键约束:primary key非空约束:not null唯一约束:unique外键约束:foreign key主键约束 表中的唯一标识主键约束的含义:非空且唯一在创建表时,添加主键约束CREATE TABLE stu( id int primary key, name varchar(20) not null);创建完表后,添加主键ALTER TABLE stu MODIFY i

2020-07-11 16:35:28 174

原创 Mysql数据库DQL操作

DQL : 查询表中的数据查询语法SELECT 字段列表 FROM 表名列表 WHERE 条件列表GROUP BY 分组字段 HAVING 分组之后的条件ORDER BY 排序LIMIT 分页限定基础查询查询多个字段SELECT id,name,sex FROM 表名;去重查询SELECT DISTINCT 字段名称 FROM 表名;起别名SELECT id,name AS 姓名,sex 性别 FROM 表名;条件查询​ w

2020-07-11 16:34:56 196

原创 Mysql数据库DML操作

DML 增删改表中的数据添加数据语法INSERT INTO tb(column1,column2 ...column3) VALUES(value1,value2...value3);注意:1-列名和值要一 一对应2-不写列名时,默认给所有列添加数据3-除了数字类型,其它类型需要使用引号删除数据语法DELETE FROM tb [WHERE 条件]; TRUNCATE TABLE tb; -- 删除表中的所有记录(删除表 再创建一个一模一样的表)注意:1-如果

2020-07-11 16:34:10 162

原创 Mysql数据库DDL操作

CRUDcreate :创建retrieve :查询update :修改delete:删除操作数据库create :CREATE DATABASE dbName; -- 创建dbName数据库CREATE DATABASE IF NOT EXISTS dbName; -- 创建dbName数据库之前先判断dbName是否存在,存在也不会报错。CREATE DATABASE dbName CHARACTER SET gbk; -- 按照指定字符集创建数据库retrieve :

2020-07-11 16:33:44 186

原创 sql基础介绍

什么是SQL​ Structured Query Language(结构化查询语言)​ sql定义了操作所有关系型数据库的规则SQL通用语法sql语句可以单行或者多行书写,以分号结尾。使用空格 tab增强可读性。mysql数据库sql语句不区分大小写,关键字建议使用大写。注释单行注释 --或者#(mysql特有的注释方法)多行注释/*...*/SQL语句的分类DDL(Data Definition Language)数据库定义语言作用:用来定义数据库对象:数据库,

2020-07-11 16:31:59 161

原创 1-数据库(Database)基础概念和操作

数据库的基础概念什么是数据库:用于存储和管理数据的仓库数据库的特点持久化存储数据(数据库就是一个文件系统)方便存储和管理数据使用了统一的方式来操作数据库 -SQLMysql安装和卸载Mysql基础操作mysql服务mysql服务启动:net start mysqlmysql服务关闭:net stop mysqlmysql的登录本地mysql登录:mysql -u root -p ****远程mysql登录:mysql -h ip -u root -p ***

2020-07-11 16:30:45 262

原创 Java内部类基础知识点 内部类基本操作 匿名内部类使用

导航内部类的概念内部类的分类内部类的定义格式成员内部类的访问内部类的同名变量访问方法局部内部类定义局部内部类final问题匿名内部类匿名内部类的注意事项类的权限修饰符总结内部类的概念​ 如果一个事物的内部仍包含另一个事物,内部事物还在访问外部事物的内容时,这个类内部就可以包含另一个类身体和心脏的关系汽车和发动机的关系内部类的分类成员内部类 : 属于外部类的成...

2020-04-28 11:43:32 160

原创 java泛型基础泛型接口、类、方法

泛型引入​集合中可以存储任意类型的元素,导致在取出时可能在强转是会抛出运行时异常ClassCastException,在JDK1.5之后出现了解决方案,使用容器时,必须明确容器中元素的类型,将这种机制称为“泛型”泛型的好处是一种安全机制将运行时期的ClassCastException转移到了编译时期的问题泛型技术,是给编译器使用的技术避免了强转的麻烦泛型类在定义类时,如果不确定...

2020-04-15 21:36:56 186

原创 java多线程设计模式生产者消费者模式

version 1/** 生产者消费者模式1.描述资源2.描述生产者3.描述消费者目前完成的程序只支持单个的生产者和消费者但出现多个的生产者和消费者时程序会出现错误的数据Thread-0......生产了......面包1Thread-3....消费了....面包1Thread-0......生产了......面包2Thread-2......生产了......面包3T...

2020-04-12 22:25:52 204 1

原创 Java多线程Thread基础

基本概念了解进程:应用程序在内存中运行的空间。线程:进程中的一个执行单元,负责进程中的程序执行。创建线程继承Thread定义一个类继承Thread重写run方法创建子类对象(创建线程对象)调用start()的方法(开启线程,调用run方法内容)线程对象调用run方法和调用start方法的区别?调用run()方法不开启线程,仅是对象调用方法。调用start...

2020-04-10 18:44:26 128

原创 Java接口

当一个抽象类中的方法全是抽象方法,则可以定义为接口接口中的成员定义变量:变量的固定修饰符(public static final)所以接口中的变量也称之为常量。定义方法:方法的固有修饰符(public abstract )接口的特点接口不可以创建对象。子类必须覆盖掉接口的所有方法,才可以实例化。接口最重要的体现解决了多继承的弊端。将多继承的机制在java中通过多实现完成。...

2020-02-26 22:13:05 77

原创 Java抽象类

Java抽象类java中的抽象类当类中的有些功能不具体,这些不具体的功能需要在类中标识出来,java通过关键字abstract。定义了抽象方法的类也必须被abstract修饰。被abstract修饰的类是抽象类。抽象类的特点1. 抽象类和抽象方法都需要被abstract修饰,抽象方法一定要被定义在抽象类中。2. 抽象类不可以创建实例。(调用抽象方法没有意义)3. 只有覆盖了抽象类中...

2020-02-25 22:01:48 429

空空如也

空空如也

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

TA关注的人

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