自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

aty

虽有嘉肴,弗食,不知其旨也;虽有至道,弗学,不知其善也。是故学然后知不足,教然后知困。知不足,然后能自反也;知困,然后能自强也。

  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring xml读取Properties文件中的加密字段

使用PropertyPlaceholderConfigurer读取properties文件,继承PropertyPlaceholderConfigurer实现properties文件中字段值的解密

2016-01-28 16:29:50 3883

原创 maven打包:将webapp下的classes文件打包到单独的jar包中

maven web工程打包默认情况下,会将编译后的class文件放到WEB-INF/classes文件夹下,如果你不想将class文件放到这个位置,而是作为一个单独的jar放到WEB-INF/lib下,那么可以使用如下的配置。

2016-01-26 11:00:15 5163

原创 使用spring websocket stomp遇到的3个问题总结:路径匹配/自动注入/activemq连接超时

之前的这篇博客,详细地描述了如何搭建一个spring websocket工程,经过后面的实践发现了3个问题,这里总结下。1.我们spring mvc的servlet拦截的是/*,这个范围太大,能不能只拦截特定更具体的url?2.我们使用SimpMessagingTemplate发送消息,这个bean到底是谁帮我们注入的?我们并没有显示地配置这个bean,也没有扫描某个目录,但显然这个bean是确确实实存在的。3.我们的页面挂一阶段,发现浏览器控制台和activemq后台报错了,这个时候不能再发送和接收

2016-01-25 19:05:23 18751 4

原创 spring websocket stomp 连接开启了用户名和密码认证的ActiveMQ

spring websocket stomp连接开启了用户名和密码认证的activeMQ,必需同时设置system-login和client-login的用户名和密码

2016-01-25 15:13:15 6472

原创 spring mvc里的root/child WebApplicationContext的关系

spring mvc程序里会有两个WebApplicationContext,一个是parent,从applicationContext.xml里加载的,一个是child,从servlet-context.xml里加载的。 两者是继承关系,child WebApplicationContext 可以通过getParent()函数获取到root WebApplicationContext。

2016-01-22 17:31:45 2829

原创 搭建Spring4.1与Spring4.2 websock+stomp+activeMQ需要注意事项:spring4不同版本websocket差异

报错原因是:spring4.2.4版本使用的是reactor-net-2.0.7.RELEASE,但是spring4.1.4版本不能使用这个版本。下面源码是4.1.4版本的,需要reactor.io.encoding.Codec这个类,而这个类在reactor-core-2.0.7.RELEASE中删除了,但是reactor-core-1.1.6.RELEASE中有这个类。

2016-01-21 19:05:34 3400

原创 使用maven搭建XML风格的Spring MVC+WebSocket+sockjs+STOMP+ActiveMQ应用

Spring4开始支持WebSocket,也支持通过STOMP协议连接JMS消息服务器如ActiveMQ等。Spring4官方给出了这么一个STOMP例子,不过是使用注解风格的,官方例子没有我们熟悉的web.xml,没有spring.xml,这个跟Spring3差别很大,一时有点接受不了,经过自己的尝试把官方例子改成了XML风格的。

2016-01-21 18:46:55 8807 11

原创 maven构建spring4 mvc+spring4 websocket应用

上一篇文章我们没有使用Spring MVC,而是自己编写了一个Servlet用来处理来自的客户端的WebSocket连接,这篇文章我们用Spring MVC + WebSocket改造下之前的程序。我们使用Spring MVC的DispatcherServlet只拦截了websocket请求。DispatcherServlet拦截到请求后,会自动调用我们在spring.xml中注册的websocket的处理类。

2016-01-17 22:25:42 2872

原创 maven构建spring4 WebSocket应用, 不使用Spring MVC

我们在没有引入Spring MVC的情况下,实现了Spring WebSocket编程,但是却比较麻烦体现在2个方面:1.我们必须记录所有的websocket客户端,然后将消息广播给所有客户端。2.必须手动创建WebSocketHandler和HandshakeInterceptor等对象,无法在spring.xml中配置。所以我们还是使用SpringMVC+Websocket吧,会给编程带来很大的便利。

2016-01-17 21:25:45 3832

原创 javascript捕获浏览器窗口关闭事件

为了防止用户不小心关闭浏览器窗口,或者我们想在浏览器窗口关闭的时候做一些事,那么我们会使用到window对象的onbeforeunload和onunload。

2016-01-17 14:55:10 5574

原创 使用JSR365规范构建J2EE websocket服务端和客户端应用

JSR365是java制定的websocket编程规范,属于Java EE 7的一部分。websocket和socket一样,既有客户端编程,也有服务端编程,JSR365制定了websocket客户端和服务端编程常用的API。现在websocket编程结束了,同服务端编程一样,JSR365仅仅是一个规范。服务端websocket我们使用的是实现者Tomcat,现在我们需要挑选websocket client的实现者。在maven仓库搜索websocket,可以找到很多的实现者,比如jetty客户端实现。

2016-01-17 14:15:46 1420

原创 使用maven构建XML风格的Spring4 MVC应用

最近项目要使用websocket构建web端实时推送应用,必需要使用Spring4,Spring3是不支持websocket的。Spring websocket和Spring MVC结合还是紧密的,所以这篇文章先解决下如何配置Spring MVC,后续博客在给出websocket的配置。

2016-01-16 13:53:19 792

原创 maven hello world: 使用maven前的一些配置和命令行创建一个webapp项目

结果发现命令行一直处在下面这种卡住状态,webapp不能创建成功:这是因为,,我们安装完maven后并没有配置setting.xml,那么maven默认使用的是中央仓库,在中国访问中央仓库显然不明智,网速极慢近乎不可用。所以我们必须配置一个 镜像.

2016-01-14 17:39:13 1965

原创 了解hibernate中的native SQL查询

hibernate中使用native SQL:能够返回多个实体对象,能够关联查询。

2016-01-14 11:43:06 3199

原创 使用session.createFilter()完成one-to-many关联关系的集合过滤

使用session.createFilter()能够过滤关联实体的集合。A collection filter is a special type of query that can be applied to a persistent collection or array. The query string can refer to this, meaning the current collection element.

2016-01-12 13:08:10 1526

原创 谈一点我对hibernate关联关系映射的看法

一旦在实体映射文件中配置好关联关系后,当访问关联实体的时候,hibernate会发出查询语句再次查询关联的实体,除非我们自己去设置关联的实体对象。使用filter或者where,既可以实现关联实体的懒加载,也能够实现关联实体的过滤,由于where不能参数化所以没有什么用,filter虽然略显繁琐,但是综合起来看应该是最佳选择了。

2016-01-10 21:10:15 983

原创 了解hibernate的Criteria查询

hibernate提供的Criteria查询更加符合面向对象的做法。当访问college对象关联的studens时候,hibernate还是会发出一个查询语句,返回college下的所有student。如果要实现过滤功能,需要使用hibernate中的ResultTransformer。通过Criteria关联查询可以看出:一旦在实体映射文件中配置好关联关系后,当访问关联实体的时候,hibernate会发出查询语句再次查询关联的实体,除非我们自己去设置关联的实体对象。

2016-01-10 20:26:45 1331

原创 hibernate one-to-many关联查询<set>中使用filter

我们将<filter-def>放在了Student的实体映射文件中,然后在College的实体映射文件<set>中引用过滤器。经过我的验证,这样也是可以的。由此可以看出:<filter-def>是一个全局效果,无论放在哪儿个实体映射文件,效果都是一样的。有一点需要特别注意:<set>的fetch有3个可选值:select、join、subselect。如果将fetch设置成join,那么过滤器失效。设置成select和subselect都是可以过滤的。

2016-01-10 17:46:25 4063

原创 hibernate中的实体名以及动态实体dynamic models

对于POJO实体类来说,类的全限定名就是实体类的名称。我们可以不用写实体类,而是使用Map来替代,Map比实体类具有更大的灵活性。在实体映射文件中,通过<class>元素的entity-name属性来设置实体名称。

2016-01-09 22:33:18 3216

原创 了解hibernate的特性:filter

filter顾名思义,就是只从数据库查询出满足条件的数据,其实就是select语句中的where条件。使用HQL、SQL或者Criteria查询等,是可以很方便地设置查询条件的,所以filter实际上也并没有什么用处。使用SQL或者HQL等方案,必需将查询条件写死在java代码里,而使用filter是将查询条件写在实体映射文件中的。也就是说filter将一些逻辑从代码中转移到配置文件。

2016-01-09 21:51:49 2757

原创 Hibernate的FlushMode与session.flush()

正是由于hibernate的这种缓存机制,在同一个session中多次修改一个记录,最终只会向数据库发出一条update语句。由于session缓存以及脏数据检查机制,能够帮助我们尽可能少地发出SQL语句。FlushMode提供了4种缓存模式:MANUAL、COMMIT、AUTO和ALWAYS。最常用其实是MANUAL和COMMIT策略,如果使用了MANUAL,切记需要手动刷新session缓存。

2016-01-08 16:54:07 5556 1

原创 我对autocommit以及select语句是否需要加事务的一点理解

如果开启了autocommit,数据库服务器自动开启事务(每一条sql语句开始执行的时候),自动提交事务(sql语句执行成功),自动回滚事务(sql语句执行失败)。很显然:autocommit没有什么实际意义,如果要使用事务,就必需关闭autocommit,不然每一条sql都是一个独立的事务,而实际上事务包含了一组sql语句。最佳实践:对于DML操作,我们需要显示开始、显示提交或者回滚事务,哪儿怕事务里面只有一条sql语句。我们知道:一个数据库连接可以开启多个数据库事务。至于一个数据库事务里面多次查询结果是

2016-01-08 13:17:11 15958 2

eclipse最常用的快捷键

这是我个人从网上整理出来的快捷键,日常很常用的列在这里。而且比较清晰,欢迎大家下载。在eclipse提高开发效率

2012-10-12

空空如也

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

TA关注的人

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