Spring
杨文寿
个人网站:www.yangwenshou.com
展开
-
Spring的核心机制依赖注入简介
Spring能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现,Service对象无须关心持久层对象的具体实现,各层对象的调用完全面向接口。当系统需要重构时,代码的改写量将大大减少原创 2012-06-20 07:51:30 · 1437 阅读 · 1 评论 -
spring tx:advice 和 aop:config 配置事务
xml version="1.0" encoding="UTF-8"?> beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springfr原创 2012-06-30 08:08:45 · 9779 阅读 · 1 评论 -
spring事务处理
1、事务的处理交给了spring来管理,要在applicationContext.xml文件中上配置事务管理类: Xml代码 //实施事务管理的bean bean id=”transactionManager” class=”org.springframwork.orm.hibernate3.HibernateTransactionManager”>原创 2012-07-01 08:19:02 · 1400 阅读 · 1 评论 -
Spring ServletContextListener的用法
这个J2EE小提示阐述了ServletContextListener的用法。这个事件类作为Web应用服务的一部分,处理Web应用的 servlet上下文(context)的变化的通知。这可以解释为,好像有个人在服务器旁不断地通知我们服务器在发生什么事件。那当然需要监听者了。因 此,在通知上下文(context)初始化和销毁的时候,ServletContextListner非常有用。impo原创 2012-07-15 07:34:31 · 6325 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制原创 2012-07-15 07:44:23 · 1057 阅读 · 1 评论 -
在spring的bean中获取ServletContext
我的需求是获取spring开发的web项目在服务器上的绝对路径。 进而引申到我需要知道servletContext,因为servletContext有一个servletContext.getRealPath("/");方法,这个方法就能获取项目的绝对路径。 常规方式下我们如何获取servletContext呢?我们需要让我们的类继承HttpServlet类,然后获取servle原创 2012-07-15 07:16:30 · 1901 阅读 · 0 评论 -
OpenSessionInViewFilter作用及配置
一、作用Spring为我们解决Hibernate的Session的关闭与开启问题。 Hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行。如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加载领域对象的 Hibernate原创 2012-07-15 07:49:59 · 907 阅读 · 1 评论 -
OpenSessionInViewFilter——>TransactionSynchronizationManager
[java] view plaincopypublic abstract class TransactionSynchronizationManager { TransactionSynchronizationManager是管理需要同步的事务资源,也可以管理线程。下面介绍一下TransactionSynchronizationManager类原创 2012-07-18 09:08:02 · 3365 阅读 · 1 评论 -
Spring的替代方案
1.2.5 Spring的替代方案回顾我们曾评论过的一些开源项目,我们会发现Spring并不是唯一提供依赖注入功能或从上至下建立应用的框架。事实上,如果仔细想想,有太多这样的框架。本着开放的精神,我们简略地介绍其中的几个,但是我们相信其中没有一个能提供Spring这样丰富的解决方案。1. PicoContainerPicoContainer(www.picocontaine原创 2012-09-20 19:48:33 · 3668 阅读 · 0 评论 -
Spring安全权限管理(Spring Security) .
1.Spring Security简要介绍Spring Security以前叫做acegi,是后来才成为Spring的一个子项目,也是目前最为流行的一个安全权限管理框架,它与Spring紧密结合在一起。Spring Security关注的重点是在企业应用安全层为您提供服务,你将发现业务问题领域存在着各式各样的需求。银行系统跟电子商务应用就有很大的不同。电子商务系统与企业销售自动化工原创 2012-10-29 13:23:38 · 1507 阅读 · 2 评论 -
MVC三层模型(struts+spring+hibernate)总结
简单的说:struts 控制用的hibernate 操作数据库的spring 用解耦的详细的说:STRUTS 在 SSH 框架中起控制的作用 , 其核心是 Controller, 即 ActionServlet, 而 ActionServlet 的核心就是 Struts-confi g.xml. 主要控制逻辑关系的处理 .hibernate 是数据持原创 2012-07-01 08:29:23 · 7891 阅读 · 1 评论 -
Struts,Spring,Hibernate面试题总结
Hibernate工作原理及为什么要用? 原理: 读取并解析配置文件读取并解析映射信息,创建SessionFactory打开Sesssion创建事务Transation持久化操作提交事务关闭Session关闭SesstionFactory为什么要用: 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。Hibernate是一个基于JDBC的原创 2012-07-01 08:23:22 · 2108 阅读 · 1 评论 -
详解Spring中bean的作用域
如何使用spring的作用域:这里的scope就是用来配置spring bean的作用域,它标识bean的作用域。在spring2.0之前bean只有2种作用域即:singleton(单例)、non-singleton(也称prototype),Spring2.0以后,增加了session、request、global sessi原创 2012-06-21 15:57:35 · 1102 阅读 · 1 评论 -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener ->原创 2012-06-25 08:40:26 · 940 阅读 · 1 评论 -
Spring Struts2 零配置
第一种方式:className用注解配置action 是:@Action(value="/action"),但将注解和spring联系起来,我们看文档知道,只需要@Action(value="/action" className="spring中的ID"),这样,当放问这个action时,struts2就向spring要action,spring则会通过这个className来匹配id,然后返原创 2012-06-25 08:34:44 · 1503 阅读 · 1 评论 -
Quartz Cron 触发器
CronTrigger 支持比 SimpleTrigger 更具体的调度,而且也不是很复杂。基于 cron 表达式,CronTrigger 支持类似日历的重复间隔,而不是单一的时间间隔 —— 这相对 SimpleTrigger 而言是一大改进。Cron 表达式包括以下 7 个字段:秒分小时月内日期月周内日期年(可选字段)特殊字符Cron原创 2012-07-06 12:28:23 · 1423 阅读 · 0 评论 -
Spring中的Quartz配置
首先我们来写一个被调度的类: package com.kay.quartz;public class QuartzJob { public void work() { System.out.println("Quartz的任务调度!!!"); } } Spring的Quartz配置文件:xml version="1.0" encoding原创 2012-07-07 07:24:17 · 1921 阅读 · 1 评论 -
struts2 spring 整合 配置
(1)在eclipse中配置好struts2(2)把struts2-spring-plugin-2.0.11.2.jar包复制到WEB-INF\lib目录(3)在web.xml中配置spring org.springframework.web.context.ContextLoaderListener记住,如果您之前用过spring,请把spring配置去掉。 cont原创 2012-06-25 08:20:31 · 1232 阅读 · 0 评论 -
spring 监听器 IntrospectorCleanupListener
spring中的提供了一个名为org.springframework.web.util.IntrospectorCleanupListener的监听器。它主要负责处理由 JavaBeans Introspector的使用而引起的缓冲泄露。spring中对它的描述如下: 它是一个在web应用关闭的时候,清除JavaBeans Introspector的监听器.在web.xml中注册这原创 2012-06-27 07:50:29 · 1407 阅读 · 1 评论 -
Quartz -JOB类型 与 动态设定Trigger参数
一 JOB State在通过MethodInvokingJobDetailFactoryBean在运行中动态生成的Job,配置的xml文件有个concurrent属性,表示job是否可以并行运行:如果一个job的业务处理发费的时间超过了job的启动的间隔时间(repeatInterval),这个属性非常有用。如果为false,那么,在这种情况下,当前job还在运行,那么下一个job只能延时原创 2012-07-11 06:57:55 · 10732 阅读 · 4 评论 -
spring LocalSessionFactoryBean转换为hibernate 的sessionfactory
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http:原创 2012-06-30 07:54:19 · 1808 阅读 · 0 评论 -
Spring Security加密策略
Acegi 对于密码提供三种方式:明文及不采用任何加密方式、MD5加密方式、哈希算法加密方式。只需要在DAO的认证管理器中分别加入以下对应配置:第一种:不使用任何加密方式的配置<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationP原创 2012-12-25 15:51:01 · 7808 阅读 · 1 评论