自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AOP代理类中调用带有annotation的私有方法

public class Aservice {private void  methodA() {methodB();}@annotationprivate void methodB(){}}上面在调用B()方法时是调用不到的,修改为 aservice.methodB();

2016-09-30 14:02:17 3243 1

原创 Java中Service层MOCK测试

目前java层的测试采用的是Mock的方式,mock测试是构建一个虚拟的对象,例如在insert时,不会真的进行插入,只是进行虚拟操作。在Service层进行测试时,首先在Mapper层已经进行了基本增删改查的测试,通过want.number()或者want.string()等操作。Mock操作通过把mapper已经测试过的但是在Service中还是调用的排除掉。publi

2016-09-29 18:06:47 3553

原创 JMS

JMS是java消息服务(java message service)应用程序接口,是一个java平台中关于面向消息中间件(MOM)的API,用于在两个程序之间,或者分布式系统中发送消息,进行异步通信,java消息服务是一个与具体平台无关的API。绝大多MOM提供商都对JMS提供支持。JMS是一种与厂商无关的API,用来访问消息收发系统消息,类似JDBC,JDBC是可以用来访问许多不同关系数

2016-09-29 17:07:05 312

转载 OKR目标管理体系

OKR体系的全称是Objectives&key Results,即目标与关键成果,o=Objective可以理解为企业目标,KR = key Result可以理解为关键结果,放在一起就是“为确保达成企业目标的关键结果分解与实施”OKR是企业进行目标管理的一个简单有效的系统,能够将目标管理自上而下贯穿到基层,对一个项目来说,设定目标非常重要,因为这决定了如何去做,以及做到何种程度。1.OKR

2016-09-29 09:43:48 7381

原创 RocketMQ是什么(二)

7.RocketMQ关键特性(1)单机支持1万以上持久化队列1.所有数据单独存储到一个Commit Log,完全顺序写,随机读。2.对最终用户展现的队列实际只存储消息在Commit Log的位置信息,并且串行方式刷盘。这样好处:a、队列轻量化,单个队列的数据量非常少。b、对磁盘的访问串行化,避免磁盘竞争,不会因为队列增加导致IO wait 增高。每个方案

2016-09-28 20:33:57 994

原创 RocketMQ是什么

是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点。Producer、Consumer、队列都可以分布式、Producer向一些队列轮流发送消息,队列集合称为Topic,Consumer如果做广播消费,则一个consumer实例消费这个Topic对应的所有队列,如果做集群消费,则多个consumer实例平均消费这个topic对应的队列集合能够保证严格的消息顺序提供丰

2016-09-28 17:13:52 3649

原创 消息中间件需要解决哪些问题

(1)Publis/Subscribe发布订阅是消息中间件的最基本功能,是相对于传统的RPC通信而言。(2)Message Priority规范中描述的优先级是指在一个消息队列中,每条消息都有不同的优先级,一般用整数来描述,优先级高的信息先投递,如果消息完全在一个内存队列中,那么在投递前可以按照优先级排序,令优先级高的先投递。由于RocketMQ所有的消息都是持久化的,所以如果按照

2016-09-28 14:32:35 7244

原创 消息中间件中术语

producer : 消息生产者,负责产生消息,一般由业务系统负责产生消息。consumer:消息消费者,负责消费消息,一般是后台系统负责异步消息。Push Consumer:consumer的一种,应用通常向Consumer对象注册一个Listener接口,一旦收到消息,Consumer对象立刻回调Listener接口方法、Pull Consumer:Consumer的一种,应用通常

2016-09-28 11:03:21 1229 1

转载 MQ的作用

当今的许多应用程序都包含了跨越某种网络的组件,无论这种网络是局域网还是互联网。因此,许多应用程序开发者最终都会处理某种类型的消息传递。一些开发人员使用消息队列产品,但大多数时候,他们使用TCP 或UDP 自己做。这些协议并不难用,但是,从A 发送几个字节到B 和以任何一种可靠的方式处理消息,这两者之间有很大的区别。让我们来看看当开始使用原始的TCP 连接部件的时候,我们要面

2016-09-27 18:16:12 7330 1

原创 MQ消息中间件介绍(二)

消息队列技术是分布式应用间交换信息的一种技术,消息队列可驻留在内存或者磁盘上,队列存储消息直到它们被应用程序读走,通过消息队列,应用程序可以独立的执行---它们不需要知道彼此的位置,或者继续执行前不需要等待接收程序接收此消息。(1)队列管理器队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务。(2)消息在MQ中,把应用程序交由MQ传输的数据定义为消息,我们可以

2016-09-27 17:55:50 708

原创 MQ消息中间件介绍

首先MQ是什么?MQ是Message Queue消息队列的缩写。消息队列是一种应用程序对应用程序的通信方法、应用程序通过写和检索入列队的针对应用程序的数据(消息)来进行通信,而不需要专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信,队列的使用除去了接收和发送应用程序同

2016-09-27 16:39:29 15697

原创 Java中的序列化

当java要想流中写数据时,需要将对象进行序列化。当你将抽象父类标注为可序列化时,所有它的子类也将能够被序列化,Serializable接口没有包含任何方法的定义。没有任何方法的接口被称为标记式接口。为某种特定用途,开发者可以创建标记式接口以显示地标记一个类。你必须显示的指定一个类有能力被序列化。Serializable标记被设计作为一种安全机制--------------出于安全考虑,你

2016-09-26 19:41:30 347

原创 java中的包装类和异常

基本类型不是对象------没有从类java.lang.Object继承,接口java.util.List只提供以引用类型为参数的方法add,基本类型不能重载add方法。为了能够将对象作为异常抛出,该对象必须是Throwable类型,类Throwable定义在包java.lang中,位于异常层次关系 最顶部,Throwable有两个子类:Error和Exception,检查异常

2016-09-26 19:13:46 1813

原创 java中的对象和枚举

对象是行为(java中的方法实现)和属性(java中成员变量)的组合。属性和对象本身有着相同的声明周期,在任何给定的时间点,对象有着特定的状态,状态是类的全部实例变量所组合而成的快照,因为这个原因,实例变量有时候也被称为状态变量。  行为方法操作或者改变对象的属性,换句话说,行为方法可以改变对象的状态,查询方法返回对象的某个片断。  把方法设计成:要么改变对象的状态,要么返回信息,不要两件

2016-09-26 18:42:04 1309

原创 java中String基础

一个面向对象系统首先关注的是行为,面向对象的核心概念是对象之间相互发送消息,从而影响行为,一个对象发送消息给另外一个对象,告诉它去做某些事情,举一个客观世界的例子,我发送一个消息给你,让你去锁上门,在一个面向对象系统中,一个安全对象发送一条消息给一个门禁控制对象,告诉它把所控制的门置于安全状态。(1)java中有些包是不需要引入,因为会自动引入,String类是java.lang包中的

2016-09-26 17:36:57 295

原创 使用mock进行单元测试

在service层,使用mock来测试代码。而不再使用Juint测试JUint是java单元测试的框架,已经在Eclipse中默认的安装。目前主流的有JUnit3和JUnit4.JUint3中,测试用例需要继承TestCase类,JUint4中,测试用例无需继承TestCase类,只需要使用@Test等注解。JUint4主要通过注解的方式来识别测试方法。目前支持的主要注解有:@Befo

2016-09-26 14:49:10 7149

原创 cobar

Cobar是关系型数据的分布式处理系统,它可以在分布式的环境上看上去就像传统数据库一样提供海量的数据服务。二:cobar如何实现分布式通过将表放入不同的库来实现分布式数据库。1.cobar支持将一张表水平拆分成多份放入不同的库来实现表的水平拆分(拆分后的表不能再同一个库中)2.cobar支持将不同的表放入不同的库中多数情况下,用户会将以上两种方式混合使用3.分库数必

2016-09-26 14:04:03 606

原创 纯粹的面向对象程序设计方法是什么样的

Smalltalk是第一种成功的面向对象程序设计语言,也是Java的基础语言。(1)所有东西是对象。可以将对象想象成一种新型变量。它保存着数据,但可要求它对自身进行操作。理论上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达为一个对象。(2)程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。为了向对象发出请求,需向那个对象“发送一条消息”。更具体地来讲,可将

2016-09-26 09:53:48 491

原创 Mapper.xml理解

最开始对myBatis也没有很深的理解,最近写了很多mapper代码,也看了一下MyBatis指南myBatis.xml1.<mappernamespace="com.dfire.soa.cash.config.mapper.BackupPrinterMapper">按住ctrl键点击BackupPrinterMapper,就会进入到mapper中的BackupPrinterMap

2016-09-20 15:50:41 4184

原创 null值与‘’的区别

空值(‘ ’)是不占用空间的Null其实是占用空间的在进行count统计某列的记录数的时候,如果采用的NUll值,系统会自动忽略,但空值会计算其中的。String s = nullstring.trim就会抛出为空的exceptionString s = " "string.trim()就不会抛异常NULL代表声明了一个空对象,根本就不是一个字符串" "代表

2016-09-20 14:58:50 393

原创 Mybatis中parameterType和parameterMap的区别

myBatis中出现上面错误,因为传进来的参数是Query对象,所以在语句中应该用parameterType,而不应该用parameterMap,parameterMap通常用于mapper中有多个参数要传进来时。ListMapper.xml

2016-09-19 17:11:38 21431 1

原创 @Transactional

@Transactional(1)可以标注在类和方法上,也可以标注的定义的接口和接口方法上。(2)若在接口上标注@Transactional注解,会留下这样的隐患:因为注解不能被继承,所以业务接口中标注的@Transactional注解会被业务实现类继承,所以可能会出现不启动事务的情况,所以Spring建议我们将@Transaction注解在是实现类上。(3)在方法上的@Tra

2016-09-19 14:54:25 1065

原创 java中的事物

java中的事物处理:如果对数据库进行多次操作,每一次的执行或步骤都是一个事务,如果数据库操作在某一步没有执行或者出现异常而导致事务失败,这样有的事务被执行,有的就没有执行,从而就有了事务的回滚,取消先前的操作。什么是事务?事务是访问数据库的一个操作序列。数据库应用系统通过事务集来完成对数据库的存取,事务的正确执行使得数据库从一种状态转换为另一种状态。事务必须服从ISO/IEC

2016-09-19 14:33:52 679

转载 list!=null和list.size()>0

1.list==null,意味着list压根没有地址,在堆内就不存在。 2.list.size()=0 意思堆内有list但是还没来得及放元素,其长度随着元素数量变化而变化,暂时为零。 3.list如果为null的话,说明没有进行初始化。这是list调用任何的方法都会抛出空异常。list.size()==0说明list已经被new过,但是里面没有值。 4.区别: ①有没有瓶子 li

2016-09-18 16:24:12 2070

转载 Injection of resource dependencies failed

除了@Service注解出错外。1、beans 的xml里面没有配置 2、第二种情况(调用死循环)很遗憾,我的不是这个问题,我的问题是dao的调用出现死循环,即XyyyyDao实现里面,调用了他接口的本身方法:123456789101112

2016-09-09 10:46:40 1273

转载 Idea中的快捷键

1. IDEA内存优化 \IntelliJ IDEA 9\bin\idea.exe.vmoptions------------------------------------------Xms64m-Xmx256m-XX:MaxPermSize=92m-ea-server-Dsun.awt.keepWorkingSetOnMinimize=true2、查

2016-09-07 17:12:46 264

原创 Mybatis中高级映射详解(一)

id,result元素这是最基本的结果映射,id,result将列映射到属性或简单的数据类型字段(String,int,double,Date)这两者的唯一不同是,在比较对象实例时id作为结果集的标识属性。这有助与提高总体属性,特别是应用缓存和嵌套结果映射的时候。id、result属性property    映射数据库列的字段或属性,如果JavaBeande 属性与给定的名

2016-09-06 11:41:08 408

原创 rerp介绍

RERP是一个专门应用于以太网的链路层协议,它在以太网中能够防止数据环路引起的广播风暴,当以太网环上的一条链路断开时,能迅速启用备份链路以恢复环网上各个节点的通信通路,与STP协议相比,REPE协议具有拓扑收敛速度快和收敛时间与环网上节点数无关的特点。

2016-09-06 10:06:33 1561

原创 Mybatis中的高级映射

Mybatis的创建时基于这样一个思想:数据库并不是你想怎样就怎样的。虽然我们希望数据库遵守第三范式或者BCNF,但他们不是,如果有一个数据库能够完美映射到所有的应用数据模型,也是非常棒的,但也没有,结果集映射就是Mybats为解决这些问题而提供非解决方法,例如如何映射下面的语句?!-- Very Complex Statement -->selectB.id as blo

2016-09-02 16:46:10 466

原创 MyBatis中select语句

id : 在这个命名空间的唯一标识符,可被其他语句引用。paramterType:传递给此语句的参数的完整类名或者别名。paramterMap:不推荐使用,这个参数将来可能被删除。resultType:语句返回值类型的完整类名或者别名,注意,如果f返回的是集合(collections),那么应该是集合所包含的具体子类型,而 不是集合本身,resultType和resultMap不能同时

2016-09-02 16:31:52 3624

原创 Mybatis中dataSource

、dataSource元素使用标准的JDBC数据源接口来配置JDBC连接对象源。url-连接数据库实例的JDBC URLusername-登录数据库的用户名password-登录数据库的密码

2016-09-02 16:28:57 624

原创 mybatis中的typeHandlers

每当Mybatis设置参数到PreparedStatement或者从ResultSet结果集中取得值时,就会使用TypeHandler来处理数据库类型与java类型之间的转换,下表描述了默认的TypeHandlers:

2016-09-02 16:23:27 253

原创 Mybatis介绍

Mybatis是一款支持自定义SQL,存储过程和高级映射的持久化框架,MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果,MyBatis能够使用简单的xml格式或者注解进行配置。能够映射基本元素数据、Map接口和POJOs(普通java对象)到数据库中的记录。 如果一个属性存在多个地方,Mybaits使用下面的顺序加载:首先读入properti

2016-09-02 16:17:41 299

原创 自定义ResultMap中的id 和result的区别

在自定义的resultMap中第一列通常是主键id,那么id 和result有什么区别呢?id和result都是映射单列值到一个属性或字段的简单数据类型。唯一不同是。id是作为唯一标识的,当和其他对象实例对比的时候,这个id很有用,尤其是应用到缓存和内嵌的结果映射。property: 映射数据库列的字段或属性,如果JavaBean的属性与给定的名称匹配,就会使用匹配的名字,否则MyBa

2016-09-02 15:02:31 20465

原创 api中的GET和POST的区别

在用swagger的controller中遇到了问题。首先可以通过check_heath 来查看服务器启动是否ok,http://localhost:8087/check_health ,若返回是ok,则证明是ok的。第二点:地址是否正确,部署地址是在tomcat的设置中,最开始地址是写的http://localhost:8087/cash-api/api-docs,发现访问不了,然后打开

2016-09-02 10:33:03 3421 2

原创 swagger

swagger是一个为springWebMvc项目提供方法文档的一个框架,该框架最主要的功能是将controller的方法进行可视化的展示,像方法注释,方法参数,方法返回值等都提供了响应的用户界面,尤其是对Json参数的支持。swagger-core中的注解可以分为三类:声明资源的注解,声明操作的注释集,声明API模块的注释集。@Api(value="xxx")声明一个API资源

2016-09-01 10:14:12 1800 1

空空如也

空空如也

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

TA关注的人

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