- 博客(12)
- 资源 (29)
- 收藏
- 关注
原创 Spring API级别对AOP的支持
在Spring 2.0之前,Spring通过定义一套接口和通过ProxyFactoryBean来生产bean实例提供对AOP的支持,在2.0后,Spring推荐通过AspectJ兼容的方式来实现AOP.见http://blog.csdn.net/kkdelta/archive/2010/04/22/5515882.aspx1,定义'方面'拦截器,最常用的接口有:MethodIntercep
2010-04-30 13:50:00 2612
原创 Spring AOP:被代理类的构造函数和调用自身类方法的注意点
Spring AOP是通过动态代理实现的:通过JDK的动态代理或者CGLIB动态生成子类.如果被代理的bean是interface,会使用JDK的动态代理,这时候,bean的构造函数只会被调用一次,如果该bean没有实现任何interface,会使用cglib来动态生成子类,这时候构造函数会被调用两次,所以在bean的构造函数里尽量不要写业务相关的代码.如果bean的某个方法被'AOP'了
2010-04-23 15:54:00 6301
原创 实例简述Spring AOP之对AspectJ语法的支持
Spring的AOP可以通过对@AspectJ注解的支持和在XML中配置来实现,本文通过实例简述如何在Spring中使用AspectJ.一:使用AspectJ注解:1,启用对AspectJ的支持:通过在Spring的配置中引入下列元素来启用Spring对AspectJ的支持:或者(如果不是使用XSD的话)2,声明一个带有@Aspect注解的类,在这个类中声明那些方法需要
2010-04-22 14:40:00 5647
原创 Spring加载resource时classpath*:与classpath:的区别
Spring可以通过指定classpath*:与classpath:前缀加路径的方式从classpath加载文件,如bean的定义文件.classpath*:的出现是为了从多个jar文件中加载相同的文件.classpath:只能加载找到的第一个文件.比如 resource1.jar中的package 'com.test.rs' 有一个 'jarAppcontext.xml' 文件,内容如下:
2010-04-20 17:16:00 171583 18
原创 Spring的ApplicationContext加载Property文件
利用Spring的ApplicationContext加载Property文件,可以实现国际化和'热'加载文件(不用重启应用).Spring提供了ResourceBundleMessageSource和ReloadableResourceBundleMessageSource两个类加载property文件,后者提供了'热'加载以及指定编码等功能.例子:配置文件<!-- <bea
2010-04-19 16:02:00 9933
原创 Spring Container的扩展点
Spring在解析完配置文件后,会调用一些callback方法,使用Spring的开发者可以通过提供这些callback方法达到对Spring Container的扩展.1,通过实现BeanPostProcessor来完成对某些Bean的一些'定制',BeanPostProcessor定义了两个方法,postProcessBeforeInitialization(Object bean, St
2010-04-15 13:15:00 6271
原创 Spring的Bean生命周期内的callback方法和Spring容器启动关闭时的callback方法
通过Spring管理的bean,在其生命周期内可以配置被Spring调用的callback方法一般有两种:通过实现Spring提供的特点接口和通过配置callback方法.(如果bean是prototype的话,由于其销毁不被Spring管理,其销毁方法不会被调用)1,通过实现Spring提供的特点接口:通过实现InitializingBean接口,Spring容器会在初始化bean的时候调用
2010-04-14 15:37:00 9403 1
原创 Spring的方法注入
当一个Bean依赖的Bean和自己生命周期不同的时候:如Bean A依赖Bean B,Bean A 是singleton,如果需要在Bean A每次用到Bean B的时候都用一个Bean B的新的实例,通过在配置文件中通过 property或者 contructor-arg是不能实现的.这时候只能在Bean A中用Bean B的时候动态得到.通常的做法有两种:1,Bean A实现 Applic
2010-04-12 14:45:00 4827
原创 Spring依赖注入的方式
Spring通过property()和构造函数()对bean的依赖注入进行配置.对String以及基本类型的注入:通过name/value的形式,如果是数字类型,boolean类型,value指定的值会被自动转换成期望的类型.与之类似,只是没有name指定参数名称,可以用index指定序号(从0开始).对对象类类型的注入:通过ref或者内部bean的形式.
2010-04-09 14:42:00 4386
原创 Spring的依赖注入
控制反转(Inversion of Control)和依赖注入(Dependency Injection):IoC,直观地讲,就是容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。IoC还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓依赖注入,
2010-04-08 13:47:00 10144 5
原创 Spring 实例化bean
Spring实例化bean一般有3种方式:通过bean的自身构造函数,通过工厂类和通过别的实体bean的方法.通过bean的自身构造函数是最普通也是最常用的一种,在XML配置如下:通过工厂类构造bean: class="examples.ClientService" factory-method="createInstance
2010-04-07 17:08:00 3617 2
原创 Hibernate 中Query的list方法和iterate方法
Hibernate中用hql通过query进行查询的时候,通常会用list或者iterate取得查询到的结果.在此简单说明一下这两个方法的不同之处和适用场景. List:查询到的结果会被完整地放进内存(session的缓存),实体会处于持久状态.如果用迫切连接(fetch)模式,取得的结果可能会存在主表对应的一条记录会在list里存在多个实例(准确的讲是实例引用),多次出现但是指向同一个对
2010-04-01 14:43:00 9778
TPC-H_Tools_2.18.0_rc2_mysql.zip
2020-05-05
Linux上apache的安装文件
2012-07-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人