- 博客(16)
- 资源 (33)
- 收藏
- 关注
原创 从零开始写javaweb框架笔记20-使框架具备AOP特性-开发AOP框架
借鉴Spring AOP的风格,写一个基于切面注解的AOP框架,需了解前面的动态代理技术 一:定义切面注解 在框架中添加一个名为Aspect的注解,代码如下:
2017-06-27 19:05:49 424
原创 从零开始写javaweb框架笔记19-使框架具备AOP特性-AOP技术简介
AOP是面向切面编程。切面是AOP中的一个术语,表示从业务逻辑中分离出来的横切逻辑,比如性能监控,日志记录,权限控制等,这些供暖都可以从核心的业务逻辑代码中抽离出去。也就是说通过AOP可以解决代码耦合的问题,让职责更加单一。其实很早以前就出现了AOP这个概念。最知名最强大的java开源项目就是AspectJ,它的前身是AspectWerkz。直到后来老罗 Rod Johnson写了Spring框架
2017-06-27 19:02:17 579
原创 从零开始写javaweb框架笔记18-使框架具备AOP特性-代理技术简介
代理,或者称为Proxy。意思就是你不需要去做,别人代替你去处理。它在程序开发中起到了非常重要的作用,比如传说中的AOP,就是针对代理的一种应用。此外,在设计模式中,还有一个代理模式。在公司里要上外网,要在浏览器设置一个HTTP代理,可见代理无处不在。 学习由浅到深,先看一个简单的HelloWorld:
2017-06-27 17:13:56 771
原创 linux平常的常用命令
平常经常使用linux进行开发,软件安装,环境部署等,会用到一些常用的命令,下面是我平时使用到linux下的常用命令: type command 查看一条命令是外部命令还是内部命令[root@upl test]# type cdcd is a shell builtincd 是内部命令[root@upl test]# type mountmount is
2017-06-20 18:14:22 1977
原创 haproxy+mycat搭建高可用数据库
在http://blog.csdn.net/j903829182/article/details/72844954介绍了主从复制, 在http://blog.csdn.net/j903829182/article/details/73500080介绍了基于mycat的读写分离这篇博客就是需要基于前面两篇博客的基础上进行的,使用haproxy+myca
2017-06-20 17:57:58 4268
原创 mysql-使用mycat实现简单的读写分离
4.3.1Mycat下载http://www.mycat.io/是Mycat的官方网站,到这个网站可以进行Mycat的下载,在官网还可以下载《Mycat权威指南》pdf的电子档,下载Mycat的源码。目前最新稳定的Mycat版本是Mycat1.6, Mycat有window,linux,unix,mac平台对应的版本,我这里也使用下载的是window下的1.6版本来实现读写分离。4
2017-06-20 17:01:10 8111 1
原创 mybatis-动态sql-if,choose,when,otherwis,trim,where,set,foreach,test,bind
如果使用JDBC或者其他框架,很多时候你得根据需要去拼装sql,这是一个麻烦的事情。而mybatis提供对sql语句动态的组装能力,而且它只有几个基本的元素,十分简单明了,大量的判断都可以在mybatis的映射xml文件里面配置,以达到许多我们需要大量代码才能实现的功能,大大减少了我们的编程工作量,这体现了mybatis的灵活性,高度可配置和可维护性。mybatis也可以在注解中配置sql,但是注
2017-06-17 22:14:50 3555
原创 mycati缓存cache
缓存 缓存是系统常用的,其特点是保存数据到内存中。目前流行的缓存服务有MongoDB,Redis,Ehcache等。缓存是在计算机内存上保存的数据,在读取的时候无需从磁盘读入,因此具备快速读取和使用的特点,如果缓存命中高,那么就可以极大的提高系统的性能。如果缓存命中很低,那么缓存就不存在使用的意义了,所以使用缓存的关键在于存储内如访问的命中率。一:系统缓存(一级缓存和二级缓存)
2017-06-17 18:32:25 2718
原创 mybatis-映射器-级联性能分析
一:性能分析N+1问题 级联的优势就是能够方便快捷的获取数据。比如学生和学生成绩信息往往是最常用的级联信息,这个时候级联完全是有必要的,级联最好不要超过三层,多层级联会导致复杂性的增加,不利于理解和维护。同时级联也存在严重的问题,例如我只对学生课程和成绩感兴趣,就不用取出学生证和健康情况表了。因为取出学生证和健康表不但没有意义而且还会多执行sql,导致性能下降。 级联还
2017-06-17 10:56:17 1237
原创 mybatis-映射器-resultMap结果集映射3collection一对多级联&鉴别器
一个学生可能有多门课程,在学生确定的前提下每门课程都会有自己的分数,所以一个学生的课程成绩只能对应一门课程。所以这里有两个级联,一个是学生和课程成绩的级联,这是一对多的关系;一个是课程成绩和课程的级联,这是一对一的关系。一对一的级联我们使用association,而一对多的级联我们使用的是collection。
2017-06-17 09:55:10 6581 4
原创 mybatis-映射器-resultMap结果集映射2-association一对一级联
在实际操作中,我们需要确定对象的关系。这里以前面的学生信息级联为例,在学校里面学生Student和学生证StudentCard是一对一的关系,前面已经建立了Student和StudentCard的pojo对象。那么在Student的pojo添加一个属性studentCard,那么这样就建立了一对一的级联了。现在Student类的代码如下: package org.mybatis.pojo
2017-06-14 00:00:12 688
原创 mybatis-映射器-resultMap结果集映射1
resultMap是mybatis里面最复杂的元素。它的作用是定义映射规则,级联的更新,定制类型转换器等。resultMap定义的主要是一个结果集的映射关系。mybatis现有的版本只支持resultMap查询,不支持更新或者保存,更不必说级联的更新,删除和修改了。 一:resultMap元素的构成 resultMap元素里面还有以下元素,代码如下:
2017-06-13 22:10:34 861
原创 java中使用redis
package jack.redis.study;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import redis.clients.jedis.Jedis;public class Redi
2017-06-13 11:48:09 518
原创 mysql主从复制
Mysql主从复制 Mysql可以在window和linux平台进行使用,这里使用linux的作为mysql的系统环境,实现mysql的主从复制,使用虚拟机安装centos7的linux环境,mysql版本使用5.6。一:环境准备 虚拟机安装centos7可以参考:http://www.centoscn.com/image-text/setup/2014/0723/3
2017-06-02 15:54:06 1755
原生apphtml2.rar
2017-11-21
转换工具ffmpeg
2017-11-14
zookeeper-3.4.10.tar.gz
2017-06-21
锋利jquery
2015-11-27
commons-fileupload-1.3-bin.zip
2013-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人