自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ariverh博客

一个正在努力学习的程序猿的学习笔记

  • 博客(48)
  • 收藏
  • 关注

原创 docker--学习笔记(未完结,有时间更新)

docker学习之路

2023-01-20 19:56:56 248

原创 SpringCloud:微服务与分布式

WEB应用的架构发展:单体架构在web应用的早期,我们把说有的业务都放在一个项目中。将这个含有所有业务的项目打包成一个War包放在tomcat中。即一个项目就只存在一个服务器中。下图为单体架构。解释:1.一个台服务器中可以有一个或者多个tomcat,我们可以通过修改tomcat的端口号同时启动多个tomcat。2.一个tomcat中可以有多个war包,即多个项目或多个应用。每个应用之间是相互独立的。应用直接无法通信。例如,淘宝有一个war包,美团有一个war包。他们都是相互独立的应用。

2021-07-24 17:49:47 565 4

原创 SpringCloud: 入门

什么是SpringCloudSpringCloud是分布系统的一套解决方案,是一些列框架的集合,通过这些框架集合,点对点的解决分布式系统中的问题。包括:服务注册(解决服务提供)-------SpringCloud Netflix Eureka服务发现(解决服务消费)-------SpringCloud Netflix Feign配置中心(解决分布式系统的配置)-------Spring Cloud Config消息总线(解决分布式系统中的事件、状态等消息的传递)-------Spring Clo

2021-07-24 15:40:36 130

原创 十大排序算法(持续更新中)

时间复杂度和空间复杂度时间复杂度和空间复杂度是衡量一个算法好坏的两个最重要的依据。下面将对时间复杂度和空间复杂度进行讲解。时间复杂度时间复杂度:是指执行当前算法所需要消耗的时间,我们称为时间复杂度。空间复杂度空间复杂度:是指执行当前算法所需要占用的内存空间,我们称为空间复杂度。十大排序算法冒泡排序public static int[] sort(int[] arr){ for (int i = 0; i < arr.length; i++) {

2021-07-19 17:49:19 102

原创 面向微信小程序的后端本地环境研究

1. 内容介绍​ 微信小程序是现在移动端最为流行的应用程序。微信小程序的开发可以分为两个部分,一个是前端小程序界面开发,一个是后端微信小程序对接的接口开发。那么今天,我们主要的目的就是研究面向微信小程序的本地环境。​2.了解前后端分离架构前端任务:结构后端发送的数据,并且将数据渲染展示给用户看。后端任务:接收前端的前端的请求,处理请求,响应请求,发送数据。2.1 传统web开发对于传统的Web应用开发来说,前端开发者需要开发前端网页,把前端的网页交给后端的开发人员。后端的开发人员通过一些模板

2021-02-16 21:59:15 1068 1

原创 SpringBoot:5.springboot原理深入了解

5.springboot原理深入了解自定义Starter:新建一个空项目在该项目中添加一个普通的maven模块再改项目中的依赖中添加:<dependency> <groupId>com.ariverh</groupId> <artifactId>ariverh-spring-boot-starter-autoconfigure</artifactId> <version>0.0.1-SNA

2021-02-16 19:59:02 353

原创 SpringBoot:4.springboot的配置

4.springboot的配置springboot配置文件:该文件是一个全局配置文件,该配置文件的名称是固定的。application.properties该文件的语法:key=valueapplication.yaml(优先级高于properties文件)该文件的语法:key: value 注冒号后面有空格该文件的作用:springboot的自动配置,已经帮我们配置好了默认值,如果你需要修改就可以通过该配置文件修改默认值。例如​ properties:serve

2021-02-16 19:55:31 158

原创 SpringBoot:3.原理初探

3.原理初探自动装配springboot会自动帮我们配置配置文件pom.xmlspring-boot-dependencies核心依赖在父工程中我们在写或者引入一些Springboot依赖的时候,不需要指定版本,就是因为有这些版本仓库启动器:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter&l

2021-02-16 19:48:47 154

原创 SpringBoot:2.我的第一个SpringBoot程序

2.我的第一个SpringBoot程序环境jdk1.8maven3.6.1springBoot最新版开发工具IEDA官方:提供了一个快速生成的网站!IDEA集成了这个网站。直接在官网下载,导入idea获得zip文件,解压之后获得项目文件,通过maven项目导入。直接用idea创建springboot项目。项目的结构项目的依赖服务端口号设置banner:到项目下的 resources 目录下新建一个banner.txt 即可。我的第一个Spr

2021-02-16 19:45:37 87

原创 SpringBoot:1.微服务阶段

1.微服务阶段1.1Java前阶段学习总结以及后阶段学习内容JavaSE OOPmysql:持久化视图层:html+css+js+jquery(java程序员框架不熟练,css不好,即美术不好)javaweb:MVC三层架构SSM:框架(简化开发流程,配置太多,很繁琐)web项目以war包方式进行打包,在tomcat中运行。springboot(微服务):打的是jar包:内嵌tomcatSpringCould(微服务太多,进行微服务的管理)1.2

2021-02-16 19:35:08 195 1

原创 Spring:总结(精髓:一张图让你彻底了解Spring)

2021-02-16 16:26:57 215

原创 Spring:事务

11.spirng事务11.1事务事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎!事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。事务四个属性ACID原子性(atomicity)事务是原子性操作,由一系列动作组成,事务的原子性确保动作要么全部完成,要么完全不起作用一致性(consistency)一旦所有事务动作完成,事务就要被提交。数据和资源

2021-02-16 16:25:04 76

原创 Spring:整合mybatis

10.整合mybatis10.1具体整合步骤需要导入的包:junit<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version></dependency>mybatis<dependency> <groupId>o

2021-02-16 16:22:18 67

原创 简单的ES6新特性

简单的ES6新特性简介ES6,全称ECMAScript 6.0,是javaScript的下一个版本标准,发布时间为2015年6月。其出现主要解决了javascript中不足的部分,比如javaScript中没有类这个概念,还有变量的常量的定义不清楚等问题。现如今大部分的浏览器都支持ES6的部分特性。如果你作为一个前端开发者,学习和使用ES6是必要的。发展历史javaScript的创造者:网景公司(Netscape)1997年,js被提交给ECMA标准化组织,称为国际化标准,并命名为EC

2021-02-16 16:16:21 329 1

原创 Spring:AOP

9.AOP9.1什么是AOP?AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uu0jgmA

2021-02-03 17:51:50 72

原创 Spring:代理模式

8.代理模式为什么要学习代理模式?因为这是SpringAop的底层。代理模式:代理类委托类调用者接口类未使用代理模式:当调用者要去调用委托类的方法时,直接通过委托类对象进行调用。使用代理模式:当调用者要去调用委托类的方法时,首先需要代理类和委托类实现同一个接口,然后通过调用代理类的方法,去间接调用委托类的方法。例子:租房人(调用者)—中介(代理类)-----房东(委托类) 接口:出租房子结婚的人(调用者)—婚庆公司(代理类)----结婚举办(委托类) 接口:布置结婚

2021-02-03 17:50:24 299

原创 Spring:使用java的方式配置Spring

7.使用java的方式配置Spring该方式可以完全不使用xml。JavaConfig 原来是 Spring 的一个子项目,它通过 Java 类的方式提供 Bean 的定义信息,在 Spring4 的版本, JavaConfig 已正式成为 Spring4 的核心功能 。测试:1、编写一个实体类,Dog@Component //将这个类标注为Spring的一个组件,放到容器中!public class Dog { public String name = "dog";}2、新建一个

2021-02-03 17:47:22 148 1

原创 Spring:使用注解开发

6.使用注解开发在Spring4之后开发,必须导入aop包在使用注解必须导入content约束<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springf

2021-02-03 17:46:08 55 1

原创 Spring:Bean的自动装配

5.Bean的自动装配在Spring可以通过上下文寻找创建bean对应的需要注入的bean,自动装配到该bean种3种装配方式:xml显示配置java显示配置隐式的自动装配Spring的自动装配需要从两个角度来实现,或者说是两个操作:组件扫描(component scanning):spring会自动发现应用上下文中所创建的bean;自动装配(autowiring):spring自动满足bean之间的依赖,也就是我们说的IoC/DI;组件扫描和自动装配组合发挥巨大威力,使得显示的配置降

2021-02-03 17:44:54 145 1

原创 Spring:依赖注入DI

4.依赖注入DI依赖:指Bean对象的创建依赖于容器 . Bean对象的依赖资源 .即由Spring创建bean。注入:指Bean对象所依赖的资源 , 由容器来设置和装配 .即由Spring给创建bean中的属性赋值,给属性注入值。4.1构造器注入使用构造其注入,说明该bean对应的类,必须要有一个有参构造方法:public class Hello { private String str; public Hello() { System.out.println(

2021-02-03 17:40:35 71 1

原创 Spring:配置Spring

3.配置Spring3.1别名alias我们可以通过alias标签给每个Bean取个别名<alias name="userDao" alias="user"/>上面配置就是,给id为userDao这bean取了个别名。我们可以通过该别名获得这个bean。3.2Bean配置bean标签是用来把我们创建的类注册到Spring容器中,即创建一个对象到Spring容器中。我们可以通过Spring容器获得该类实例的对象id:bean唯一标识符,我们从Spring容器获取实例对象,就需要通

2021-02-03 17:36:28 165

原创 Spring:IOC

2.IOC2.1IOC理论推导UseDao接口public interface UserDao { void getUser();}UseDao接口实现package dao;public class UserDaoImpl1 implements UserDao { public void getUser() { System.out.println("得到用户1...."); }}Service接口public inter

2021-02-03 17:34:16 48

原创 Spring:简介

1.Spring1.1简介什么是Spring?Spring是一个框架。是由于软件开发的复杂性而创建的框架,这个它的应用范围很广,任何jiava应用。目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用框架的核心:IOC(控制反转)和AOP(面向切面编程)Rod Johnson是Spring创始人 不要重复造轮子为什么叫Spring呢?因为它给软件行业的带来了春天,它简化了企业级应用的开发。Spri

2021-02-03 17:25:22 94

原创 Mybatis:缓存

10.缓存10.1介绍什么是缓存?缓存其实后两个层面的缓存,当时实际都是一样的。软件层面的缓存,和硬件层面的缓存。但是实际都是一样的。硬件缓存,就是用读写速度更快的硬件,暂存读取速度慢硬件中的数据。软件缓存,实际上也是硬件缓存,只是在软件层面进行描述。软件缓存,我们将从数据库中读取的信息,存储在内存中。因为数据库的数据都是存储在硬盘中的,我们从数据库读取数据的时候,就是将硬盘中的数据读取到内存中。硬盘读写数据慢,内存读取速度快。我们可以把经常用到的数据存储在内存中,就不用经常从磁盘中读取了。为什

2021-02-03 15:11:16 70

原创 Mybatis:动态SQL

10.动态SQL什么是动态SQL:动态SQL就是指根据不同条件生成的SQL在我们之前的使用时,我们都是用java判断手动拼接sql,这样给我们带来了问题,也增加了我们的工作量。那么,mybatis给我们提供了动态sql,只需要用像JSTL或XML这样的标签就可以实现动态sql了。其实每一个动态SQL都对应一句完整的SQL,只是通过一些标签将SQL进行了动态处理下面我们来介绍这些标签如何使用和使用场景。10.1ifsql:select * from blog where state='ACTIV

2021-02-02 15:15:38 54

原创 Mybatis:复杂的结果集映射关系

9.复杂的结果集映射关系在我们的结果集关系映射中分类两类:多对一映射关系:多个学生可以有同一个老师,即多个学生对应一个老师在Pojo层面,我们一个javabean中的属性,该属性的类型为javabean。问题:当Mybatis将字段与属性进行映射时,就无法将一些属性映射到该属性中,我们可以通过关联的方式进行映射,association标签一对多映射关系:一个老师可以有多个学生,即一个老师对应多个学生在Pojo层面,我们一个javabean的属性为一个集合。问题:Mybatis无

2021-02-02 15:14:46 811

原创 Mybatis:使用注解开发

8.使用注解开发8.1面向接口编程在公司中,我们都是面向接口编程的,而不是面向对象编程。这是为了解耦,可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好。8.2注解开发mybatis最初配置信息时基于xml,映射与激怒越是定义在xml中的,而到了mybatis3中提供了基于注解的配置。但是java注解的表达力和灵活性十分有限。mybatis映射无法使用注解来构建注解:@select()@update()@insert

2021-02-02 15:12:55 88

原创 Mybatis:分页

7.分页思考:为什么要分页?减少数据的处理量7.1Limit分页select * from user limit 0,5;使用Mybatis实现分页,核心SQL创建接口public interface UserMapper { List<User> getUserListLimit(HashMap<String,Integer> map);}实现接口Mapper.xml<select id="getUserListLimit" par

2021-02-02 15:11:19 50

原创 Mybatis:日志

6.日志6.1日志工厂如果一个数据库操作,出现异常,我们需要排错,日志就是最好的助手日志:日志工厂,具体用什么日志实现,在设置中设置日志类型SLF4JLOG4JLOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGINGNO_LOGGING如何配置日志<settings> <setting name="logImpl" value="STDOUT_LOGGING"/></

2021-02-02 15:10:31 93

原创 Mybatis:解决属性名和字段名不一致的问题

5.解决属性名和字段名不一致的问题 resultMap5.1问题在UserMapper.xml中的一个标签中,如select标签,<select id="getUserList" resultType="com.ariverh.pojo.User"> select * from mybatis_study.user;</select>如果User类中的属性名和数据库中的user的字段名不一致时,那么当我们查询的时候那么不一致的字段查询到的值就不会赋值给User属

2021-02-02 15:08:44 1178

原创 Mybatis:详细配置解析

4.配置解析4.1核心配置文件的属性4.2环境配置(environments)该被配可以配置多套环境,即在environments中可以配置多个environment。**尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。**我们可以通过设置environment的default属性类选择其中的一种环境。environment:每个环境也都需要进行配置,如事务管理器(transactionManager)和数据源(dataSource).事务管理器:在 M

2021-02-02 15:07:51 117

原创 Mybatis:简单的增删查改

3.CRUD3.1Select查询语句:id,对应方法名idresultType:返回值类型parameterType: 参数类型sql获得参数的方法#{接口对应参数名}3.2insert<insert id="addUser" parameterType="com.ariverh.pojo.User"> insert into mybatis_study.user values(#{id},#{name},#{age});</insert>

2021-02-02 15:05:24 63

原创 Mybatis:入门

2.第一个mybais程序步骤:搭建环境数据库搭建,即编写创建库代码。CREATE DATABASE `mybatis_study`;USE `mybatis_study`;CREATE TABLE `user`( `id` INT(10) NOT NULL PRIMARY KEY, `name` VARCHAR(30) NOT NULL, `age` INT(3) NOT NULL)ENGINE=INNODB DEFAULT CHARSET=utf8;

2021-02-02 15:04:15 62 1

原创 Mybatis:简介

1.简介1.1什么是Mybatis。优秀的持久层框架。它支持自定义 SQL、存储过程以及高级映射。免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。如何获得mybatis?maven厂库GitHub1.2持久化数据持久化持久化就是将程序中的数据在持久状态和瞬时状态转化的过程。内

2021-02-02 15:03:05 222

原创 MySQL:JDBC

9.JDBC9.1数据库驱动9.2JDBCjava.sqljavax.sql还要导入一个数据库驱动包 mysql-connector-java-5.1.47.jar9.3第一个jdbc程序程序代码public class JdbcTest { public static void main(String[] args) throws SQLException { Connection connection = null; Statement sta

2021-01-25 12:52:44 122

原创 MySql:数据备份与权限管理

6.数据备份为什么要备份:保证重要的数据不丢失数据转移MySQL数据库备份的方式直接拷贝物理文件在可视化工具中手动备份使用命令行备份 mysqldump--导出,不用连接mysqlmysqldump -hlocalhost -uroot -p123456 school student >D:/a.sql--导入,连接mysql。source 路径名7.权限管理7.1用户管理用户表:mysql.user本质:对这张表进行增删改查。--创建用户create us

2021-01-25 12:48:23 81

原创 MySQL:索引

5.索引MySQL官方对索引的定义为:索引是帮助MySQL高效获取数据的数据结构提取句子主干,就可以得到索引的本质:索引是数据结构。5.1索引的分类主键索引 (primary key)标识唯一,不可重复,只能又一个列作为主键唯一索引(unique key)边重复的类出现,唯一索引可以重复,多个列都可以标识为唯一索引常规索引(key)默认的,key和index设置全文索引(fulltext)特定的引擎下才有快速定位数据--显示所有索引信息show i

2021-01-25 12:46:59 49

原创 MySQL:事务

4.事务4.1什么是事务什么是事务,我们可以举一个简单的例子,银行转账问题银行转账分为两步:a转账给bb收到a的转账这两步其实是两个sql语句:用sql语句将数据库中账户表中a的钱减去一些用sql语句将数据库中账户表中b的钱加上一些我们可以知道,只有当上面两步都完成才能完成转账这个操作,如果其中一个失败,都会导致一些问题,例如两个账户的总和多了一些钱或者少了一些钱,所以这两步要么都成功,要么都失败。我们把类似银行转账这样的操作称为事物。事物的原则 ACID原子性(Atomi

2021-01-25 12:45:40 57

原创 MySQL:数据管理

3.MySQL数据管理3.1外键(了解)当前表中某个字段为另一张表的主键。那么这个字段为当前表的外键,为另一张表的主键。当前表为从表,另一张表位主表。主表不能直接删除,必须先删除从表。外键约束实现:alter table 表名 add constraint 约束名 foreign key(表中外键) references 表名(表中的主键);上述实现的外键是数据库级别的外键,即物理级别。以后:数据库只存表,不添加外键约束。以后用程序去实现外键。3.2DML语言数据库的意

2021-01-25 12:44:29 98

原创 MySql:操作数据库

2.操作数据库操作数据库 -->操作数据库中的表 -->操作表中的数据mysql关键字不分大小写2.1 操作数据库1、创建数据库create database [if not exists] school;2、删除数据库drop database [if exists] school;3、使用数据库use school;4、查看数据库show databases --查看所有的数据库2.2数据库的数据类型数值tinyint 十分小的数据 1个字节

2021-01-25 12:40:34 85

空空如也

空空如也

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

TA关注的人

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