mybatis自动生成代码

当我们使用mybatis时,为减少代码量,可以选择自动生成数据库连接代码,下面是以连接postgresql为例

  1. 准备jar包(2个),
    postgresql-9.2-1003-jdbc4.jar (jdbc驱动)
    mybatis-generator-core-1.3.2.jar (改为可执行文件)
    my.xml (需要根据这个文件配置进行生成)
    UserInfo.java (1个pojo类)

cglib动态代理

  1. 我们知道,使用jdk创建的动态代理,其目标对象需要实现一个接口,当目标对象,即需要进行动态代理的对象没有实现接口时,便无法使用jdk的动态代理,此时我们可以考虑使用cglib动态代理来组织我们的业务逻辑织入,使用cglib动态代理类似于jdk动态代理,不过jdk是实现InvocationHandler,而cglib是实现MethodInterceptor,底层都是对于字节码的处理。(使用cglib动态代理需要导入cglib.jar和asm.jar)

jdk动态代理

一. 动态代理的基本实现

  1. 首先创建一个类,觉得可以叫工具类,让它实现InvocationHandler接口,这个接口呢会自动实现一个方法,就是invoke()方法,注意,这个invoke方法的参数含有一个动态代理对象,一个反射的方法名,还有一组对象数组,

Java并发和多线程学习

  1. Java采用的是单线程编程模型
  2. JVM进程不是单线程的(创建后启动一个任务线程,同时含其他线程,如垃圾回收线程)
  3. 耗时操作尽量放入子线程