0%

1. Spring的JDBC的模板

Spring是EE开发的一站式的框架,有EE开发的每层的解决方案。Spring对持久层也提供了解决方案:ORM模块和JDBC的模板。

Spring提供了很多的模板用于简化开发:
在这里插入图片描述

阅读全文 »

1. AOP概念和术语

1.1 概念

AOP即为Aspect Oriented Programming的缩写,意为:面向切面编程。AOP是OOP(面向对象编程)的扩展和延伸,用于解决OOP开发遇到的问题。

AOP思想是最早由AOP联盟组织提出的,Spring是目前使用这种思想最好的框架。Spring的AOP有自己的实现方式。因其比较繁琐,所以Spring引入AspectJ(一个AOP框架)作为自身AOP的开发。

阅读全文 »

1. Bean实例化方式

下面演示一下Spring中的Bean实例化过程。

1.1 无参构造方法方式(默认)

  1. 编写如下类:
    1
    2
    3
    4
    5
    6
    public class Bean1 {
    public Bean1() {
    super();
    System.out.println("Bean1的无参构造方法执行了。。。");
    }
    }
阅读全文 »

1. Spring IoC概述

IoC即为控制反转(Inversion of Controll),它用来将对象的创建权反转给(交给)Spring来创建。假如,你现在需要一杯果汁,你没有必要去买果汁机,橙子,准备橙子等操作,而是去超市直接买即可。果汁就相当于你需要使用的对象,而该对象是由果汁厂创建然后由超市提供的,果汁厂就相当于Spring。

阅读全文 »

异常信息:

1
2
3
4
5
6
7
8
9
10
11
12
13:07:04.315 [main] DEBUG com.mchange.v2.sql.SqlUtils - Converting Throwable to SQLException...
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@4c2bb6e0 -- timeout at awaitAvailable()
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1467)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:644)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:554)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:758)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:157)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:115)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:78)
...
阅读全文 »

1. clone对象使用原因

在实际编程过程中,我们常常要遇到这种情况:有一个对象 A,在某一时刻 A 中已经包含了一些有效值,此时可能会需要一个和 A 完全相同新对象 B,并且此后对 B 任何改动都不会影响到 A 中的值,也就是说, A 与 B 是两个独立的对象,但 B 的初始值是由 A 对象确定的。在 Java 语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现 clone()方法是其中最简单,也是最高效的手段。

阅读全文 »

java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

阅读全文 »

1. ==

  1. 对于基础数据类型,如int,float,double类型的值,==比较的是值是否相等。
  2. 对于引用数据类型,如自定义类实例,String类实例,其比较的是对象实例的地址。
阅读全文 »

  • 在Java中,equals方法和hashcode方法都是用来对比两个对象是否相等。
  • 默认情况下equals比较的是两个对象的哈希码,hashcode则负责获取引用对象的哈希码。一般情况下,在覆盖equals方法时,同时也要覆盖hashcode方法。
  • 不同对象可能有相同的哈希码,因为自身算法的原因,所以当a.equals(b) == true(对象值相同)时,两个对象一定相等,但是如果两个对象的哈希码相等却不能断定两个对象是相等的。
阅读全文 »