- 博客(12)
- 收藏
- 关注
原创 AspectJ基于注解的实现
基本注解Advice的类型@Before@AfterReturning@Around@AfterThrowing@After表达式execution(expression)expression(?))execution(public * *(..))匹配所有的public方法execution(* com.ywkj.*(..))匹配指定包下的所有
2016-09-23 21:14:34
456
原创 Spring AOP的自动代理
一般情况下的代理针对每一个对象的只能增强都需要新建一个bean标签,当有很多类的时候就显得比较繁琐,这时Spring为我们提供了自动代理情况1:BeanNameAutoProxyCreator 根据Bean的名称来创建代理配置:修改一般情况下的代理类ProxyFactoryBean为BeanNameAutoProxyCreator<bean class="org.
2016-09-23 20:07:47
328
原创 Spring Aop增强
Spring AOP是纯JAVA代码实现的,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类织入增强代码,扩展JAVA语言AOP的底层原理:JDK的动态代理和CGLIB的动态代理通知:是指拦截到JoinPoint之后所要做的事AOP通知的类型前置通知: MethodBeforeAdvice后置通知: AfterReturningAdvice环绕
2016-09-23 19:38:41
276
原创 Spring的DI使用XML方式
DI:为使用IOC创建的对象设定相关的属性,即先有IOC,然后才有DI使用XML方式的DI方式一:使用构造函数的形式一般用的不多,忽略方式二:使用setter方法在applicationContext.xml文件中配置a.使用property标签1.普通类型,直接使用value书写 2.引用类型,使用ref,值就是上面定义的Ca
2016-09-23 19:21:13
272
原创 Spring的IOC
IOC:Inverse of Control,就是将原本程序中手动创建的对象的过程交给Spring去创建Spring的IOC第一步:引入Spring的jar包context,bean,expression和core第二步:编写类,假设叫做Book.java 第三步:编写applicatonContext.xml文件配置该文件,有三种方式1. 使用构造函数(Book需要提
2016-09-23 18:53:25
182
原创 Hibernate查询缓存
HiberNate的查询缓存1. 是什么 查询缓存是二级缓存的增强版,二级缓存不能缓存对象的属性,但是查询换粗是可以的2. 怎么办 查询缓存依赖二级缓存,在Hibernate.cfg.xml文件中必须要先配置好二级缓存,才能配置使用查询缓存 1. 在Hibernate.cfg.xml文件中开启查询缓存 <property nam
2016-09-21 11:37:32
1411
原创 Hibernate的二级缓存
是什么Hibernate的一级缓存是session级别的缓存,这是远远不够的,因此Hibernate提供了二级缓存机制,它是SessionFactory级别的缓存,也就是说当session关闭的时候,下次再查询相关的数据是会从二级缓存读取的,而不是再次发送SQL请求怎么办默认的情况下,Hibernate不会启动二级缓存,需要手动配置1. 在Hibernate.xfg.xml
2016-09-21 10:30:19
228
原创 Hibernate的离线条件查询
为什么在多条件查询的时候,需要在Web层封装相应的参数到Criteria,而在Dao层才真正的去执行查询数据库的操作,所以需要在Web层创建Criteria并将其传递到Dao层,这个时候就不能在Web层使用session.createCriteria来创建Criteria怎么办使用离线条件查询1.使用反射创建Criteria对象 //从Web层获取数据封装到crite
2016-09-20 20:08:53
4425
1
原创 Hibernate中同一个线程获取相同session
为什么在Hibernate中事物是与session相关的,一般情况下session会在Service层创建,Service中Session session = HibernateUtils.openSession()tx = session.beginTransaction();dao.save();dao.xxx();tx.commit();在Dao中就需
2016-09-20 19:53:54
1313
原创 Hibernate的事物机制
事物的性质原子性:一个事物里的操作要么都执行,要么都不执行一致性:事物执行的前后,数据保持完整性隔离性:一个事物对数据的操作不受别的事物的影响持久性:一个事物对数据的操作在事物提交后,其对数据的修改时永久的隔离性带来的问题:读方面:读取脏数据: 事物A读取了事物B未提交的数据不可重复读: 事物A读取了事物B已经提交的数据(update),造成先后读取
2016-09-20 19:25:53
335
原创 Hibernate的抓取策略
1.立即检索与延迟检索当需要查询出一个对象的时候,立即检索会立刻发送SQL语句,而延迟检索则会在该对象被使用的时候才会发送SQL语句a.单张表的查询中,在class标签上设置lazy属性即可 false:不使用延迟加载true :使用延迟加载b.一对多设置fetch(SQL语句的形式,写法)和lazy(是否延迟加载)对于一的一方:fetch:join
2016-09-20 16:20:09
248
原创 java内部类
内部类:嵌套类 外部类:宿主类内部类:将一个类影藏在外部类中,不许同包的其它类访问该类内部类可以访问外部类的私有数据,外部类不能直接访问内部类的实现细节(不论是private还是public)内部类编译后的class文件名:outer$inner.class成员内部类:访问外部类的成员:outerClassName.this.fieldName非静态内部类在外部类之
2016-09-14 17:11:00
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人