spring
文章平均质量分 77
partner4java
这个作者很懒,什么都没留下…
展开
-
简单注解实现集群同步锁(spring+redis+注解)
互联网面试的时候,是不是面试官常问一个问题如何保证集群环境下数据操作并发问题,常用的synchronized肯定是无法满足了,或许你可以借助for update对数据加锁。本文的最终解决方式你只要在方法上加一个@P4jSyn注解就能保证集群环境下同synchronized的效果,且锁的key可以任意指定。本注解还支持了锁的超时机制。本文需要对redis、spring和spring-data-r原创 2016-08-13 13:57:11 · 13540 阅读 · 7 评论 -
Spring技术内幕3Spring AOP的实现
Aspectj:源代码和字节码级别的编织器,用户需要使用不同于Java的新语言。AspectWerkz:AOP框架,使用字节码动态编织器和XML配置。JBoss-AOP:基于拦截器和元数据的AOP框架,运行在JBoss应用服务器上。以及在AOP中用到的一些相关的技术实现。BCEL:java字节码操作类库。Javassist:Java字节码操作类库,JBoss的一个子项目。原创 2012-06-10 18:43:11 · 6151 阅读 · 0 评论 -
Spring BeanFactory、ApplicationContext层次结构和BeanDefinition解析过程
先说层次架构// 水桶和上下文类层次概要(还有如何打水)// 当你在使用FileSystemXmlApplicationContext之类的类时,你会感觉里面的方法调用错综复杂,层次很多。// 那么,我们先从主要类的作用和层次说起,让我们有个大体的概念和印象,便于后面的分析。class Waterpot { // 水桶: // 顺序基本是按照继承的先后顺序 //原创 2012-05-29 22:40:27 · 4955 阅读 · 0 评论 -
Bean第一次从容器获取的时候,如果bean配置了lookup-method,那么就使用了cglib来进行调用方法转换
Bean第一次从容器获取的时候,如果bean配置了lookup-method,那么就使用了cglib来进行调用方法转换:我们默认的容器DefaultListableBeanFactory,其中的getBean加载的时候会走到下面的代码:org.springframework.beans.factory.support.SimpleInstantiationStrategy:原创 2012-05-27 19:27:45 · 2439 阅读 · 0 评论 -
Spring技术内幕2Spring Framework的核心:IoC容器的实现
1SpringIoC容器概述IoC容器和依赖反转模式:早在2004年,Martin Fowler就提出了“哪些方面的控制被反转了?”这个问题。他总结出是依赖对象的获得被反转了。基于这个结论,他为控制反转创造了一个更好的名字:依赖注入。许多非凡的应用(比HelloWorld.java更加优美,更加复杂)都是由两个或是更多的类通过彼此的合作来实现业务逻辑,这使得每个对象都需要,与其合作的对原创 2012-03-19 22:30:54 · 4562 阅读 · 0 评论 -
Spring技术内幕1 Spring的设计理念和整理架构
1Spring的各个子项目Spring Framework(Core):The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment pl原创 2012-03-10 16:58:51 · 1634 阅读 · 0 评论 -
Spring高级程序设计 17 基于Spring MVC的Web应用开发
1MVC架构MVC是模型(model)、视图(view)、控制器(controller)。有些应用需要处理用户请求并操纵和显示数据,MVC模式可以简化其实现。该模式由3个组件构成:1、模型表示用户希望看到的数据。通常情况下,模型由JavaBean构成。2、视图负责显示模型。文件编辑器中的视图组件会以恰当的格式显示一段文本,视图在Web应用中会生成客户端浏览器可以解释原创 2012-03-05 21:21:29 · 4324 阅读 · 1 评论 -
Spring远程访问
前言对于不适用EJB的Java EE应用来说,构建分布式应用的常见方式就是RMI(remote method invocation,Java远程方式调用),他使的运行在一个JVM上的Java对象能被另一个JVM访问到。RMI相当复杂,而EJB引入的一个地方就在与他对开发者隐藏了底层RMI的细节。Spring提供了成为Spring Remoting的全面的特性集来简化分布式应用的创建原创 2012-02-22 21:49:01 · 1767 阅读 · 0 评论 -
spring timer 基础应用
调度事物: 从java 1.3开始,java sdk就通过java.until.Timer类提供基本的调度功能。 这个类允许你调度一个任务(通过java.until.TimerTask子类定义)按任意周期运行。 Spring通过TimerFactoryBean向应用程序上下文提供对JavaTimer的支持。 1、使用Java Timer调度任务 创建类T原创 2011-04-16 14:38:00 · 1853 阅读 · 0 评论 -
Spring 事务不回滚
熬夜没好处啊!刚才做Spring的测试不回滚,总结了一下可能的原因:1、无论是2、你自己捕获异常了,没有抛出去,让spring知道3、你调用的方法不是自己的,而是继承的(让继承的类实现了你的一些接口,且,你没有重载),spring是不会去包裹那个父类的方法,也包裹不到(这个观点,没有绝对证实哈)。就是,spring只管你目前调用的类的能看得到的方法。解决的方式是,在你的daosup原创 2011-12-22 02:01:27 · 3985 阅读 · 0 评论 -
《Spring攻略》 第2章 高级Spring IoC容器
1调用静态工厂方法创建Bean问题:你打算调用一个静态工厂方法在Spring IoC容器中创建一个Bean,静态工厂方法的目的是在静态方法中封装对象创建过程。解决方案:Spring支持调用一个静态工厂方法创建Bean,这个方法应该在factory-method属性中指定。工作原理:factory-methodpublic class ProductCreator { p原创 2012-07-08 00:44:52 · 1947 阅读 · 0 评论 -
《Spring攻略》 第1章 Spring简介 - IoC基础
1实例化SpringIoC容器问题:你必须实例化Spring IoC容器,读取配置来创建bean实例。然后,你可以从Spring IoC容器中得到可用的bean实例。解决方案:Spring提供了两种IoC容器实现类型。基本的一种称为Bean工厂(Bean Factory)。另一种称为应用程序上下文(Application Context),这是对bean工厂的一种兼容扩原创 2012-06-26 23:41:23 · 1908 阅读 · 0 评论 -
《Spring攻略》第3章 Spring AOP和AspectJ支持
1启用Spring的AspectJ注解支持问题:Spring支持在其AOP框架中使用AspectJ注解编写的POJO aspect。但是,你必须首先启用Spring中的AspectJ注解支持。解决方案:你只需要在Bean配置文件中定义一个空的XML元素,就可以启用Spring IoC容器中的AspectJ注解支持。然后,Spring将自动为匹配你的AspectJ asp原创 2012-07-16 20:27:21 · 4635 阅读 · 0 评论 -
《partner4java 讲述Spring入门》之第一步:Spring概述与Spring IoC
主要讲述了Spring IoC容器的使用,适合Spring入门开发的读者。原创 2012-11-18 00:41:53 · 7711 阅读 · 6 评论 -
p4jsecurity(内测版) -- Spring Security 3 界面化管理权限功能 扩展
(声明:本设计目前还没有应用于大型系统权限管理,不排除会有一些问题,仅作技术储备,便于后期查阅;本文中中的Demo并没有进行完整的重构,仅作技术参考)场景:1、界面化的管理权限、分配用户权限。(非配置文件、注解形式;可理解为界面化的添加具体权限信息,并分配指定用户权限)2、依赖于Spring Security。对后期权限系统的扩展必然会有好处,但是查找文档没有发现Spring Se原创 2013-04-04 17:35:12 · 3600 阅读 · 0 评论 -
p4jmvc 内测版
(声明:目前p4jmvc内测版只支持Spring MVC,仅作各位技术参考。)附件源码下载地址:http://download.csdn.net/detail/partner4java/5220557作用:简化Controller,常用的CURD操作,Controller不需要写一行代码,只需要继承即可。注意: p4jmvc主要借助了p4jorm。如:我们对城市管理的Control原创 2013-04-04 17:35:29 · 2328 阅读 · 0 评论 -
缓存 SpringModules Cache ( spring 和 ehcache的整合 ) spring提供缓存bean方案
下面格式整理有些混乱,spring3.1如何使用cache 缓存请参照:spring cache http://blog.csdn.net/partner4java/article/details/8600666引自: Spring程序有一种更优雅的缓存解决方案。Spring Modules项目(http://springmodules.dev.java.net)原创 2011-03-06 21:33:00 · 7909 阅读 · 13 评论 -
《partner4java 讲述Spring入门》之:spring cache支持(spring3.1如何使用cache 缓存)
(以下内容参照自官方文档;p4jorm下载地址http://blog.csdn.net/partner4java/article/details/8629578;cache demo下载地址http://download.csdn.net/detail/partner4java/5102477)若您只想尽快简单的使用,可以直接跳转到“第三部分:Hello World”1、引言:原创 2013-03-02 19:12:20 · 12018 阅读 · 0 评论 -
中国城市数据 上下级关系 区号 邮编 entity by jpa
主要是脚本里包含中国城市的数据,如果对数据没兴趣,不要继续往下看了。可导入使用,一直到县或区,包括电话区号和邮编。(数据没有经过严格验证,若存在问题,请邮件联系partner4java@163.com)脚本下载地址:http://download.csdn.net/detail/partner4java/5055425代码示例下载地址:http://download.csdn.net/de原创 2013-02-05 22:47:07 · 2833 阅读 · 0 评论 -
《partner4java 讲述Spring源码》之第一步:Spring IoC
(导读:《partner4java 讲述Spring源码》仅为辅助学习,关键是我是一个“菜鸟”,希望老鸟们还是自己去研究源码比较妥当)SpringIoC容器概述IoC容器和依赖反转模式:早在2004年,Martin Fowler就提出了“哪些方面的控制被反转了?”这个问题。他总结出是依赖对象的获得被反转了。基于这个结论,他为控制反转创造了一个更好的名字:依赖注入。许多非凡的应用(比原创 2012-12-08 11:49:17 · 2572 阅读 · 2 评论 -
《partner4java 讲述Spring入门》之第二步:Spring AOP
导读,我们本章主要分为三部分:1、什么是AOP?概念和简单示例讲解。2、Spring中AOP基础部分。3、Spring中AOP使用升级篇。第一部分:什么是AOP?AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。原创 2012-11-29 16:43:41 · 2903 阅读 · 1 评论 -
Spring Security helloworld
首先,不好意思,这篇文字不会太好,因为实在没有太好的资料去查阅,有个官方文档英文的,试试硬着头皮看看吧,然后再整理篇。。。0Spring Security介绍Spring Security是一种为基于Spring的应用程序提供说明性安全保护框架。他提供了全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权。在过去Spring Security被原创 2012-08-31 10:36:16 · 4452 阅读 · 0 评论 -
spring-framework-2.5.6.SEC03 + hibernate-3.6.4 + struts-2.3.1
整合demo--代码地址:http://download.csdn.net/detail/partner4java/3948124原创 2011-12-20 22:10:22 · 1595 阅读 · 0 评论 -
Spring强制使用CGLIB代理事务
代理的核心就是拦截方法调用,并在需要的时候执行匹配某方法的通知链。 和CGLIB不同的是,JDK代理只能代理接口,不能代理类。 使用JDK代理时,如何处理一个特定的方法调用的决定是在程序运行时做出的,也就是在每次方法被调用时。使用CGLIB代理可以边开这种处理方法,CGLIB会在运行中随时为代理创建新类的字节码,并尽可能的重用已经生成的类的字节码。转载 2011-12-07 10:45:57 · 8278 阅读 · 0 评论 -
Spring高级程序设计 5 Spring AOP基础
1AOP概念 AOP的核心概念: 连接点(jointpoint):一个连接点是一个程序执行过程中的特定点。 通知(advice):在某一特定的连接点处运行的代码成为“通知”。 切入点(pointcut):切入点是用来定义某一个通知该何时执行的一组连接点。 方面(aspect):通知和切入点的组合叫做方面。 织入(weaving):织入是将方面真正的加入程序代码的过程。原创 2011-11-21 17:28:45 · 838 阅读 · 0 评论 -
Spring高级程序设计 6 Spring AOP 进阶
1AOP简介 通知(Advice):通知定义了切面是什么以及何时使用。除了要描述切面要完成的工作,通知还解决了何时执行这个工作的问题。 连接点(Joinpoint):连接点是在程序执行过程中能够插入切面的一个点。这个店可以是方法被调用时、异常被抛出时、甚至字段被编辑时。切面代码可以通过这些点插入到程序的一般流程之中,从而添加新的行为。 切入点(Poincut):切入点可以缩小切面通知的原创 2011-11-22 11:50:07 · 1741 阅读 · 0 评论 -
静态代理(static proxy)和动态代理(dynamic proxy)
两种类型AOP:静态AOP和动态AOP。 静态代理: 代理对象与被代理对象必须实现同一个接口。 demo:view plaincopy to clipboardprint?package cn.partner4java.proxy.staticproxy; /** * 静态代理,统一接口 * @autho原创 2011-11-17 16:39:12 · 1581 阅读 · 0 评论 -
Spring高级程序设计 4 spring 进阶(介绍了大量的Spring特性和对控制反转的补充)(笔记)
1Spring对应用程序可移植性的影响 不要凭空杜撰对可移植性的需求。在许多情况下,终端用户并不关心你的应用程序是否能在3个不同的控制反转容器上运行,而只要求他能稳定运行。 2管理bean的生命周期 两个生命周期时间与bean关系尤为重要: postinitialization(初始化后)和predestruction(销毁前)。 (Spring并不管理那些原创 2011-11-16 16:29:33 · 10728 阅读 · 3 评论 -
Spring BeanPostProcessor类 (在Spring实例化bean的前后执行一些附加操作)
在Spring实例化bean的前后执行一些附加操作。 有时,你会发现需要立刻在Spring实例化一个bean的前后执行一些附件操作。这些操作可以简单到修改一个bean,也可以复杂到返回一个完全不同的对象。 BeanPostProcessor接口包含两个方法: postProcessBeforeInitialization:在Spring调用任何bean的初始化钩子(例如Initia原创 2011-11-15 17:06:09 · 5181 阅读 · 0 评论 -
Spring 使用ApplicationContextAware (bean中获取在ApplicationContext的引用)
一个bean可以实现BeanFactoryAware接口的方式获得一个他所在BeanFactory的引用。同样,也可以通过实现ApplicationContextAware接口获得他在ApplicationContext的引用。view plaincopy to clipboardprint?public class ContextAwareDemo imp原创 2011-11-16 10:11:42 · 3022 阅读 · 0 评论 -
Spring 管理bean的生命周期
两个生命周期时间与bean关系尤为重要: postinitialization(初始化后)和predestruction(销毁前)。 (Spring并不管理那些被配置成非单例bean的生命周期) 指定初始化方法: view plaincopy to clipboardprint?package cn.partner4java.in原创 2011-11-14 11:59:05 · 966 阅读 · 0 评论 -
Spring 如何将无法使用new操作符新建的对象作为spring的bean (使用FactoryBean接口)
当你无法使用new操作符来新建类对象,但又想将他们作为Spring的bean来使用时,FactoryBean是一个完美的解决方案。 FactoryBean接口声明了3个方法:getObject、getObjectType和isSingleton。 getObject:方法获取由FactoryBean创建的对象。这是一个真正被传给其他使用FactoryBean作为协作者的bean的对象。原创 2011-11-14 14:25:25 · 2709 阅读 · 0 评论 -
spring 事务管理(基础)
一下内容也是spring in action2的内容,因为感觉实在没太多难点,就没写demo事物在软件中扮演一个重要的角色,用户确保数据和资源永远不会处在一种不一致的状态下。没有实物,就可以会出现数据被破坏,或者是应用程序中的业务规则缺乏在一致性。ACID原子性:事物由一个或多个行为捆绑在一起组成,好像是一个单独的工作单位。一致性:一但一个事物结束了(不管成功与否),系统所处的状态和它的业务规则是一直的。隔离性:事物应该允许多名用户操作同一个数据,一名用户的操作不会和其他用户的操作相混淆。持久性:一但事物完原创 2011-03-28 00:05:00 · 2947 阅读 · 0 评论 -
使用JDBC的DAO支持类
<br />用了Template,就会感觉能不能不每次都搞个<br />private JdbcTemplate jdbcTemplate;<br /> public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {<br /> this.jdbcTemplate = jdbcTemplate;<br /> }<br /> <br />怪烦人的,当然spring也没那么傻。<br /> <br />DAO支持类:<br />可以直接给dataSource,原创 2011-02-14 22:52:00 · 1554 阅读 · 0 评论 -
Spring的JdbcTemplate使用,是否还需要手工或者aop指定关闭conn连接( 使用JdbcTemplate是否需要关闭连接)
JdbcTemplate类使用DataSource得到一个数据库连接。然后,他调用StatementCreator实例创建要执行的语句。下一步,他调用StatementCallBack完成。一旦StatementCallBack返回结果,JdbcTemplate类完成所有必要清理工作关闭连接。如果StatementCreator或StatementCallBack抛出异常,JdbcTempla原创 2011-11-25 15:02:06 · 19315 阅读 · 1 评论 -
Spring高级程序设计 11 Spring对Hibernate的支持
3Hibernate支持介绍 Spring的LocalSessionFactoryBean的简化配置:view plaincopy to clipboardprint?<context:property-placeholder location="classpath:jdbc.properties" /> <bean id="dataSou原创 2011-11-26 00:55:53 · 979 阅读 · 0 评论 -
Spring Transaction 分析事务属性(事务的基本概念、配置)
众所周知的ACID属性: 原子性(atomicity)、一致性(consistency)、隔离性(isolation)以及持久性(durability)。我们无法控制一致性、原子性以及持久性,但可以控制超时,设置事务的只读性以指定隔离级别。 Spring在TransactionDefinition接口封装了所有这些设置。 探索TransactionDefinition接口:原创 2011-11-26 20:18:56 · 3980 阅读 · 1 评论 -
Spring BeanFactoryPostProcessor类 (“排队”“后”控制修改beanfactory管理的信息--如一些配置信息)
Spring BeanFactoryPostProcessor类 (“排队”“后”控制修改beanfactory管理的bean) 他可以获取beanfactory可以加载到的配置信息,然后可以修改这些信息,导致创建的bean得到了你期望的修改。 BeanFactoryPostProcessor的概念跟BeanPostProcessor相似:BeanFactoryPostProc原创 2011-11-14 17:09:31 · 4543 阅读 · 0 评论 -
Spring高级程序设计 3 spring 控制反转(笔记)
Spring高级程序设计 第3章 控制反转 1、控制反转和依赖注入 2、控制反转类型 3、Spring中的控制反转 4、基于Spring的依赖注入 1控制反转和依赖注入 控制反转(IoC)。依赖注入(DI)。 实际上依赖注入是控制反转的一种特殊形式。 控制反转和依赖注入的核心目标是提供一个更为简单的机制去规定和组件之间的依赖关系(他通常被称作原创 2011-11-09 15:12:07 · 1096 阅读 · 0 评论 -
spring的各种dataSource配置
view plaincopy to clipboardprint?<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins原创 2011-02-13 18:14:00 · 3361 阅读 · 1 评论