自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringCloud第一版

SpringCloud第一版SpringCloud单体应用存在的问题为什么是SpringCloudSpring Cloud EurekaEureka Servlet注册中心代码实现Eureka Client代码实现一个具体的业务服务RestTemplate的使用SpringCloud单体应用存在的问题随着业务的发展,开发变得越来越复杂。修改、新增某个功能,需要对整个系统进行测试、重新部署。一个模块出现问题,很可能导致整个系统崩溃。多个开发团队同时对数据进行管理,容易产生安全漏洞。各个模块使

2021-04-01 23:25:37 246

原创 解决依赖下载不了或者失效的问题

首先配置maven中的set.xml<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> 或者是这个,这两个好像都是一样的,<mirr.

2021-03-31 22:30:19 764

原创 Springboot整合Shiro

ShiroShiroShiro核心组件Shiro是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。Shiro 就是用来解决安全管理的系统化框架Shiro核心组件用户,角色,权限会给角色赋予权限,给用户赋予角色用户拥有角色,角色拥有权限,用户不跟权限直接挂钩UsernamePasswordToken,Shiro用来封装用户登录信息,使用户的登录信息来创建令牌Tok

2021-03-29 00:17:24 226

原创 逻辑运算符和++ --易错点

逻辑运算符逻辑运算符逻辑运算符逻辑运算符只能用于 boolean 类型的数据运算,判断 boolean 数据之间的逻辑关系,与、或、非。&(与)、|(或)、!(非)、&&(短路与)、||(短路或)参与逻辑运算符的变量都是 boolean 的变量1 & 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。变量1 | 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。!变量1:若变量 1

2021-03-26 08:20:38 301

原创 Springboot整合Security

Springboot整合Securitysecurity快速使用权限管理security快速使用导入依赖<!--使用thymeleaf,html的前段展示--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependenc

2021-03-24 16:37:16 130

原创 springboot整合redis

springboot整合redisredisredisredis的五种数据类型redis引入依赖,也可以在建立项目的时候选择非关系型数据库<!--还要加入一个redis的连接池--><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId></dependency><d

2021-03-24 14:39:24 70

原创 SringBoot-it楠老师

SringBoot-it楠老师SringBootspring注入bean有几种方式yml配置文件的语法配置文件与配置类的属性映射方式 yml使用@ConfigurationProperties映射web设置,resourcesSringBootspring注入bean有几种方式(1)标签注入文件,这是之前spring的方式(2)扫包:使用注解注入 @Component, @Configuration @Bean @Service @Controller @Repository @Import

2021-03-19 23:05:50 646

原创 springboot

SpringBootSpringBoot初始SpringBootSpring是如何简化Java开发的SpringBoot初始SpringBootSpring Boot是一个快速开发框架,基于spring框架体系,是Spring Cloud的基础。SpringBoot最重要的一点就是各种自动装配,从而简化代码开发,不需要编写各种配置文件,只需要引入相关的依赖就可以搭建一个应用特点:(1) 不需要web.xml,springmvc.xml(2) 不需要tomcat,SpringBoot内嵌了to

2021-03-15 20:12:08 568

原创 2021-03-11

SSM框架整合SSM框架整合SSM框架整合Spring+SpringMVC+MybatisSpringMVC负责实现MVC设计模式,Mybatis负责数据库持久层,Spring负责管理SpringMVC和Mybatis相关对象的创建和依赖的注入创建Maven工程,pom.xml<dependencies> <!--springmvc--> <dependency> <groupId>org.springframewo

2021-03-11 15:19:32 154 1

原创 springmvc的第一个程序

SpringMVC的第一个程序第一个小程序第一个小程序首先创建maven工程,之后搞个小的模块,添加web架构引入依赖,肯定有spring-webmvc,然后有个javax.servlet-api,还有个普通的servlet在父类的xml补充这个加载资源配置文件<build> <resources> <resource> <directory>src/main/resourc

2021-03-10 21:51:52 221 3

原创 spring中的AOP

AOP:面向切面编程如何使用:Maven,pom.xml<!--aop工程使用的依赖--> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <ver

2021-03-01 23:45:37 114 1

原创 spring的重新学习入门

Spring的重新入门一、javabean和spring中的bean1. javaBean2、pojo3. javaBean和spring中的bean有何不同?一、javabean和spring中的bean1. javaBeanjavaBean是一种Java语言写成的可重用组件。类必须是具体和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。即包含一组set和get方法的java对象。javaBean可以使应用程序更加面向对象,可以把数据封装起

2021-02-28 23:11:47 98

原创 整合Mybatis

整合Mybatis整合Mybatis整合Mybatis导入相关的jar包 <!--引入依赖mybatis的依赖--> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>

2021-02-01 19:29:54 120

原创 动态代理

AOP什么是AOP什么是AOPAOP:面向切面编程,通过预编译方式和运行期动态地阿里实现程序功能的统一维护的一种技术。AOP是OOP的延续。例如:本来的业务是增删改查,然后要增加一些功能,比如:增加日志功能,不能改变原本的代码,很自然想到动态代理。如果是使用spring去做怎么做。例子:使用Spring实现AopAOP也可以在不改变原有代码的情况下,去增加新的功能使用AOP,需要导入一个依赖包<dependencies> <dependency>

2020-12-12 22:43:56 85

原创 代理模式

代理模式代理模式静态代理动态代理代理模式为什么要学习代理模式?因为AOP的底层就是动态代理!代理模式:静态代理动态代理比如:租房一般有中介代理去租房。静态代理静态代理角色分析:抽象角色:一般使用接口或者抽象类去实现真实角色:被代理的角色代理角色:代理真实的角色;代理真实角色后,一般会做一些附属的操作客户:使用代理角色来进行一些操作。代理的英文单词:proxypublic interface Rent { // 租房是一个抽象角色。使用接口来写 publi

2020-12-10 23:18:06 97

原创 spring使用注解开发

使用注解开发说明Bean的实现属性注入衍生注解xml与注解比较基于java类进行配置说明环境依赖:在使用spring4之后,想要使用注解形式,必须得要引入aop的包在配置文件中,还得要引入一个context约束<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001

2020-11-30 23:41:18 84

原创 spring的依赖注入(DI)

依赖注入依赖注入p命名和c命名注入Bean的作用域byNamebyType使用注解使用注解依赖注入依赖注入。依赖:指Bean对象的创建依赖于容器,Bean对象的依赖于资源注入:指Bean对象所依赖的资源,由容器来设置和装配构造器注入,之前的写过Set注入要求被注入的属性,必须有set方法,set方法的方法名由set+属性首字母大写。如果属性是boolean类型,没有set方法,是ispublic class Address { private String a

2020-11-28 11:37:10 134

原创 sprig的入门

Spring的入门1. Spring组成1.2扩展IOC基础IOC的本质快速入门SpringSpring是一个开源的免费框架,容器Spring是一个轻量级的框架,非侵入式的控制反转loC,面向切面AOP对事务的支持,对框架的支持一句话概括:Spring是一个轻量级的控制反转IoC和面向切面的容器(框架)1. Spring组成组成Spring框架的每个模块(或者组件)都可以单独存在,或者与其他的一个或多个模块联合实现。每个模块的功能:核心容器:核心容器提供Spring框架的基本功能,核心容

2020-11-24 11:28:18 136

原创 缓存

缓存缓存缓存

2020-11-20 08:26:42 139

原创 动态sql

动态SQL动态SQL动态SQL什么是动态sql:动态sql就是指根据不同的SQL查询条件生成不同的SQL语句我们之前写的 SQL 语句都比较简单,如果有比较复杂的业务,我们需要写复杂的 SQL 语句,往往需要拼接,而拼接 SQL ,稍微不注意,由于引号,空格等缺失可能都会导致错误。搭建环境新建一个数据库表:blog-- 字段id title author create_time views-- 像这种非空的需要插入数据的表,就不用写默认值,comment注释:'博客'create table

2020-11-17 22:02:38 1376

原创 多对1,一对多

复杂环境搭建多个学生,对应一个老师。对于学生这边而言,关联多个学生[多对一]对于老师而言,集合,一个老师,有很多学生[一对多]创建mysqlcreate table teacher( id int(10) not null auto_increment , name varchar(30) default null, primary key(id))engine=innodb default charset=utf8;insert into teacher(id,n

2020-11-11 20:36:31 1897 2

转载 读取resources资源

读取resources资源-class.getResource、ClassLoader.getResource和getResourceAsStream的区别classpathgetClassLoader().getResource()我们一般把配置,环境配置,或者数据库的驱动,以及properties等配置放到resources目录下,有时候我们需要获取这里面的配置文件,则需要使用getResource、ClassLoader.getResource和getResourceAsStream()等方法去读

2020-11-06 11:08:40 661

原创 数据库连接池

数据库数据库连接池数据库连接池数据库连接 – 执行完毕 – 释放连池 – 释放 十分浪费系统的资源池化技术:准备一些预先的资源,过来就连接预先准备好的最小连接数:10最大连接数:15等待超时:100ms编写连接池,实现一个接口 DataSourceDBCP,C3P0,Druid:阿里巴巴使用了这些数据库连接池之后,我们在项目开发汇总就不需要编写连接数据库的代码了DBCP:使用的jar包 <dependency> <groupId>c

2020-11-02 12:13:36 102

原创 jdbc

JDBCJDBCJDBCjdbc的demo创建一个数据库CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci;USE jdbcStudy;CREATE TABLE users(`id` INT PRIMARY KEY,`name` VARCHAR(40),`password` VARCHAR(40),`email` VARCHAR(60),`birthday` DATE);INSERT

2020-11-02 11:40:51 93

原创 权限及如何设计数据库

权限和如何设计数据库用户管理MySQL备份规范化数据库设计三大范式第一范式:原子性保证每一列不可再分第二范式:满足第一范式的基础上,每张表只描述一件事。第三范式: 满足第一范式和第二范式规范化和性能的关系用户管理并且那个主机选择的是什么,登录的时候他就是什么然后登录新的用户基本的命令-- 用户的信息表在mysql里面。所以如果要改用户名的话就相当于改这个表里面的字段用户的信息表:mysql.user-- 刷新权限flush privileges-- 使用命令行来创建用户,creat

2020-10-25 13:10:14 711

原创 事务和索引

事务和索引1. 事务1.1 什么是事务?1.2 事务的ACID原则:原子性,一致性,隔离性,持久性索引索引的数据结构1. 事务1.1 什么是事务?事务就是将一组SQL语句放在同一批次内去执行如果一个SQL语句出错,则该批次内所有的SQL都被取消执行MySQL事务处理只支持Innodb和BOB数据表类型1.2 事务的ACID原则:原子性,一致性,隔离性,持久性原子性(Atomic):(要么都成功,要么都失败)整个事务中所有操作,要么全部完成。要么全部不完成。不可能停滞在中间某个环节。事务

2020-10-24 19:44:37 190

原创 MySQL函数

MySQL函数1. 常用函数数据函数2. 聚合函数3. MD5加密SQL的顺序1. 常用函数数据函数数据函数SELECT ABS(-8); -- 绝对值abs 8SELECT CEILING(9.4); -- 向上取整 ceiling 10SELECT FLOOR(9.3); -- 向下取整floor 9SELECT RAND(); -- 随机数,返回一个0~1之间的随机数-- sign 符号函数,判断一个数是正数还是负数还是0SELECT SIGN(0); -- 符号函数:负数返回-1,

2020-10-23 23:42:57 193

原创 增删改查

增删改查DML语言1. insert(添加数据语句)2.修改updateDML语言1. insert(添加数据语句)语法:insert into 表名([字段名1,字段名2,字段名3]) values('值1','值2','值3');注意:字段或值之间用英文逗号隔开字段名与之必须一一对应可以同时插入多条数据,values后用英文逗号隔开INSERT INTO `grade`(`gradename`) VALUES('大二');-- 如果不写表的字段,只有表的名字,默认与null匹配

2020-10-23 20:18:38 409

原创 操作数据库

操作数据库1. 操作数据库2. 数据库的列类型3. 数据库的字段属性(重点)4. 数据表的类型1. 操作数据库操作数据库-- [方括号里面的可以写,也可以不写]CREATE DATABASE [IF NOT EXISTS] zhouquan;删除数据库DROP DATABASE IF EXISTS zhouquan;使用数据库:如果你的表名或者字段名是一个特殊的字符,就需要带 飘字符串在table上面-- 切换数据库,use 后面直接加数据库的名字USE `mybatis`

2020-10-19 12:21:24 161

原创 多对一和一对多

注解开发大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好接口应有两类:第一类是对一个个体的抽象,它可对应为一个抽象体(abstract class);第二类是对一个个体某一方面的抽象,即形成一个抽象面(interface);一个体有可能有多个抽象面。抽象体与抽象面是有区别的。三个面向区别面向对象

2020-10-17 09:41:35 179

原创 ResultMap结果集的映射

ResultMap的用法1.解决属性名和字段名不一致的问题方法1:sql中起别名方法2:使用结果集映射,resultMap2. 日志2.1 日志工厂2.2Log4j3. 分页limit实现分页1.解决属性名和字段名不一致的问题数据库中的字段如果和javabean里面的实体类的属性名不一致的话。怎么查询User{id=1, name='狂神', password='null'}查询出来发现 password 为空 . 说明出现了问题!分析:select * from user where id

2020-10-15 12:33:13 1003

原创 初始数据库

初始数据库关系型数据库和非关系型数据库什么是DBMSMySql的安装关系型数据库和非关系型数据库关系型数据库:MySQL , Oracle , SQL Server , SQLite , DB2 , …关系型数据库通过外键关联来建立表与表之间的关系非关系型数据库 : Redis , MongoDB , …非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定什么是DBMS数据库管理系统 ( DataBase Management System )

2020-10-07 16:13:08 549

原创 Mybaits的生命周期

Mybatis的生命周期对象工厂生命周期和作用域作用域的理解SqlSessionFactoryBuilderSqlSession对象工厂MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过有参构造方法来实例化。如果想覆盖对象工厂的默认行为,则可以通过创建自己的对象工厂来实现。【了解即可】生命周期和作用域作用域的理解SqlSessionFact

2020-10-06 19:07:24 140

原创 Mybatis的入门

Mybatis的入门1. Mybatis的入门1.1 持久化1. 2持久层1. Mybatis的入门MyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。1.1 持久化什么是持久化?持久化是将程序数据在持久状态和瞬时状态间转换的机

2020-10-06 17:17:10 178

原创 String类

字符串String类String当中与获取相关的常用方法有:字符串的截取方法:String当中与转换相关的常用方法有:String类程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。)字符串的特点:字符串的内容用不可变。正是因为字符串不可改变,所以字符串是可以共享使用的。字符串效果上可以相当于char[] 字符数组,但是底层原理是byte[] 字节数组。构造方法:String():创建一个空白的字符串,不含有任何内容。String(char[] arr

2020-10-02 17:43:19 113

原创 集合

集合ArrayList包装类ArrayList数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变。数组的长度不可以发生改变。但是ArrayList集合的长度是可以随意变化的。对于ArrayList来说,有一个尖括号代表泛型。泛型:也就是装在集合当中的所有元素的类型。注意:泛型只能是引用类型,不是基本类型。对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空的中括号:[]ArrayList当中的常用方法有:add(E e): 向集合当中添

2020-10-02 14:32:08 81

原创 异常

异常Exception:异常 指的是程序在执行过程中,出现的非正常的情况,最终会导致jvm的非正常停止。异常处理机制自定义异常总结Exception:异常 指的是程序在执行过程中,出现的非正常的情况,最终会导致jvm的非正常停止。异常值得并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行。java中把异常当做对象来处理,并定义一个基类java.lang.Throwable作为异常的超类。在java api中已经定义了许多异常的类,这些异常类分为两大类,错误:Error和异常Ex

2020-10-02 10:21:44 104

原创 内部类

内部类内部类就是一个类在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对于B类就是外部类了。成员内部类静态内部类局部内部类匿名内部类

2020-10-01 23:58:43 190

原创 抽象类和接口

抽象类抽象类接口抽象类抽象类的定义:修饰符可以用来修饰方法,也可以修饰类。如果修饰方法,那么就是抽象方法,如果修饰类,那么就是抽象类抽象类中可以没有抽象方法(即可以有普通方法),但是有抽象方法的类,一定要声明抽象类抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,子类必须覆盖重写抽象父类当中所有的抽象方法。抽象方法必须在抽象类中子类继承抽象类,那么就必须要实现抽象类没有实现的抽象的方法,否则该子类也要声明为抽象类。

2020-10-01 13:21:40 1778

原创 static关键字的使用

static如果一个成员变量使用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类,多个对象共享一份数据。如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。如果有了static关键字,那么不需要创建对象,直接就能通过类名称来使用它。无论是成员变量,还是成员方法。如果有了static,都推荐使用类名称进行调用。静态变量:类名称.静态变量静态方法:类名称.静态方法()静态不能直接访问非静态。原因:因为在内存当中总是【先】有静态内容,【后】有的非静态内容。

2020-09-30 15:51:02 180

空空如也

空空如也

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

TA关注的人

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