
Spring
文章平均质量分 71
shan9liang
悟空
展开
-
关于AOP的几个问题
什么是AOP? AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。 为什么使用AOP? 将通用需求功能从不相关类之中分离出来;同时,能够使得很多类共享一个行为,一旦行为发生变化,不必修改很多类,只要原创 2013-04-18 21:04:53 · 3526 阅读 · 9 评论 -
《标记》-Spring的一些偏方
一、Environment和Profile的概念Spring在容器中引入Environment和Profile的概念。每个应用程序上下文都有一个都可以访Environment对象。ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicati原创 2015-05-31 22:08:30 · 1232 阅读 · 3 评论 -
《标记》-在自定义的Spring拦截器中通过request获取到该请求对应于Controller中的目标method方法对象
为什么要读取method方法对象?当然拿到Method对象我们可以做很多事,例如权限认证的时候,判断用户是否有访问该方法的权限。spring-webmvc-3.1.0.RELEASE及以上版本最终配置--------------------------------------------begin原创 2015-04-30 23:46:08 · 2774 阅读 · 1 评论 -
统一认证系统实现要点-资源认证
权限系统有一个普遍的需求,即:用户登录系统后,在浏览器地址栏直接输入未经授权的URL,应该拒绝其访问。目前有很多线程的权限框架对这部分进行了封装,如shiro,但是如果不想引入新框架,保持系统的轻量,该如何做呢?对于普通Spring MVC项目来说,每个@RequestMapping标注的方法应该就对应了一个操作行为。如何配置用户权限信息让用户在到达每个操作行为原创 2015-04-30 23:44:51 · 1374 阅读 · 2 评论 -
SpringMVC返回json数据的三种方式
1、第一种方式是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew。如: 或者同样要用jackson的jar包。2、第二种使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson。利用HttpServletResponse,然后获取response.getOutputStream()或respon原创 2014-12-30 09:02:59 · 280894 阅读 · 36 评论 -
由SpringJdbc引发的一点思考
本来项目中使用的是Hibernate,后来换Mybatis,但由于项目中很多sql语句是动态的,无实体,参数不固定,列也不固定,Mybatis显得太重量了,所以我又选择用spring jdbc这种更轻量的封转替换掉原来的jdbc,更换dao层真心让我想吐了。其实,无论Spring jdbc,Hibernate,还是mybatis都是对jdbc的封装,封装不变的部分,留下可变的部分让我们自己原创 2014-11-24 21:56:28 · 9465 阅读 · 9 评论 -
《玩转Spring》第一章 PropertyPlaceholderConfigurer扩展
引——做了那么多j2ee项目,一直在使用Spring,积累了很多不错的实践,如利用Spring扩展点完成特殊需求,如何对Spring项目进行单元测试,如何优化Spring的配置文件,Spring对其他框架的扩展支持等等,想通过一个系列文章和大家分享下,没有严格的顺序,哪些有意思就先写哪些。第一篇来个简单的,扩展spring类实现自动读取配置文件在使用原创 2014-06-10 18:07:34 · 4901 阅读 · 13 评论 -
自己动手开发IOC容器
我们广大程序员总是谈论IoC,可是少有人将注意力放在IoC如何实现上,在本文中,我将用简要的语言,配合一些图例,从需求,设计,代码三方面来描述如何实现一个简单的IoC容器。代码也已公布,见我的CSDN CODE,地址:https://code.csdn.net/shan9liang/ioccontainer原创 2014-07-09 15:13:11 · 8450 阅读 · 25 评论 -
SSH框架总结(框架分析+环境搭建+实例源码下载)
首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。 集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。 Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用H原创 2013-04-25 10:00:28 · 549910 阅读 · 683 评论 -
《玩转Spring》第二章 BeanPostProcessor扩展
上一章,介绍了如何扩展spring类实现自动读取配置文件。这一章,我们介绍如何通过实现BeanPostProcessor接口,对容器中的Bean做一层代理,来满足我们的个性化需求。一、基本原理我很不想贴代码,有时候语言是空洞的,又不得不贴代码,有时候感觉用代码来说明一件事反而更容易些。import org.springframework.beans.Bean原创 2014-06-25 10:53:47 · 11002 阅读 · 14 评论 -
扩展spring类实现自动读取配置文件
在使用spring的时候,我们使用Properties配置器把properties文件装载到Spring的上下文中,如下: 这样在Spring的配置文件中可以用表达式来获得load进来的properties内容,如下: lookup-on-startup="true" cache原创 2014-04-15 11:25:58 · 7452 阅读 · 15 评论 -
SpringMVC+Spring3+Hibernate4开发环境搭建
早期的项目比较简单,多是用JSP 、Servlet + JDBC 直接搞定,后来使用 Struts1(Struts2)+Spring+Hibernate, 严格按照分层概念驱动项目开发,这次又使用 Spring MVC取代Struts来进行开发。MVC已经是现代Web开发中的一个很重要的部分,下面介绍一下SpringMVC+Spring3+Hibernate4的开发环境搭建先大致看一下项目原创 2013-06-24 08:01:32 · 72865 阅读 · 23 评论 -
Struts2+Spring3+Mybatis3开发环境搭建
本文主要介绍Struts2+Spring3+Mybatis3开发环境搭建Struts和Spring不过多介绍。MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old J原创 2013-06-12 16:38:24 · 20949 阅读 · 18 评论 -
测试pager-taglib
Pager-taglib,支持多种风格的分页显示。实际上她是一个Jsp标签库,为在JSP上显示分页信息而设计的一套标签,通过这些标签的不同的组合,会形成多种不一样的分页页面,风格各异,她自带的DEMO就有七种左右的分页风格,包括Google的分页风格。而需要订制自已的风格的分页页面也非常简单。pg:pager 这个标签用来设置分页的总体参数,一切分页标签都在其内工作。 url原创 2013-05-21 08:35:52 · 2164 阅读 · 2 评论 -
Spring核心ioc
IoC,Inversion Of Control 即控制反转,由容器来管理业务对象之间的依赖关系,而非传统方式中的由代码来管理。其本质,即将控制权由应用程序代码转到了外部容器,控制权的转移就是所谓的反转,其带来的最大的好处是降低了业务对象之间的依赖程度,即实现了解耦。 Spring的IoC容器主要使用DI(Dependency Injection,依赖注入)方式实现的。不需要主动查找,原创 2013-05-01 19:16:17 · 8727 阅读 · 8 评论 -
使用Spring-Cache的两条限制
Spring-Cache的注解实现原理是Spring AOP,而Spring AOP的默认模式是代理(mode="proxy"),所以注定了以下两条限制:基于注解的缓存仅适用于public方法基于注解的缓存仅适用于Bean的外部调用,即某bean的methord1 调用自身的methord2时,缓存不会生效如果要解决上述限制,考虑Spring AOP配置为AspectJ的方式(mode="aspe...原创 2015-05-31 22:08:50 · 1177 阅读 · 1 评论