spring
文章平均质量分 77
Coding-lover
Keep hungry,Keep foolish(可通过微信联系我:unilay_yang)
展开
-
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
1、基本概念1.1、SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而转载 2015-09-21 00:10:19 · 1562 阅读 · 0 评论 -
java 框架基础知识(6)----线程本地变更,即ThreadLocal-->Spring事务管理
我们知道Spring通过各种模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说它们不能在同一时刻被多个线程共享。虽然模板类通过资源池获取数据连接或会话,但资源池本身解决的是数据连接或会话的缓存问题,转载 2015-06-15 22:11:08 · 861 阅读 · 0 评论 -
java 框架基础知识(7)----事务基础知识-->Spring事务管理
Spring虽然提供了灵活方便的事务管理功能,但这些功能都是基于底层数据库本身的事务处理机制工作的。要深入了解Spring的事务管理和配置,有必要先对数据库事务的基础知识进行学习。 何为数据库事务“一荣俱荣,一损俱损”这句话很能体现事务的思想,很多复杂的事物要分步进行,但它们组成一个整体,要么整体生效,要么整体失效。这种思想反映到数据库上,就是多个SQL语句,要么所有执行成功,要么所有执行失败。转载 2015-06-15 23:52:57 · 572 阅读 · 0 评论 -
java 框架基础知识(1)----反射-->Spring IoC
Java语言允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数、属性和方法等。Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能,这就为使用程序化方式操作Class对象开辟了途径。 简单实例我们将从一个简单例子开始探访Java反射机制的征转载 2015-06-14 11:35:15 · 732 阅读 · 0 评论 -
SSH spring事务管理不回滚问题
Spring的事务回滚,当且仅当捕获到RuntimeException类型异常时,才会回滚,对普通Exception异常无效。以下是我Service层捕获异常,并抛出RuntimeException异常到Action层:@Override public void lock(String id) throws RuntimeException { try { thi转载 2015-06-11 10:50:10 · 806 阅读 · 0 评论 -
java 框架基础知识(9)----HTTP报文-->MVC
学习Web开发不好好学习HTTP报文,将会“打拳不练功,到老一场空”,你花在犯迷糊上的时间比你沉下心来学习HTTP的时间肯定会多很多。HTTP请求报文解剖HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GE转载 2015-06-19 00:16:45 · 849 阅读 · 0 评论 -
java 框架基础知识(8)----国际化信息-->MVC
假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题。对于有国际化要求的应用系统,我们不能简单地采用硬编码的方式编写用户界面信息、报错信息等内容,而必须为这些需要国际化的信息进行特殊处理。简单来说,就是为每种语言提供一套相应的资源文件,并以规范化命名的方式保转载 2015-06-17 23:56:59 · 757 阅读 · 0 评论 -
Spring4+Hibernate4+测试驱动开发时发现的有关问题:No session
Spring4+Hibernate4+测试驱动开发时发现的问题:No session (上) 在Service层上配置了切面加入了事务控制,但是在Dao层上没有配置事务。 用Spring-test编写了测试Dao的类,但是运行的时候报错:org.hibernate.HibernateException: No Session found for current threadat org.spr转载 2015-05-07 17:36:57 · 809 阅读 · 0 评论 -
spring Quartz调度器分类
一、Quartz的特点按作业类的继承方式来分,主要有以下两种:1.作业类继承org.springframework.scheduling.quartz.QuartzJobBean类的方式2.作业类不继承org.springframework.scheduling.quartz.QuartzJobBean类的方式注:个人比较推崇第二种,因为这种方式下的作业类仍然是POJO。按任务调度的触发时机来转载 2015-05-05 18:53:27 · 671 阅读 · 0 评论 -
spring @Autowired注解
1 配置文件的方法我们编写spring框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean都建议定义成私有的域变量。并且要配套写上get和set方法。 Boss拥有Office和Car类型的两个属性:public class Boss{ private Car car; private Office office; //省略 get转载 2015-05-05 15:43:44 · 1080 阅读 · 0 评论 -
java 框架基础知识(2)----动态代理-->Spring AOP
Spring AOP使用动态代理技术在运行期织入增强的代码,为了揭示Spring AOP底层的工作机理,有必要对涉及到的Java知识进行学习。Spring AOP使用了两种代理机制:一种是基于JDK的动态代理;另一种是基于CGLib的动态代理。之所以需要两种代理机制,很大程度上是因为JDK本身只提供接口的代理,而不支持类的代理。 带有横切逻辑的实例我们通过具体化代码实现上一节所介绍例子的性能监视横切转载 2015-06-14 16:52:52 · 748 阅读 · 0 评论 -
java 框架基础知识(3)----PropertyEditor-->Spring IoC
在Spring配置文件里,我们往往通过字面值为Bean各种类型的属性提供设置值:不管是double类型还是int类型,在配置文件中都对应字符串类型的字面值。BeanWrapper填充Bean属性时如何将这个字面值转换为对应的double或int等内部类型呢?我们可以隐约地感觉到一定有一个转换器在其中起作用,这个转换器就是属性编辑器。 “属性编辑器”这个名字可能会让人误以为是一个带用户界面的输入器,其转载 2015-06-14 19:45:31 · 815 阅读 · 0 评论 -
spring 配置Spring数据源
配置一个数据源 Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。DBCP数据源DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还转载 2015-09-18 22:15:05 · 480 阅读 · 0 评论 -
spring 基于XML配置的Cache支持
除了使用注解来声明对Cache的支持外,Spring还支持使用XML来声明对Cache的支持。这主要是通过类似于aop:advice的cache:advice来进行的。在cache命名空间下定义了一个cache:advice元素用来定义一个对于Cache的advice。其需要指定一个cache-manager属性,默认为cacheManager。cache:advice下面可以指定多个cache:c转载 2015-07-16 12:18:51 · 1020 阅读 · 1 评论 -
spring 基于注解的Cache支持
Spring为我们提供了几个注解来支持Spring Cache。其核心主要是@Cacheable和@CacheEvict。使用@Cacheable标记的方法在执行后Spring Cache将缓存其返回结果,而使用@CacheEvict标记的方法会在方法执行前或者执行后移除Spring Cache中的某些元素。下面我们将来详细介绍一下Spring基于注解对Cache的支持所提供的几个注解。@Cache转载 2015-07-16 12:16:30 · 2219 阅读 · 0 评论 -
spring 对Cache的两种支持方式
从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法对于转载 2015-07-16 10:55:47 · 761 阅读 · 0 评论 -
spring 配置Spring对Cache的支持
第一步:声明对Cache的支持(1)基于注解的声明方式配置Spring对基于注解的Cache的支持,首先我们需要在Spring的配置文件中引入cache命名空间,其次通过<cache:annotation-driven />就可以启用Spring对基于注解的Cache的支持。<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www转载 2015-07-16 12:44:45 · 1746 阅读 · 0 评论 -
spring ApplicationContextAware接口介绍
Spring中提供一些Aware相关接口,像是BeanFactoryAware、ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,实现这些Aware接口的Bean在被初始之后,可以取得一些相对应的资源,例如实现BeanFactoryAware的Bean在初始后,Spring容器将会注入BeanFactory的实例,而实转载 2015-07-16 13:54:58 · 918 阅读 · 0 评论 -
spring @Cacheable的用法
在上文《Spring集成memcached的详细介绍》中给大家介绍了一下在Spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式。不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以,本文给大家详细介绍一下@Cacheable的用法。首先,在使用@Cacheable之前,我们要做好准备工作。第一步:要导入相应的j转载 2015-07-16 10:54:06 · 1763 阅读 · 0 评论 -
spring 集成memcached的详细介绍
前提条件:工程需要引入jar包java_memcached-release_2.0.1.jar第一步:添加memcached的配置文件。<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="systemPropertie转载 2015-07-16 10:43:11 · 654 阅读 · 0 评论 -
java 框架基础知识(5)----注解-->Spring配置
有必要对JDK 5.0新增的注解(Annotation)技术进行简单的学习,因为Spring 支持@AspectJ,而@AspectJ本身就是基于JDK 5.0的注解技术。所以学习JDK 5.0的注解知识有助于我们更好地理解和掌握Spring的AOP技术。 了解注解对于Java开发人员来说,在编写代码时,除了源程序以外,我们还会使用Javadoc标签对类、方法或成员变量进行注释,以便使用Javado转载 2015-06-14 23:05:36 · 734 阅读 · 0 评论 -
spring 属性配置
随着Spring的不断发展与完善,早期它的功能可能只看做是IOC(反转控制)的容器,或者其最大的亮点为DI(依赖注入),但是现在随着Spring 2.5.6 的Release发布及3.0版的推出及其他Spring工程的发布,如(Spring Batch,web Flow),其功能越来越多。通过上下文统一管理各种资源,通过相关设计模式完成属性的注入或实现方法,其次新的版本通过声明注入使得配置文件转载 2014-12-10 00:09:33 · 643 阅读 · 0 评论 -
spring MVC原理
Spring MVC工作流程图图一图二 Spring工作流程描述 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获; 2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMappin转载 2014-11-30 23:48:24 · 756 阅读 · 0 评论 -
spring 使用外部属性文件
概要:使用外部属性文件在配置文件里配置Bean时,有时需要在Bean的配置里混入系统部署的细节信息(例如:文件路径,数据源配置信息等)而这些部署细节实际上需要和Bean配置相分离Spring提供了一个PropertyPlaceholderConfigurer的BeanFactory后置处理器,整个处理器允许用户将Bean配置的部分内容外移到属性文件中。可以在Bean原创 2014-06-03 18:35:38 · 1414 阅读 · 0 评论 -
spring 注解方式配置Bean
概要:原创 2014-06-04 01:20:55 · 3149 阅读 · 1 评论 -
spring FactoryBean配置Bean
概要:实例代码详解:目录结构Car.javapackage com.coslay.beans.factorybean;public class Car { private String brand; private double price; public String getBrand() { return brand; }原创 2014-06-03 22:46:50 · 1167 阅读 · 0 评论 -
spring bean生命周期
概要:IOC容器中Bean的生命周期Spring IOC容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的任务Spring IOC容器对Bean的生命周期进行管理的过程:通过构造器或工厂方法创建Bean实例为Bean的属性设置值和对其他Bean的引用调用Bean的初始化方法Bean可以使用了当容器关闭时,调用Bean的销毁方原创 2014-06-03 20:50:21 · 1086 阅读 · 0 评论 -
spring 通过工厂方法配置Bean
概要:通过调用静态工厂方法创建Bean调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中。当客户端需要对象时,只需要简单地调用静态方法,而不用关心创建对象地细节。要声明通过静态方法创建的Bean,需要在Bean地class属性里指定拥有该工厂的方法的类,同时在factory-method属性里指定工厂方法的名称。最后,使用元素为该方法传递方法参数原创 2014-06-03 22:13:57 · 1648 阅读 · 0 评论 -
spring SpEL
概要:Spring表达式语言:SpELSpring表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言语言类似于EL:SpEL使用#{...} 作为定界符,所有在大括号中的字符都将被认为是SpELSpEL为bean的属性进行动态赋值提供了便利通过SpEL可以实现:通过bean的id对bean进行引用调用方法以及引用对象中的属原创 2014-06-03 19:46:34 · 1341 阅读 · 0 评论 -
spring bean作用域
概要:实例代码详解:目录结构Car.javapackage com.coslay.beans.autowire;public class Car { private String brand; private double price; public String getBrand() { return brand; } p原创 2014-06-03 16:15:55 · 1216 阅读 · 0 评论 -
spring 配置bean-自动装配
概要:(蓝色为本节所讲)XML配置里的Bean自动装配Spring IOC容器可以自动装配Bean。需要做的仅仅是在的autowire属性里指定自动装配的模式byType(根据类型自动装配):若IOC容器中有多个与目标Bean类型一致的Bean,这种情况下,Spring将无法判断哪个Bean最合适该属性,所以不能执行自动装配byName(根据名称自动装配):原创 2014-06-03 15:05:06 · 1242 阅读 · 0 评论 -
spring helloworld
spring 是什么?IOC和AOP开源框架可以原本需要使用EJB繁琐的配置变的简单spring优点?轻量级:spring是非侵入性的,基于spring开发的应用中的对象不依赖于spring的api依赖注入:(DI,IOC)面向切面编程(AOP)容器:spring是一个容器,因为它包含并且管理应用对象的生命周期框架:spring实现了使用简单的组件配置合原创 2014-06-02 23:27:16 · 1193 阅读 · 0 评论 -
spring 事务管理的前世今生
1 Spring 事务属性分析事务管理对于企业应用而言至关重要。它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性。就像银行的自助取款机,通常都能正常为客户服务,但是也难免遇到操作过程中机器突然出故障的情况,此时,事务就必须确保出故障前对账户的操作不生效,就像用户刚才完全没有使用过取款机一样,以保证用户和银行的利益都不受损失。在 Spring 中,事转载 2014-06-14 11:34:45 · 784 阅读 · 0 评论 -
spring 配置属性细节
概要(红色为上一篇所讲,蓝色为本节所讲)字面值字面值:可用字符串表示的值,可以通过元素标签或value属性进行注入基本数据类型及其封装类、String等类型都可以采取字面值注入的方式若字面值中包含特殊字符,可以使用把字面值包裹起来引用其他Bean组成应用程序的Bean经常需要相互协作完成应用程序的功能,要使Bean能够相互访问,就必须在Bea原创 2014-06-03 11:24:09 · 1514 阅读 · 0 评论 -
spring bean之间的关系:继承;依赖
概要:‘继承Bean配置Spring允许继承bean的配置,被继承的bean称为父bean,继承这个父Bean的Bean称为子Bean子Bean从父Bean中继承配置,包括Bean的属性配置子Bean也可以覆盖从父Bean继承过来的配置父Bean可以作为配置模版,也可以作为Bean实例,若只想把父Bean作为模版,可以配置的abstract属性为true,这样Spr原创 2014-06-03 15:56:12 · 1376 阅读 · 0 评论 -
spring IOC原理[通俗解释一下]
1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系统中耦合的对象如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合转载 2014-11-30 22:02:52 · 695 阅读 · 0 评论 -
spring ioc原理(看完后大家可以自己写一个spring)
控制反转/依赖注入 最近,买了本Spring入门书:spring In Action 。大致浏览了下感觉还不错。就是入门了点。Manning的书还是不错的,我虽然不像哪些只看Manning书的人那样专注于Manning,但怀着崇敬的心情和激情通览了一遍。又一次接受了IOC 、DI、AOP等Spring核心概念。 先就IOC和DI谈一点我的看法。IOC(DI):其实这个Spring架转载 2014-11-30 21:52:52 · 606 阅读 · 0 评论 -
spring 源码解读Spring IOC原理
Spring IOC设计原理解析:本文乃学习整理参考而来一、 什么是Ioc/DI?二、 Spring IOC体系结构(1) BeanFactory(2) BeanDefinition三、 IoC容器的初始化1、 XmlBeanFactory(屌丝IOC)的整个流程2、 FileSystemXmlApplicatio转载 2014-11-30 22:48:00 · 3315 阅读 · 2 评论 -
spring 配置bean
概要:在spring的IOC容器里配置Bean在xml文件中通过bean节点来配置beanid:Bean的名称spring容器在spring IOC容器读取Bean配置创建Bean实例之前,必须对它进行实例化。只有在容器实例化后,才可以从IOC容器里获取Bean实例并使用spring提供了两种类型的IOC容器实现Bea原创 2014-06-03 09:54:13 · 1081 阅读 · 0 评论 -
spring Quartz开发定时器
1、准备Jar包 在Spring所有包齐全的前提下还要导入一个定时器工具包:quartz-1.6.2.jar2.开发定时器类,实例代码如下: public class TriggerUtil { private TriggerUtil() { } public void expDataBase() { S转载 2014-11-11 23:04:46 · 612 阅读 · 0 评论