自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KMP关于next数组解析

定义一个字符串为ABABC算法如下:Next[0] = 0

2020-07-27 12:51:03 81

原创 web中斜杆的意义

web 中 / 斜杠的不同意义在 web 中 / 斜杠 是一种绝对路径。/ 斜杠 如果被浏览器解析,得到的地址是:http://ip:port/,即站点的根目录<a href="/">斜杠</a>/ 斜杠 如果被服务器解析,得到的地址是:http://ip:port/工程路径,工程路径如下:关于前端页面(jsp/html)路径前面加"/“与不加”/"的区别如在jsp页面引入js时候使用以下两个路径:<script type="text/javasc

2020-07-23 22:16:32 376

原创 声明式事务和基于xml配置的事务

<!-- 配置声明式事务 1)、Spring中提供事务管理器(事务切面),配置这个事务管理器 2)、开启基于注解的事务式事务;依赖tx名称空间 3)、给事务方法加注解 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!-- 事务管理器要能控制事务,其实是相对于控制住Conne

2020-07-23 15:18:40 186

原创 事务的隔离级别

一、数据库事务并发问题假设现在有两个事务:Transaction01和Transaction02并发执行。脏读[1]Transaction01将某条记录的AGE值从20修改为30。[2]Transaction02读取了Transaction01更新后的值:30。[3]Transaction01回滚,AGE值恢复到了20。[4]Transaction02读取到的30就是一个无效的值。不可重复读[1]Transaction01读取了AGE值为20。[2]Transaction02将AGE值修

2020-07-22 18:14:35 272

原创 Spring事务的传播行为

Spring事务的传播行为简介当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。事务的传播行为可以由传播属性指定。Spring定义了7种类传播行为。①事务传播属性可以在@Transactional注解的propagation属性中定义。②有事务的业务逻辑,容器中保存的是这个业务逻辑的代理对象@Servicepublic class BookService { @Autowired Boo

2020-07-22 17:46:03 234

原创 AOP底层_动态代理

1、 对于实现了接口的被代理对象而言,AOP进行切面编程,会利用jdk的动态代理完成代理对象的生成,实际上容器启动为MyMathCalculator创建的对象是一个代理对象class com.sun.proxy.$Proxy12,所以不能用本类MyMathCalculator.class从容器中获取,由于代理对象和被代理对象共同实现了接口,所以根据类型获取代理对象的话要根据实现的接口类型获取,2、 对于没有实现接口的被代理对象,IOC容器中存在的是class com.atguigu.impl.MyMath

2020-07-21 22:23:18 194

原创 IOC容器初始化创建单实例对象源码分析

Spring(IOC)IOC:(Inversion(反转) Of Control):控制反转; 控制:资源的获取方式; 主动式:(要什么资源都自己创建即可) BookServlet{ BookService bs = new BookService();

2020-07-21 20:25:03 275

原创 Deque的用法

Deque的用法采用父类引用指向子类对象,面向抽象编程的原则是尽量使用接口而不使用实现类

2020-07-20 18:01:16 153

原创 SpringAOP04

基于配置的AOP<?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.springframework.org/schema/context" xmlns:aop="http://www

2020-07-17 17:09:08 116

原创 SpringAOP03_2

环绕通知环绕通知@Aspect@Componentpublic class LogUtils { /** * @throws Throwable * @Around:环绕 :是Spring中强大的通知;顺序正常 * @Around:环绕:动态代理; * try{ * //前置通知 * method.invoke(obj,args); * //返回通知 * }catch(e){ * //异常通知 * }finally{

2020-07-17 16:52:30 486

原创 SpringAOP03_1

AOP细节——抽取可重用的切入点表达式@Aspect@Componentpublic class LogUtils { /** * 告诉Spring每个方法都什么时候运行; * try{ * @Before * method.invoke(obj,args); * @AfterReturning * }catch(e){ * @AfterThrowing * }finally{ * @After * } * * 5个通知注解

2020-07-17 15:52:58 151

原创 SpringAOP02_2

切入点表达式和切入点/** * 如何将这个类(切面类)中的这些方法(通知方法)动态的在目标方法运行的各个位置切入 * @author lfy * */@Aspect@Componentpublic class LogUtils { /** * 告诉Spring每个方法都什么时候运行; * try{ * @Before * method.invoke(obj,args); * @AfterReturning * }catch(e){ * @Af

2020-07-17 15:16:19 111

原创 SpringAOP01(动态代理的java实现)

动态代理接口类package com.czl.inter;public interface Calculator { public int add(int i, int j); public int sub(int i, int j); public int mul(int i, int j); public int div(int i, int j);}接口实现类(被代理类)public class MyMathCalculator imple

2020-07-17 15:00:37 104

原创 SpringAOP02_1

AOP实现日志切入AOP:(Aspect Oriented Programming)面向切面编程;OOP:(Object Oriented Programming )面向对象编程;面向切面编程:基于OOP基础之上新的编程思想;指在程序运行期间,将某段代码动态的切入到指定方法的指定位置进行运行的这种编程方式,面向切面编程;场景:计算器运行计算方法的时候进行日志记录;加日志记录:1)、直接编写在方法内部;不推荐,修改维护麻烦; 日志记录:系统的辅助功能; 业务逻辑:(核心功能) 耦合;

2020-07-17 14:53:24 119

原创 SpringIOC04

泛型依赖注入public class BaseService<T> { //因为Spring中可以使用带泛型的父类类型来确定这个子类的类型 //所以在Spring初始化的时候,在IOC容器中BookDao继承了 BaseDao<Book>,BookDao的父类是BaseDao<Book>,实际上BookDao在IOC容器中是BaseDao<Book>类型 //在IOC容器中UserDao继承了 BaseDao<User>,

2020-07-17 13:40:11 100

原创 SpringIOC03

public class IOCTest { ApplicationContext ioc = new ClassPathXmlApplicationContext("applicationContext.xml"); /** * 使用注解加入到容器中的组件,和使用配置加入到容器中的组件行为都是默认的一样的。 * 1、组件的id默认就是组件的类名首字母小写 * @Repository("bookdaoHaha)//修改id * p

2020-07-17 01:18:35 152

原创 SpringIOC02_3

为自定义类型赋值public class Person { //基本类型直接使用 //<property name="lastName" value="小花"></property>自动的进行类型转换; private String lastName = "小明"; private Integer age; private String gender; private String email; private Double salary; private

2020-07-17 01:18:22 59

原创 SpringIOC02_2

引用外部属性文件<!--实验12:引用外部属性文件★依赖context名称空间 --> <!-- 数据库连接池作为单实例是最好的;一个项目就一个连接池,连接池里面管理很多连接。连接是直接从连接池中拿 --> <!-- 可以让Spring帮我们创建连接池对象,(管理连接池) --> <!--property-placeholder加载外部配置文件 固定写法classpath:,表示引用类路径下的一个资源--> <context:prope

2020-07-17 01:18:08 86

原创 SpringIOC02_1

创建带有生命周期方法的bean/** *单例: Bean的生命周期 * (容器启动)构造器---->初始化方法---->(容器关闭)销毁方法 *多实例: * 获取bean(构造器--->初始化方法)--->容器关闭不会调用bean的销毁方法 * Spring有一个接口:后置处理器:可以在bean的初始化前后调用方法; 无论bean是否有初始化方法;后置处理器都会默认其有,还会继续工作; *后置处理器: * (容器启动)构造器------后置处理器b

2020-07-17 01:17:52 90

空空如也

空空如也

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

TA关注的人

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