`
文章列表
打印log日志是我们开发必不可缺少的环节,便于系统出现问题进行调试追踪,所以我们经常会出现打印相关类的字段信息。 import org.apache.commons.lang3.builder.ToStringBuilder; public class Test{ public static void main(String[] args) { Project project = new Project(); project.setStatus(1); project.setName("打印项目类成员信息"); System.out ...
mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句 mybatis 的动态sql语句是基于OGNL表达式的。可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类:1. if 语句 (简单的条件判断)2. choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似.3. trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀)4. where (主要是用来简化sql语句中where条件判断的,能智能 ...
当前各种应用大量使用异步消息模型,并随之产生众多消息中间件产品及协议,标准的不一致使应用与中间件之间的耦合限制产品的选择,并增加维护成本。AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。    当然这种降低耦合的机制是基于与上层产品,语言无关的协议。AMQP协议是一种二进制协议,提供客户端应用与消息中间件之间异步、安全、高效地交互。从整体来看,AMQP协议可划分为三层:      这种分层架构类似于OSI网络协议,可替换各层实现而不影响与其它层的交互。AMQP定义了合适的服务器端域模型,用 ...
前言 本篇主要讲述spring Boot与RabbitMQ的整合,内容非常简单,纯API的调用操作。 操作之间需要加入依赖Jar   [html] <dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-amqp</artifactId>   lt;/dependency>   <dependency> <grou ...
很好的一个大神,无私分享很多文章,浅显易懂,入门快速,谢谢分享! http://jinnianshilongnian.iteye.com/
今天仔细研究NOLOCK并且测试了下,终于理解了,那么加与不加到底区别在哪呢? 我先说下其区别,之后再做测试。 大家都知道,每新建一个查询,都相当于创建一个会话,在不同的查询分析器里面进行的操作,可以影响到其他 ...
白盒测试:又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。   黑盒测试:也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把
AMQP协议 AMQP 有四个非常重要的概念:虚拟机(virtual host),交换机(exchange),队列(queue)和绑定(binding)。 虚拟机: 通常是应用的外在边界,我们可以为不同的虚拟机分配访问权限。虚拟机可持有多个交换机、队列和绑定。 交换机: 从连接通道(Channel)接收消息,并按照特定的路由规则发送给队列。 队列: 消息最终的存储容器,直到消费客户端(Consumer)将其取走。 绑定: 也就是所谓的路由规则,告诉交换机将何种类型的消息发送到某个队列中。 通常的操作流程是: (1) 消费者: 创建信息通道。 (2) 消费者: 定义消息队 ...
Mybatis的ResultMap的使用     本篇文章通过一个实际工作中遇到的例子开始吧:   工程使用Spring+Mybatis+Mysql开发。具体的业务逻辑很重,对象之间一层一层的嵌套。和数据库表对应的是大量的model类,而和前端交互的是Vo类。现在需要做一个需求,有两种方式来实现:   使用现有的Service接口,或者自己在编写一些用到的接口,手动使用Java代码来分别调用Service接口来查出各个model,然后在业务层将model转换为vo,最后返回给前端json串。       为需求相关的页面定义自己的vo,在vo中只定义前端用到的字段。而不是像 ...
首先我们一起来看一下OGNL中的#、%和$符号。 关于OGNL各种用法总结参看:http://blog.163.com/seara520@126/blog/static/72069304201032081730286/ 一.OGNL中的#、%和$符号       #、%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容 ...
Mybatis实用Mapper SQL汇总示例 Mybatis作为一个非常好用的持久层框架,相关资料真的是少得可怜,所幸的是官方文档还算详细。本博文主要列举一些个人感觉比较常用的场景及相应的Mapper SQL写法,希望能够对大家有所帮助。 不 ...
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties> <property name="cacheInterval" ...
前言 Jenkins是基于JAVA的开源软件项目,持续集成软件版本发布、测试,用于监控持续重复的工作。   安装 1、jenkin下载地址:http://jenkins-ci.org/ 2、tomcat部署:war包直接放在webapp 3、命令行启动:java -jar jenkins.war   maven+git+tomcat持续集成  参考搭建教程:http://wenku.baidu.com/link?url=xVWQJgyI_VLdf0NuhtD0AHNjN-0FSqviJVxOVvt5JGRoZeZITVOFa-wyWPzM2sAXPAtrlhtoTrh4WM ...
根据JAVA官方文档的描述,mark(int readlimit)方法表示,标记当前位置,并保证在mark以后最多可以读取readlimit字节数据,mark标记仍有效。如果在mark后读取超过readlimit字节数据,mark标记就会失效,调用reset()方法会有异常。 但实际的运行情况却和JAVA文档中的描述并不完全相符。 有时候在BufferedInputStream类中调用mark(int readlimit)方法后,即使读取超过readlimit字节的数据,mark标记仍有效,仍然能正确调用reset方法重置。  事实上,mark在JAVA中的实现是和缓冲区相关的。只要缓冲区够 ...
服务端编程的3大性能杀手:1、大量线程导致的线程切换开销。2、锁。3、非必要的内存拷贝。 4、IO
Global site tag (gtag.js) - Google Analytics