自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 8.AspectJ对AOP的实现(重点)

AspectJ实现了AOP的功能,且实现方式更为简洁,使用更为方便,而且还支持注解式开发在Spring中使用AOP开发时,一般使用AspectJ的实现方式一、AspectJ简介AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,它有一个专门的编译器用来生成遵守java字节码规范的Class文件。二、AspectJ的通知类型AspectJ中...

2018-11-01 19:36:02 190

原创 7.Spring与AOP-自动代理生成器

当前代码存在的两个问题:若存在多个目标对象,就需要使用多次ProxyFactoryBean来创建多个代理对象,这会使配置文件变的臃肿,不便于管理用户真正想调用的是目标对象,而真正可以调用的却是代理对象以上两个问题,均为ProxyFactoryBean类的功能太简单引起的,为解决以上问题,因此引入自动代理生成器自动代理生成器常用的自动代理生成器有两个:默认advisor自动代理生...

2018-11-01 15:41:59 148

原创 5.Spring与AOP-通知(Advice)

通知(Advice),切面的一种实现,可以完成简单织入功能(织入功能就是在这里完成的)。常用通知有:前置通知、后置通知、环绕通知、异常处理通知一、前置通知(MethodBeforeAdvice)定义前置通知需要实现MethodBeforeAdvice接口。该接口中有一个方法before(),会在目标方法执行之前执行。前置通知的特点:在目标方法执行之前先执行不改变目标方法的执行流程,前...

2018-11-01 14:00:58 133

原创 217.存在重复元素

/** 存在重复元素* 给定一个整数数组,判断是否存在重复元素。* 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。* 输入: [1,2,3,1] 输出: true* 输入: [1,2,3,4] 输出: false* 输入: [1,1,1,3,3,4,3,2,4,2] 输出: true */pu...

2018-11-01 00:50:24 88

原创 706.设计哈希映射

/* 不使用任何内建的哈希表库设计一个哈希映射 具体地说,你的设计应该包含以下的功能 put(key, value):向哈希映射中插入(键,值)的数值对。如果键对应的值已经存在,更新这个值。 get(key):返回给定的键所对应的值,如果映射中不包含这个键,返回-1。 remove(key):如果映射中存在这个键,删除这个数值对。 MyHashMa...

2018-11-01 00:23:58 982

原创 4.Spring与AOP-AOP概述

对于DI使用注解,将不再需要在Spring配置文件中声明Bean实例。Spring中使用注解,需要在原有Spring云心个环境基础上做一些改变。完成以下三个步骤导入AOP的jar包,因为注解的后台实现用到了AOP编程;需要更换配置文件头,即添加相应的约束;约束在:/docs/spring-framework-reference/html/sd-configuration.html中查...

2018-10-31 18:14:23 124

原创 Java 代理模式

代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标对象之间起到中介的作用...

2018-10-31 16:13:13 81

原创 3.Spring与IoC-基于XML的依赖注入(DI)

Bean实例在调用无参构造器创建了空值对象后,就要对Bean对象的属性进行初始化。初始化是由容器自动完成的,成为注入。根据注入方式的不同,常用的有两类:设值注入、构造注入。还有一种实现特定接口的注入。由于采用侵入式编程,污染代码,所以几乎不用设值注入通过setter方法传入被调用者的实例(大量使用),这种注入方式简单、直观。...

2018-10-28 21:26:38 111

原创 2.Sping与IoC-Bean的装配

将由程序代码直接操控的对象调用权交由容器,通过容器来装配管理对象。IoC的实现方式:依赖查找 Dependency Lookup/DL:容器提供回调接口和上下文环境给组件,程序代码则需要提供具体的查找方法。依赖注入 Dependency Injection/DI:程序代码不做定位查询,这些工作由容器自行完成。依赖注入式程序运行过程中,若需要调用另一个对象协助时,无须在代码中创建被调用者...

2018-10-28 14:43:45 77

原创 1.Spring概述

轻量级Java开发框架,核心为IOC(控制反转)、AOP(面向切面编程)。主要作用:Spring是一个容器,为代码解耦,降低代码间的耦合度。根据功能的不同,一个系统的代码可分为主业务逻辑代码间逻辑联系紧密,有具体专业业务应用场景,服务型相对较低系统级业务逻辑相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供系统级服务,如日志、安全、事务等,复用性强Spring根据以上...

2018-10-27 15:16:21 157

原创 9 mybatis注解式开发

mybatis的注解,主要用于替换映射文件。而映射文件中无非存放着增删改查的SQL映射标签。所以,mybatis注解,就是要替换映射文件中的SQL标签。mybatis官方不建议通过注解方式来使用mybatis注解的基础语法注解后是没有分号的注解首字母是大写的,因为注解与类、接口是同一级别的。一个注解,后台对应着一个@interface类在同一语法单元上,同一注解只能使用一次在注解与语...

2018-10-26 22:59:20 436

原创 8 mybatis查询缓存

查询缓存的使用,主要是为了提高查询访问速度。将用户对同以数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度。mybatis的查询缓存机制,根据缓存区的作用域与生命周期可划分为两种:一级查询缓存与二级查询缓存。mybatis查询缓存的作用域是根据映射文件mapper的namespace划分的,相同namespace的mapper查询数据存放在同一个缓存区域。不同name...

2018-10-26 22:29:24 123

原创 7 mybatis延迟加载

什么是延迟加载mybatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力。需要注意的是,mybatis的延迟加载只是对关联对象的查询有延迟设置,对于主加载对象都是直接执行查询语句的。关联对象加载时机mybatis根据对关联对象查询的select语句的执行时机,分为三种类型:直接加载、侵入式加载与深度延迟...

2018-10-26 16:51:56 190

原创 6 mybatis 关联关系查询

关联关系当查询内容涉及到具有关联关系的多个表时,就需要使用关联查询。根据表与表间的关联关系的不同,关联查询分为四种:一对一关联查询一对多关联查询多对一关联查询多对多关联查询一对多关联查询一对多关联查询是指,在查询一方对象的时候,同时将其所关联的多方对象也都查询出来。建立实体类:minister部长、大臣country国家public class Minister { ...

2018-10-26 15:44:41 182

原创 705.设计哈希集合

不使用任何内建的哈希表库设计一个哈希集合具体地说,你的设计应该包含以下的功能add(value):向哈希集合中插入一个值。contains(value) :返回哈希集合中是否存在这个值。remove(value):将给定值从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。注意:所有的值都在 [1, 1000000]的范围内。操作的总数目在[1, 10000]范围内。不要...

2018-10-26 00:22:08 449

原创 5 mybatis动态SQL

什么是动态SQL动态sql,主要用于解决查询条件不确定的情况,在程序运行期间,根据用户提交的查询条件进行查询,提交的查询条件不同,执行的sql语句不同,若将每种可能的情况均逐一列出,对所有条件进行排列组合,将会出现大量的sql语句。此时可以使用动态sql来解决这样的问题。动态sql,通过mybatis提供的各种标签对条件做出判断以实现动态拼接SQL语句。注意事项在mapper的动态sql...

2018-10-25 15:41:57 141 1

空空如也

空空如也

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

TA关注的人

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