自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring框架

8.5 事务的传播行为8.5.1 简介当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。事务的传播行为可以由传播属性指定。Spring定义了7种类传播行为。事务传播属性可以在@Transactional注解的propagation属性中定义。8.5.2 测试说明①REQUI...

2019-11-04 16:08:21 201

原创 Spring框架

8.3 测试数据准备8.3.1 需求8.3.2 数据库表 CREATE TABLE book ( isbn VARCHAR (50) PRIMARY KEY, book_name VARCHAR (100), price INT ) ; CREATE TABLE book_stock ( isbn V...

2019-11-04 16:01:47 157

原创 Spring框架

第8章 声明式事务8.1事务概述在JavaEE企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发中必不可少的技术。 事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作,这些操作要么都执行,要么都不执行。 事务的四个关键属性(ACID) ①原子性(atomicity):“原子”的...

2019-11-04 16:00:06 193

原创 Spring框架

7.5 使用JdbcTemplate实现Dao通过IOC容器自动注入JdbcTemplate类是线程安全的,所以可以在IOC容器中声明它的单个实例,并将这个实例注入到所有的Dao实例中。 @Repository public class EmployeeDao { @Autowired priva...

2019-11-04 15:08:49 153

原创 Spring框架

7.3 持久化操作增删改JdbcTemplate.update(String, Object...)批量增删改JdbcTemplate.batchUpdate(String, List<Object[]>) Object[]封装了SQL语句每一次执行时所需要的参数 List集合封装了SQL语句多次执...

2019-11-04 15:06:24 101

原创 Spring框架

第7章 JdbcTemplate7.1 概述 为了使JDBC更加易于使用,Spring在JDBC API上定义了一个抽象层,以此建立一个JDBC存取框架。 作为Spring JDBC框架的核心,JDBC模板的设计目的是为不同类型的JDBC操作提供模板方法,通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低。 ...

2019-11-04 14:54:33 116

原创 Spring框架

第6章 以XML方式配置切面6.1 概述 除了使用AspectJ注解声明切面,Spring也支持在bean配置文件中声明切面。这种声明是通过aop名称空间中的XML元素完成的。 正常情况下,基于注解的声明要优先于基于XML的声明。通过AspectJ注解,切面可以与AspectJ兼容,而基于XML的配置则是Spring专有的。由于AspectJ得到越来越...

2019-11-04 14:42:45 148 1

原创 Spring框架

5.4 重用切入点定义在编写AspectJ切面时,可以直接在通知注解中书写切入点表达式。但同一个切点表达式可能会在多个通知中重复出现。 在AspectJ切面中,可以通过@Pointcut注解将一个切入点声明成简单的方法。切入点的方法体通常是空的,因为将切入点定义与应用程序逻辑混在一起是不合理的。 切入点方法的访问控制符同时也控制着这个切入点的可见性。如果切入点要在多个切面中共用,最好将它们...

2019-11-04 14:40:40 98

原创 Spring框架

第5章 AOP细节5.1 切入点表达式5.1.1 作用 通过表达式的方式定位一个或多个具体的连接点。5.1.2 语法细节切入点表达式的语法格式 execution([权限修饰符] [返回值类型] [简单类名/全类名] [方法名]([参数列表])) 举例说明 表达式 execution(* com.atguigu....

2019-11-04 14:37:25 126

原创 Spring框架

4.3 AspectJ4.3.1 简介AspectJ:Java社区里最完整最流行的AOP框架。在Spring2.0以上版本中,可以使用基于AspectJ注解或基于XML配置的AOP。4.3.2 在Spring中启用AspectJ注解支持导入JAR包com.springsource.net.sf.cglib-2.2.0.jar com.springsource.o...

2019-11-04 14:35:45 102

原创 第15章 多线程

15.2.3 Thread类构造方法 Thread():创建新的Thread对象 Thread(String threadname):创建线程并指定线程实例名 Thread(Runnable target):指定创建线程的目标对象,它实现了Runnable接口中的run方法 Thread(Runnable target, String name):创建新的Thread对象 ...

2019-10-14 09:14:45 123

原创 第15章 多线程

15.2 Java中多线程的创建和使用public class Sample { public void method1(String str){ System.out.println(str); } public void method2(String str){ method1(str); } publi...

2019-10-14 09:13:12 131

原创 第15章 多线程

15.1 程序、进程、线程的概念程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process)是程序的一次执行过程,或是正在运行的一个程序。动态过程:有它自身的产生、存在和消亡的过程。 如:运行中的QQ,运行中的MP3播放器 程序是静态的,进程是动态的 线程(thread),进程可进一步细化为线程,是一个程序内部的一...

2019-10-14 09:09:23 125

原创 第14章 Java反射机制

14.7.3 动态代理与AOP(Aspect Orient Programming)前面介绍的Proxy和InvocationHandler,很难看出这种动态代理的优势,下面介绍一种更实用的动态代理机制改进后的说明:代码段1、代码段2、代码段3和深色代码段分离开了,但代码段1、2、3又和一个特定的方法A耦合了!最理想的效果是:代码块1、2、3既可以执行方法A,又无须在程序中以硬编码的方...

2019-10-14 09:08:02 124

原创 第14章 Java反射机制

14.7 反射的应用:动态代理14.7.1 Java动态代理之前为大家讲解过代理机制的操作,属于静态代理,特征是代理类和目标对象的类都是在编译期间确定下来,不利于程序的扩展。同时,每一个代理类只能为一个接口服务,这样一来程序开发中必然产生过多的代理。 最好可以通过一个代理类完成全部的代理功能 动态代理是指客户通过代理类来调用其它对象的方法,并且是在程序运行时根据需要动态创建目标类的代理...

2019-10-14 09:05:57 247 1

原创 第14章 Java反射机制

14.6 调用运行时类的指定属性、指定方法等14.6.1 通过反射调用类中的指定方法、指定属性1.调用指定方法通过反射,调用类中的方法,通过Method类完成。步骤:1.通过Class类的getMethod(String name,Class…parameterTypes)方法取得一个Method对象,并设置此方法操作时所需要的参数类型。2.之后使用Object invoke(...

2019-10-14 09:04:24 96

原创 第14章 Java反射机制

14.4 创建运行时类的对象[问题] 有了Class对象,能做什么?创建类的对象:调用Class对象的newInstance()方法要 求:1)类必须有一个无参数的构造器。 2)类的构造器的访问权限需要足够。难道没有无参的构造器就不能创建对象了吗?不是!只要在操作的时候明确的调用类中的构造器,并将参数传递进去之后,才可以实例化操作。步骤如下:1)...

2019-10-14 09:02:07 113

原创 第14章 Java反射机制

14.3 类的加载与ClassLoader的理解14.3.1 了解:类的加载过程当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过如下三个步骤来对该类进行初始化。14.3.2 了解:ClassLoader类加载器是用来把类(class)装载进内存的。JVM 规范定义了两种类型的类加载器:启动类加载器(bootstrap)和用户自定义加载器(user-defin...

2019-10-14 09:00:42 96

原创 第14章 Java反射机制

14.2.2 Class类的常用方法14.2.3 反射的应用举例String str = "test4.Person"; Class clazz = Class.forName(str); Object obj = clazz.newInstance(); Field field = clazz.getField("name"); field.set(obj, "Peter")...

2019-10-14 08:58:07 130

原创 第14章 Java反射机制

14.1 Java反射机制概述Java Reflection Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。Java反射机制提供的功能 在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的成员变量和方法...

2019-10-14 08:55:59 127

原创 第10章 常用类

10.5 JDK1.8之前日期时间类10.5.1 java.lang.System类System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒GMT之间以毫秒为单位的时间差。此方法适于计算时间差。10.5.2 java.util.Date它的对象表示一个特定的瞬间,精确到毫秒。Jav...

2019-09-18 09:12:05 219

原创 第10章 常用类

10.4 System系统类System 类包含一些有用的类字段和方法。它不能被实例化。在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。10.4.1 标准输入、标准输出和错误输出流对象PrintStream err:“标准”错误输出流。InputStream in:“标...

2019-09-18 09:08:42 99

原创 第10章 常用类

10.3.3 效率测试 package com.api.string; public class TestStringBuilder { public static void main(String[] args) { testStringBuilder(); testStringBuffer...

2019-09-18 09:07:37 105

原创 第10章 常用类

10.3 可变字符序列:字符串缓冲区10.3.1 StringBuffer、StringBuilder、String的区别1、一个类似于 String 的字符串缓冲区,但能被修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容,所有对StringBuffer或StringBuilder对象的字符序列的修改不会产生新的StringBuffer或...

2019-09-18 09:06:45 157

原创 第10章 常用类

6、String对象的比较==比较的是地址。equals比较的是字符串的内容,重写了Object的equals方法。 public boolean equals(Object anObject) { if (this == anObject) { return true; } ...

2019-09-18 09:04:15 155

原创 第10章 常用类

10.2 字符串String类10.2.1 字符串String类的特点字符串的学习,有的同学就看看API,记下方法,有的同学看看源代码,还有的同学画画图,自然学的深度是不一样的。 /** * The {@code String} class represents character strings. All * string literals in Ja...

2019-09-18 09:02:36 139

原创 第10章 常用类

10.1.3自动装箱(auto_boxing)与自动拆箱(unboxing)JDK1.5之前需要手动装箱与拆箱,JDK1.5之后支持自动装箱与自动拆箱。1. 自动装箱基本数据类型就自动的封装到与它相同类型的包装中,如:Integer i = 100;本质上是,编译器编译时为我们添加了:Integer i = new Integer(100);2. 自动拆箱包装类对象...

2019-09-18 09:00:57 105

原创 第10章 常用类

学习API更深的意义在于复习面向对象的知识。查看源代码,学习源代码。10.1包装类Wrapper10.1.1 为什么需要包装类Java并不是纯面向对象的语言。Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的。基本数据类型有它的优势:性能(效率高,节省空间)。但是我们在实际使用中经常需要将基本数据类型转化成对象,便于操作。比如:(1)集合的操作,(2)使...

2019-09-18 08:54:20 124

原创 第9章 Java异常处理

13、完整的视图类TeamView package com.atguigu.view; import com.atguigu.bean.Architect; import com.atguigu.bean.Designer; import com.atguigu.bean.Employee; import com.atguigu.bean.Pr...

2019-09-17 10:18:12 162

原创 第9章 Java异常处理

9.3 异常处理机制9.3.1 捕获异常(try...catch...finally)可使用try…catch…finally语句捕获异常,避免程序不正常终止语法: try { …… } [catch (<异常类型> <异常引用变量>) { ...

2019-09-17 10:10:46 165

原创 第9章 Java异常处理

9.2.1 异常的分类Java语言提供了两大类异常,如图9-8:编译时异常(受检异常Checked)编译时异常:指程序中必须接受检查和处理的异常,由Exception 类表示。运行时异常(非受检异常UnChecked)运行时异常:程序中可以不接受检查和处理,或致命性错误异常,由RuntimeException类或Error类表示。图10- 8 异常分类9.2.2...

2019-09-10 09:37:57 117

原创 第9章 Java异常处理

9.1 异常的概述9.1.1 什么是异常异常,又称为例外,是指不可预知的非正常的情况,例如:正常开车突然路口窜出一条狗来,或者正常上下班的路上,某个街角偶遇了爱情,或者在每天晨跑的小树林遭遇了歹徒。这些突发的情况的发生是不可预知的,where,when......,但是如果处理好了,美好的生活不受影响,可以继续,如果处理不好,可能就“挂”了。Java语言将程序执行中发生的不正常情况称为...

2019-09-10 09:33:32 148

原创 第8章 枚举与注解

8.3 练习1、声明Week枚举类,其中包含星期一至星期日的定义;在TestWeek类中声明方法中printWeek(Week week),根据参数值打印相应的中文星期字符串。提示,使用switch语句实现。在main方法中从命令行接收一个1-7的整数(使用Integer.parseInt方法转换),分别代表星期一至星期日,打印该值对应的枚举值,然后以此枚举值调用printWe...

2019-09-10 09:31:17 842

原创 第8章 枚举与注解

8.2 注解Annotation注解Annotation是从JDK5.0开始引入的新特性。8.2.1 注解的概述1、Annotation的作用注解不是程序本身,可以对程序作出解释。(这一点,跟注释没什么区别) 可以被其他程序(比如:编译器,Checker Framework等)读取。(注解信息处理流程,是注解和注释的重大区别。如果没有注解信息处理流程,则注解毫无意义)2、Ann...

2019-09-10 09:28:36 296

原创 第8章 枚举与注解

8.1 枚举8.1.1 什么是枚举类的对象只有有限个的、确定的例如:星期:Monday(星期一)......Sunday(星期天)性别:Man(男)、Woman(女)月份:January(1月)......December(12月)季节:Spring(春节)......Winter(冬天)七彩标准色:Red(红)......Purple(紫)支付方式:Cash(...

2019-09-10 09:24:54 502

原创 第7章 面向对象高级特性

7.8 内部类7.8.1 什么是内部类1. 概念在Java中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类。Inner class一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称。Inner class的名字不能与包含它的类名相同;Inner class可以使用外部类的私有数据,因为它是外部类的成员,同一个类的成员之间可相互访问。而外部...

2019-09-10 09:21:51 111

原创 第7章 面向对象高级特性

7.7 接口7.7.1 接口的概念1. 什么是接口 接口的用途是用来定义现实世界不同类型事物的共同行为特征。 例如: 飞行特征(包括起飞,飞行、着陆等行为)是鸟和飞机所共有的。 鸟和飞机可定义为具体类 它们的共同行为特征可被定义在接口中 接口中所有方法均为抽象方法 示例: pu...

2019-09-10 09:20:11 124

原创 第7章 面向对象高级特性

7.6 抽象类7.6.1 抽象类概念1.抽象类(abstract class)随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类就可以声明为抽象类。2. 抽象类和具体类抽象类与具体类 具体类 — 对现实世界一种实体的抽象定义。...

2019-09-10 09:18:28 126

原创 第7章 面向对象高级特性

7.4 final关键字7.4.1 final关键字的含义1. final的作用 在Java中声明类、属性和方法时,可使用关键字final来修饰,表示“最终”。 final标记的类不能被继承。提高安全性,提高程序的可读性。 比如:String类、System类、StringBuffer类 final标记的方法不能被子类重写。...

2019-09-10 09:15:05 135

原创 第7章 面向对象高级特性

7.3 代码块7.3.1 什么是代码块1. 什么是代码块 ①初始化块(代码块)作用: 对Java对象进行初始化 ②程序的执行顺序: 声明成员变量的默认值 显式初始化、多个初始化块依次被执行(同级别下按先后顺序执行) 构造器...

2019-09-10 09:02:48 102

空空如也

空空如也

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

TA关注的人

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