自定义博客皮肤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)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 Spring 事务学习笔记

事务概述1)在JavaEE企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发中必不可少的技术。2)事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作,这些操作要么都执行,要么都不执行。3)事务的四个关键属性(ACID)①原子性(atomicity):“原子”的本意是“不可再分”,事务的原子性表现为一个事务中涉及到的多个操作在逻辑上缺一不可。事务的原子性要求事务中的所有操作要么都执行,要么都不执行。②一致性(co

2020-08-12 18:46:14 104

原创 spring xml中如何引入外部配置文件

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="db.properties"></property></bean><!-- 引入属性文件 方法二 要引入context命名空间--><context:property-placeholder l..

2020-08-12 10:27:23 561

原创 Spring aop学习笔记

AOP面向切面编程,通过动态代理实现一个类加载器可以加载多个类如何获得代理对象?所有动态代理类全都继承Proxy类JDK中提供了Proxy类 有newProxyInstance方法创建代理实例,有三个参数类加载器 实现要代理类的接口 如何实现代理类接口的方法,用InvocationHandler实现,invoke方法实现代理对象通过实现目标对象实现的接口代理package com.atguigu.proxy;import java.lang.reflect.InvocationHandle

2020-08-12 10:04:19 106

原创 Spring ioc学习笔记

什么是框架?具有约束性的去支撑我们实现各种功能的半成品的项目MVC:客户端发送请求,由控制层进行处理,由模型层装载并传输数据,并且在视图层进行展示applicationContext.xml//Spring配置文件默认的名字,名字可以变 初始化容器的时候需要写配置文件路径,把名字写进去就行xml中头部的地址是命名空间在实体类中使用setXx方法注入赋值<bean id="person唯一标识" class="此对象所属类的全类名(指定对象属于哪个类)"> <property

2020-08-11 09:48:32 88

原创 HashMap哈希表

哈希表用空间换时间 在创建表时申请的内存要大于数据长度JDK1.8解决哈希冲突方法:默认使用单向链表将元素串起来;当哈希表容量≥64且单向链表的节点数>8链表转换成红黑树为什么使用单链表不用双向链表?1.使用单链表对比key,每次从头节点开始遍历,对比key是否相同,相同则替换 不同就在尾部添加;2.单链表比双链表少一个指针,可以节省内存空间哈希表中哈希函数的实现步骤1.先生成kye的哈希值(必须为int整数)2.再让key的哈希值跟数组大小进行相关运算,生成索引值public int ha

2020-08-06 17:57:49 158

原创 Redis五种数据结构的基本操作

Redisredis操作命令练习Redis 规定了字符串的长度不得超过 512 MB。1)字符串 string对字符串的基本操作设置和获取键值对使用 SET 和 GET 来设置和获取字符串值。> SET key valueOK> GET key"value"批量设置键值对> SET key1 value1OK> SET key2 value2OK> MGET key1 key2 key3 # 返回一个列表1) "value1"2) "v

2020-08-04 16:46:02 118

原创 异常处理

异常的处理抛出异常throwthrow用在方法内,用来抛出一个异常对象,将这个异常对象传递到调用者处,并结束当前方法的执行。使用的格式:throw new 异常类名(参数);任何Java代码都可以抛出异常,从方法中抛出的任何异常都必须使用throws子句 RuntimeException及其子类不用声明抛出异常throws运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常throws语句用在方法定义时声明该方法要抛出的异常类型,如果抛出的是Exception异常

2020-08-04 10:59:15 78

原创 Controller测试service之间事务机制,对事务的总结

@Transactional注解只会处理抛出的异常,也就是运行时异常throw new RuntimeException,加上rollbackFor=Exception.class,可以让事物在遇到非运行时异常时也回滚测试:写两个service,都对数据有相同的操作,一个抛出异常,一个正常服务,都加事务注解,测试结果如果正常服务在前,正常service会执行,异常service不执行;如果异常服务在前不会执行会回滚,正常service也不会执行正常service调用抛出异常service会回滚还是

2020-07-31 14:29:10 384

转载 SpringMVC

SpringMVCIDEA创建springmvc项目打开 web.xml ,按照下图完成修改:把<url-pattern>元素的值改为 / ,表示要拦截所有的请求,并交由Spring MVC的后台控制器来处理编辑 dispatcher-servlet.xml这个文件名的开头 dispatcher 与上面 web.xml 中的 <servlet-name> 元素配置的 dispatcher 对应,这是 Spring MVC 的映射配置文件(xxx-servlet.xml),

2020-07-21 16:15:47 76

转载 Spring03AOP

Spring AOP第一步:选择连接点package pojo;import org.springframework.stereotype.Component;@Component("landlord")public class Landlord { public void service() { // 仅仅只是实现了核心的业务功能 System.out.println("签合同"); System.out.println("收房租")

2020-07-20 16:04:55 71

转载 Spring02

Spring IoC 容器的设计Spring IoC 容器的设计主要是基于以下两个接口:BeanFactoryApplicationContextBeanFactory从上图中我们可以几乎看到, BeanFactory 位于设计的最底层,它提供了 Spring IoC 最底层的设计,为此,我们先来看看该类中提供了哪些方法:【getBean】 对应了多个方法来获取配置给 Spring IoC 容器的 Bean。① 按照类型拿 bean:bean = (Bean) factory.getBe

2020-07-20 10:44:17 95

转载 Sping01

IoC:Inverse of Control(控制反转)就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。正控:若要使用某个对象,需要自己去负责对象的创建反控:若要使用某个对象,只需要从 Spring 容器中获取需要使用的对象,不关心对象的创建过程,也就是把创建对象的控制权反转给了Spring框架编写第一个 Spring 程序package pojo;public class Source { private String fruit; // 类型 p

2020-07-20 10:23:23 85

转载 JavaScript基础基础基础

模板字符串ES6新增了一种模板字符串,它会自动替换字符串中的变量:var name = '小明';var age = 20;console.log(`你好, ${name}, 你今年${age}岁了!`);//你好, 小明, 你今年20岁了!toUpperCase字符串全部改为大写toLowerCase字符串全部变为小写var s = 'Hello';s.toUpperCase(); // 返回'HELLO'substring返回指定索引区间的子串:var s = 'hello, w

2020-07-16 15:15:48 87

原创 常用注解

@Transactional//事务事务最简单最直接的目的就是保证数据的有效性,数据的一致性。@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。@ResponseBody:将返回的值直接写到Http的响应体中,不需要替换为Spring的Model或者解析为视图,相当于response.getWriter.write();当使用了J

2020-07-13 18:06:02 156

原创 20.7.8一些Git的命令和用法

Git#初始化仓库git init#添加到暂存区git add {filename.xx} //一次也能添加多个#提交到当前分支git commit -m “xxx”需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。git commit只负责把暂存区的修改提交#查看仓库状态git status#查看提交日志git log#查看简单日志git log --pretty=oneline#回到之前某一版本git reset --hard {commit id} /

2020-07-08 17:21:51 75

原创 7.7实习的第不知道多少天

就是简单的做个日记,检索一下每天学习的内容StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等除了构造器,StringUtils 中一共有130多个方法,并且都是 static 的,所以我们可以这样调用 StringUt

2020-07-08 13:27:19 71

转载 TCP/UDP的概述与区别

TCP UDP都在传输层:UDP用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。当报文发送之后,是无法得知其是否安全完整到达的。1.面向无连接UDP 是不需要和 TCP一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。具体来说就是:在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了在接收端,网络层将数据

2020-07-01 13:38:40 111

原创 新手初学Bootstrap

Bootstrap添加样式引用在 header 中添加 bootstrap 的样式引用。注意路径。<link href="css/bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="css/bootstrap/css/bootstrap-theme.min.css" rel="stylesheet"/>bootstrap.min.css 是 bootstrap 的样式文件,包含了所有的 boot

2020-06-04 19:45:06 140

原创 asp.net如何对LinkButton标签设置点击次数的限制。

一开始我是这样写的,可是没有反应private int clickCount = 0;protected void LinkButton1_Click(object sender, EventArgs e){clickCount++;if (clickCount <= 2){string sqla = “update yonghu set 积分=积分+50 where id=1”;bool k = dbhelp.savesql(sqla);TYQ.JsHelper.AlertAndR

2020-05-29 22:05:08 274

JavaWeb图书馆管理系统.zip

一个图书馆管理系统,有查询浏览所有图书模块,编辑图书模块,添加图书模块,用户借书还书模块,用户黑名单白名单更改模块。

2020-06-03

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

TA关注的人

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