Spring中常见的bean创建异常 1. 概述     本次我们将讨论在spring中BeanFactory创建bean实例时经常遇到的异常 org.springframework.beans.factory.BeanCreationException,下面我们将讨论并再现这些异常,同时给出解决方案. 2. Cause:org.springframework.beans.factory.NoSuchBeanDefinitionException     到目前为止最常见的导致BeanCreat…
hessian的主要结构分客户端与服务端,中间基于http传输.客户端主要做的事情是把对远程接口调用序列化为流,并传输到服务端:服务端主要做的事情是把传输过来的流反序列化为对服务的请求,调用相应服务后把结果序列化为流返回给客户端.一次完整的调用如下图所示: HessianProxy是hessian client处理客户端请求的核心类,它采用proxy的设计模式,代理客户端对远程接口的调用,hessian client的主流程的时序图如下所示: HessianSkeleton是hessian se…
今天被问到Spring中Bean的配置方式,很尴尬,只想到了基于XML的配置方式,其他的一时想不起来了,看来Spring的内容还没有完全梳理清楚,见到一篇不错的文章,就先转过来了. 以前Java框架基本都采用了XML作为配置文件,但是现在Java框架又不约而同地支持基于Annotation的"零配置"来代替XML配置文件,Struts2.Hibernate.Spring都开始使用Annotation来代替XML配置文件了:而在Spring 3.x提供了三种选择,分别是:基于XML的配置…
今天被问到Spring中Bean的配置方式,很尴尬,只想到了基于XML的配置方式,其他的一时想不起来了,看来Spring的内容还没有完全梳理清楚,见到一篇不错的文章,就先转过来了. 以前Java框架基本都采用了XML作为配置文件,但是现在Java框架又不约而同地支持基于Annotation的“零配置”来代替XML配置文件,Struts2.Hibernate.Spring都开始使用Annotation来代替XML配置文件了:而在Spring 3.x提供了三种选择,分别是:基于XML的配置.基于注解…
[转自] http://unmi.cc/spring-injection-system-properties-env/ 在 Spring 中为 javabean 注入属性文件中的属性值一般人都知道的,可以通过 org.springframework.beans.factory.config.PropertyPlaceholderConfigurer 引入一个属性文件,然后给 bean 指定属性的时候就可以用 ${jdbc.url} 方式赋值了.比如在 Spring 中是这样的配置: <bean…
首先用@Component注解类: package soundsystem: import org.springframework.stereotype.Component; @Component public class TestBean{ …… } @Component("bean id")可以为Bean命名相当于XML中的<bean name = "bean id",class="soundsystem.TestBean">&l…
@Component和@Bean的目的是一样的,都是注册bean到Spring容器中. @Component  VS  @Bean @Component 和 它的子类型(@Controller, @Service and @Repository)注释在类上.告诉Spring,我是一个bean,通过类路径扫描自动检测并注入到Spring容器中. @Bean不能注释在类上,只能用于在配置类中显式声明单个bean.意思就是,我要获取这个bean的时候,spring要按照这种方式去获取这个bean.默认…
Spring 是一个 bean 容器, 负责 bean 的创建, 那么所有的 bean对象都是 Spring 容器创建的吗 ? 答案是否定的. 但是乍一想, 好像所有的对象都是 Spring 容器负责创建并注入的, 今天在看书的时候, 看到了创建 bean 的三种方式, 分别是 : 使用构造器创建 bean 实例 使用静态工厂方法创建 bean 调用实例工厂方法创建 bean 第一个是 Spring 使用反射创建 bean 对象 , class属性指定的是 Bean实现类 ; 第二个的 clas…
在spring bean的配置的时候,可能会出现一个singleton的bean依赖一个prototype的bean.因为singleton的bean只有一次初始化的机会,所以他们的依赖关系页只有在初始化的时候被设置,在这个时候同样会初始化一个prototype的bean,这样就会导致本来是prototype的bean成了singleton了,这种矛盾的解决方案有两个: 1.放弃使用依赖注入,在需要的时候主动向容器申请. 2.利用方法注入 第一种方法显然是不合理的--- 方法注入通常使用look…
1. Bean依赖关系 一个配置类的Bean,一个实例Bean: 实例Bean初始化时需要依赖配置类的Bean: 1.1 配置类Bean @ConfigurationProperties(prefix = "system") public class SystemConfig { private Integer type; private String rootPath; } 1.2 实例Bean @Component public class HDFSFileHandler impl…