- 博客(47)
- 收藏
- 关注
原创 2021-09-16
Git 无法 pull idea git pull失败idea git pull失败错误提示信息Can not Update No tracked branch configured for Branch dev or the branch doesn't exist ,To make your branch track a remote branch call ,for example,git branch --set-upstream-to=orgin/dev dev复制最后一句git命
2021-09-16 10:24:26
129
原创 前后端分离存在跨域问题
前后端分离存在跨域问题跨域二级目录三级目录跨域在前后端分离之前,用的都是一个端口号,不存在跨域问题;但是之后前端有一个端口,后端也有一个端口如:后端8888前端:8080二级目录三级目录...
2021-02-28 17:25:35
2130
2
原创 SpringBoot整合Mybatis
SpringBoot整合Mybatis搭建环境搭建环境。1.下载资源更快:https://start.aliyun.com/,如果选Default那么加载资源慢2.选择要导入的依赖:Spring Web,MySQL Driver,JDBC API3.pom.xml导入整合Mybatis的依赖SpringBoot官方并没有提供如何整合,mybatis-spring-boot-starter是Mybatis官方提供的,其中还有对SpringBoot整合Mybatis的版本要求 &
2021-02-19 21:56:11
247
1
原创 SpringBoot 2.3.7.整合JDBC+Druid
SpringBoot整合JDBCSpring DataSpringBoot整合JDBC但是这里发生了一个小插曲,由于是跟随视频学习,有很多错误的操作三级目录Spring Data对于数据访问层不管是关系型数据库还是非关系型数据库,SpringBoot底层都是采用SpringData的方式进行统一处理数据库SpringBoot整合JDBC1.搭建SpringBoot项目2.配置数据库相关信息(这里使用application.yaml配置 )spring: datasource: d
2021-02-18 23:51:17
810
原创 关于SpringCloud出生的前因
关于SpringCloud出生的前因业务架构的演变1.单体架构:一个war,一个进程面向服务的架构:SOA架构微服务时代微服务要解决的问题Spring生态为何要使用SpringSpringCloud总结业务架构的演变1.单体架构:一个war,一个进程从运维者的角度:一个小小的改动,需要把整个项目重新打包部署从业务的角度拆分:用户模块,订单模块,商品 模块------>单独部署成一个个war包2.随着网民,并发数增加之后为了满足更高的要求:商品模块-------->N 个 商品模块-
2021-02-17 13:48:18
134
1
原创 JVM的初始认识
JVM的初始认识什么是JVM1.JVM是Java跨语言平台的根本。(屏蔽操作系统和硬件的差异化:java一次编写到处运行)2.JVM是虚拟机架构,拥有自己的指令集(JVM提供了一套标准的指令)和不同运行时期的内存区域3.JVM只在乎 class file(字节码文件),JVM是一个多语言的平台(不单单为我们的Java语言服务)字节码及类装载机制类的加载过程加载:查找class文件(如何查找:类的全限定类名获取class文件)并导入到JVM运行时数据区链接初始化:为类的静态变量赋值,然后执行类的static语
2021-02-17 11:05:58
178
2
原创 SpringBoot的两大特性
SpringBoot的两大特依赖管理自动配置依赖管理1.pom.xml<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </paren
2021-02-02 16:23:40
1508
原创 SpringBoot的学习路线和入门
SpringBoot的学习路线和入门spring的学习路线SpringBoot入门搭建spring的学习路线SpringBoot入门搭建
2021-01-31 19:06:59
1106
2
原创 MySQL 数据库执行原理及SQL 的优化学习记录
SQL优化MySQL版本:MySQL 5.5 的安装MySQL版本: 1.目前MySQL已经到了8.几版本,但是一般不用最新的,主流的为5.4-5.x:MySql 整合了三方公司的新存储引擎(推荐5.5 和5.7 本节是 5.5 版本) 2.Linux下的安装 MySQL5.5 一般有三种安装方式 yum 、tar.gz 、rpm(本文章记录的是rpm安装方式)MySQL 5.5 的安装1.使用cd命令切换路径 ,切到自己想要安装MySQL5.5的路径里 cd /
2021-01-03 19:13:14
145
原创 整合ssm
整合ssm创建一个数据库导入依赖(pom.xml)搭建包controller 、service、dao 、domain编写 spring整合Mybatis框架编写 spring整合SpringMVC框架首先搭建SpringMVCSpring整合SpringMVC使用监听器去加载spring的配置文件创建一个数据库create database ssm;use ssm;create table account(id int primary key auto_increment,name varch
2020-12-30 23:28:13
126
原创 mybatis异常 :WARNING: An illegal reflective access operation has occurred
在pom.xml文件中将mybatis的版本升至3.5.2以上
2020-12-29 21:37:19
400
原创 SpringMvc的常用注解介绍
SpringMvc的常用注解介绍@RequestMapping 注解@RequestMapping 注解的属性和请求参数绑定相关的注解二级目录二级目录二级目录@RequestMapping 注解作用:用于建立请求URL和处理请求的方法之间的对应关系(客户端会发送请求,服务器端会有一个方法处理该请求,RequestMapping这个发给发就是建立这两者之间的关系)源码:1.出现在类上:可以让我们的URL按照模块化去管理例如常见的电子商城网站:有用户模块,订单模块,这两个模块都有对数据库数据的
2020-12-26 01:42:58
222
原创 Filter过滤器的作用
Filter过滤器的作用Filter的作用:过滤器处于客户端和服务器端资源之间,对所有的请求或者响应进行拦截操作Filter过滤器在开发过程中的实际运用:Servlet 开发和Filter开发做对比Servlet开发Filter开发Filter的作用:过滤器处于客户端和服务器端资源之间,对所有的请求或者响应进行拦截操作1:以常规的方式调用资源(Servlet/JSP);2:利用修改过的请求信息调用资源;3:调用资源之后,但在响应到客户端之前,对响应做出修改;4:阻止当前资源调用,代之转到其他资源
2020-12-24 15:35:49
3655
2
原创 Spring 基于XML或注解的声明式事务控制
Spring 基于XML或注解的声明式事务控制基于XML的声明式事务控制声明式事务控制的代码准备Spring 基于xml的声明式事务控制的步骤基于注解的声明式事务控制基于XML的声明式事务控制声明式事务控制的代码准备包的结构dao包package com.itheima.dao;import com.itheima.domain.Account;/** * 账户的持久层接口 */public interface IAccountDao { /** * 根据Id查
2020-12-15 22:07:20
225
原创 Spring中事务控制的一组API
Spring中事务控制的一组API事务控制Spring中事务控制( Spring中事务控制的API)PlateformTransactionManager接口TransationDefinition :事务的定义信息对象TransationStatus:此接口提供的是事务具体的运行状态事务控制JavaEE 体系进行分层开发,事务控制和处理处于业务层 如果想要在业务层进行事务控制有两种方法:1.
2020-12-15 17:22:50
146
原创 spring 基于xml的AOP实现事务控制
**将事务控制类(TransactionManager)看成是一个通知类 **1.导入spring 开启AOP的约束(在bean.xml)<?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:aop=
2020-12-15 12:45:10
100
原创 Spring基于注解的aop配置
Spring基于注解的aop配置1.配置xml<?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:aop="http://www.springframework.org/schema/aop"
2020-12-14 16:46:27
97
原创 Spring 基于XML的AOP配置步骤
Spring 基于XML的AOP配置步骤AOP中的一些术语Spring 基于xml的AOP中配置步骤AOP中的一些术语连接点(Joinpoint):是指被拦截到的那些点,在spring 这些点指的是方法,spring 只支持方法类型的连接点。既准备被增强的方法。切入点(Pointcut):所谓切入点是指我们对哪些JoinPoint进行拦截的定义(指的是被增强的方法,如果该方法没有增强代码那么他就不是切入点,只是连接点)通知/增强(Advice):拦截到 切入点之后要做的事情就是通知(
2020-12-14 15:51:25
226
原创 代理模式
代理模式介绍代理模式的UML代理模式的优点代理模式的应用场景静态代理模式缺点动态代理模式优点缺点介绍代理模式就是多出一个代理类来,替原对象进行一些操作。比如:我们在需要租房子的时候回去找中介,因为我对该地区的房屋信息掌握的不够全面,希望找一个更 熟悉的人帮我找,此处就是代理的意思,中介就相当于代理类。代理解决什么问题:当两个类需要通信的时候,引入第三方代理类,将两个类的关系解耦,让我们只了解代理类即可,而且代理的出现可以让我们完成与另一个类之间关系的统一管理。代理类和委托类都要实现相同的接口,因为
2020-12-12 16:51:40
259
原创 IDEA之Override is not allowed when implementing interface method
今天用IDEA2018写代码,发现实现接口并实现了接口的方法之后@override报错,后来上网查了一下原因。@override是从JDK1.5出现的,用来标注方法的重写、实现的接口的方法。@Override作用:能够保证你正确重写方法,当你重写方法出错时,比如方法名误写,漏掉参数,编译器会提示编译错误。出现以上问题是由于编译器的版本过低的问题。编译器1.5的@override只支持注释重写父类方法,而不支持实现接口方法。将编译器的版本设置高于1.5即可File ——> Project St
2020-12-11 20:03:58
155
原创 Java 线程的基本控制
Java 线程的基本控制yield()sleep()join()软件系统在实际运行过程中经常会有多个线程并发执行的情形发生,而且需要在特定时间或者条件下对哪一个线程的运行和停止进行控制,因此Java提供了几种方法对线程进行控制。相同优先级的线程d的让步(yield )线程的休眠(sleep)线程的挂起(suspend)和恢复(resume)线程的等待(wait)和通知(notify)yield()yield() 方法强制当前运行的线程让出虚拟CPU的使用权,使当前运行 的线程从运行状
2020-12-04 20:23:38
109
原创 Java多线程之线程的创建、优先级
Java多线程进程线程线程的生命周期创建线程线程的优先级进程正在运行中的程序。每个进程都拥有自己(独立)的系统资源、内存空间和地址空间线程线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。线程的生命周期新建状态(new )、可运行状态(runnable)、运行状态(running )、阻塞状态(blocked)、终止状态(dead)当线程处于新建状态的时候,表明此时线程的对象实例已经被创建,但是尚未取得运行线程所需要的资源产生了对象的实例之后
2020-12-04 18:31:35
666
原创 Spring整合JUnit
Spring整合JUnit我们都知道程序的入口,是main()方法。在JUnit测试中集成了一个main()方法,该方法会判断当前测试类中哪些方法有@Test注解,junit就会让有Test注解的方法执行,但是junit不会管我们是否采用了spring框架,也根本不知道我们是否使用了spring框架,所以在使用JUnit 的init()方法将“读取配置文件并创建核心容器”这部分共同代码提到一起的时候,Junit不会为我们读取配置文件和创建核心 容器。问题来了,我们如何让Junit知道我们使用了sprin
2020-11-21 00:57:57
737
原创 Collection接口下的Set、List
Collection接口下的Set集合Collection接口介绍Collection接口的常用方法Set集合HashSetTreeSetCollection接口介绍Collection接口是List接口和Set接口的父接口,通常情况不会直接使用,Collection接口中定义了一些通用的方法,通过他们可以实现对集合的添加、删除、等基本操作。List接口和Set接口实现了Collection接口,所有这些方法对List和Set集合是通用的。Collection接口的常用方法add(E ob
2020-11-13 21:43:52
464
原创 Spring新注解Configuration、ComponentScan、Bean 、Import 、PropertySource
Spring新注解Spring新注解@Configuration@ComponentScan/ComponentScans@BeanSpring新注解@Configuration表明当前类是一个配置类。他的作用和bean,xml一样@ComponentScan/ComponentScans-------- 作用:用于Spring 在创建容器时要扫描的包--------属性value/basePackages:两者的功能都是一样的 <context:component-scan base-p
2020-11-12 01:03:54
446
原创 Spring基于注解的IOC入门
Spring基于注解的IOC入门模拟表现层,业务层,持久层的类基于注解的IOC配置Maven工程 pom.xml导入spring依赖配置bean..xml文件在com.itheima包下的任意类 使用注解@Component运行结果模拟表现层,业务层,持久层的类基于注解的IOC配置Maven工程 pom.xml导入spring依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.or
2020-11-03 21:57:28
183
原创 Spring之ApplicationContext的三个实现类、ApplicationContext和BeanFactory的区别
ApplicationContext的三个实现类、ApplicationContext和BeanFactory的区别ApplicationContext的三个实现类ClassPathXmlApplicationContextFileSystemXmlApplicationContextAnnotationConfigApplicationContextApplicationContext和BeanFactoryApplicationContext的三个实现类ClassPathXmlApplication
2020-11-02 01:03:01
578
原创 基于Java的设计模式——工厂模式
工厂模式工厂模式前言介绍意图优点缺点简单工厂模式(工厂模式的特例)抽象产品类具体产品类工厂类测试工厂模式抽象工厂具体工厂抽象产品具体产品测试工厂模式前言工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,而是通过使用一个共同的接口来指向新创建的对象。介绍意图定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到
2020-11-01 02:05:31
98
原创 Spring基于xml之IOC的环境搭建和 入门案例
Spring基于xml之IOC的环境搭建和 入门创建Maven工程(Create New Project)pom.xml导入依赖在类路径下创建xml文件,导入约束入门案例创建三个类和两个接口,因为创建的是Maven工程而不是web工程因此Client模拟表现层,Service模拟业务层,Account模拟持久层(表现层调用业务层,业务层再调用持久层)1.创建Client.java2.创建IAccountService 接口和实现类AccountServiceImpl3.创建IAccountDao接口和实现类
2020-10-31 18:11:07
133
原创 Spring入门的前期介绍
Spring入门的前期Spring的介绍概述spring的优势Spring的体系结构1.方便解耦,简化开发Spring的介绍概述 Spring是分层的JavaSE/EE应用full-stack(全栈)轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展示层SpringMVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应
2020-10-28 02:08:27
72
原创 Java反射小入门
反射2020-10-27的今天,我突然看到一个java术语 “反射”,握草了,顿时去翻看大学时的Java课本,找了半天也没有发现反射的字眼。学校哪里买的书,都不介绍一下,质量怎么差的书,管不得大学都快成为义务教育了,好了,小小的吐槽了一下大学,下面言归正传。概述Java反射机制是在运行状态中,对于任意一个类,都能获得这个类的方法和属性,对于任意一个对象都能调用它的方法和属性,这种动态的获取信息和动态调用对象的方法的功能称为java的反射机制,反射就是将类中的成员分解为一个个对象。.
2020-10-27 16:38:05
63
原创 Mybatis注解开发之多表查询及如何打开延迟加载和缓存
Mybatis注解之多表查询注解建立实体类属性和数据库表中列的对应关系注解开发一对一查询配置创建两个实体类User.java和Account.java创建两个Dao接口IUserDao和IAccountDao配置SqlMapConfige.xml和pom.xml文件(*省略*)封装account(使用注解开发)+Results源码分析创建测试类注解开发一对多查询配置一对多关系映射封装Account数据注解开启二级缓存注解建立实体类属性和数据库表中列的对应关系当实体类属性与数据库表的字段名不一致时,注解
2020-10-26 19:13:28
149
原创 Mybatis中的缓存
Mybatis中的一级缓存和二级缓存Mybatis中的缓存一级缓存二级缓存Mybatis中的缓存什么是缓存:存在于内存中的临时数据为什么使用缓存:减少和数据库的交互次数,提高查询速度。什么样的数据能使用缓存?什么样的数据不能使用缓存?----------------------------适用于缓存:经常查询并且数据步经常改变的。----------------------------------------------数据的正确与否对最终结果影响不大的。------------------
2020-10-25 21:02:13
149
原创 Mybatis延迟加载
Mybatis延迟加载延迟加载如何实现延迟加载一对一方式延迟加载一对多方式延迟加载延迟加载延迟加载:真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载)。优点:先从单表查询,需要时再从关联表去关联查询,大大提高了数据库的性能,因为查询单表要比关联查询多张表的速度快的多。立即加载:不管用不用,只要一调用方法,马上发起查询。如何实现延迟加载 - 我们在进行多表的操作时,在配置文件中通过resultMap实现一对多、 多对一和一对一关系的操作,主要是通过association、
2020-10-24 15:52:09
70
原创 Mybatis多表查询
这里写目录标题一对一-建立实体类关系的方式二级目录三级目录一对一-建立实体类关系的方式一对一-建立实体类关系的方式二级目录三级目录介绍:主表:在数据库中建立的表格即Table,其中存在主键(primary key)用于与其它表相关联,并且作为在主表中的唯一性标(通俗的说就是只有主键没有外键并且主键是其他表的外键)从表:以主表的主键(primary key)值为外键 (Foreign Key)的表,可以通过外键与主表进行关联查询。从表与主表通过外键进行关联查询。一对一-建立实体类关系的方式
2020-10-16 00:34:29
188
原创 Mybatis动态sql-if、where、foreach标签的使用
if标签: 在映射配置文件中<select id="findUserByCondition" resultType="user" parameterType="user"> select * from user where 1=1 <if test="username!=null"> and username = #{username} </if> <
2020-10-15 11:32:52
593
原创 Mybatis--properties标签与typeAlias标签
properties配置数据库信息第一种写法:第二种写法:在Configuration内的最顶部使用properties在property的属性value使用 ${properties中property的name的值}<configuration> <!--配置properties--> <properties> <property name="driver" value="com.mysql.cj.jdbc.D
2020-10-12 15:42:41
136
原创 Mybatis的参数-resultType
@TOCMybatis的参数-resultType(返回结果类型)1.输出基本类型 int,String等。2.输出pojo对象(查询一个)3.输出pojo列表(查询所有)Mybatis 当使用查询的封装的时候要求实体类属性和数据库字段名一致,当不一样的时候怎么办?。user表:User.java private Integer id; private String username; private Date birthday; private String
2020-10-11 20:48:50
593
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人