Spring中ClassPathXmlApplication与FileSystemXmlApplicationContext的区别 一.概述 在项目中遇到加载不到Spring配置文件,简单分析后,写此文备忘! 二.测试所需资源 TestBean.java public class TestBean { public TestBean(){ System.out.println(this.getClass().getName().concat(" init !")); } public…
一.ClassPathXmlApplicationContext 的具体路径 String s[] = System.getProperty("java.class.path").split(";");for (String string : s) { System.out.println(string);} 排除掉lib以及C盘的,最后指向的是 ../target/classes/ 所以把spring的xml放到main/resources下,Build-->…
在Spring中有BeanFactory和FactoryBean这2个接口,从名字来看很相似,比较容易搞混. 一.BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean().containsBean()等管理Bean的通用方法.Spring的容器都是它的具体实现如: DefaultListableBeanFactory XmlBeanFactory ApplicationContext 这些实现类又从…
一个工作了六年多的粉丝,胸有成竹的去京东面试. 然后被Spring里面的一个问题卡住,唉,我和他说,6年啦,Spring都没搞明白? 那怎么去让面试官给你通过呢? 这个问题是: Spring中BeanFactory和FactoryBean的区别. 好吧,对于这个问题看看普通人和高手的回答. 普通人: 嗯.......... 高手: 关于这个问题,我从几个方面来回答. 首先,Spring 里面的核心功能是IOC容器,所谓IOC容器呢,本质上就是一个Bean的容器或者是一个Bean的工厂. 它能够根…
共同点: 都是接口 区别: BeanFactory 以Factory结尾,表示它是一个工厂类,用于管理Bean的一个工厂 在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的. 但对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean, 它的实现与设计模式中的工厂模式和修饰器模式类似. 1. BeanFactory BeanFactory定义了IOC容器的最基本形式,并提供了IOC容器应遵守的的最基本的接…
//从ApplicationContext 中取 bean ApplicationContext ac = new ClassPathXmlApplicationContext ( "com/hsp/beans.xml" ) ; ac.getBean("beanId"); 当我们去实例化beans.xml,该文件中配置的 bean 就被实例化(不论你用还是不用,bean对象都在那),而且该对象是singleton单例的.(每个bean都有scope属性,可以人为的设…
BeanFactory:Bean工厂接口,是访问Spring Bean容器的根接口,基本Bean视图客户端.从其名称上即可看出其功能,即实现Spring Bean容器的读取. ApplicationContext:一个应用配置的中心接口,提供以下功能: 1.Bean factory methods for accessing application components,Inherited from {@link org.springframework.beans.factory.Listabl…
版本:spring-framework-4.1 一概述 BeanFactory 与 FactoryBean的区别, 两个名字很像,面试中也经常遇到,所以容易搞混,现从源码以及示例两方面来分析. 二.源码 2.1 BeanFactory BeanFactory定义了 IOC 容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是 Spring IOC 所遵守的最底层和最基本的编程规范. BeanFactory仅是个接口,并不是IOC容器的具体实现,具体的实现有:如 DefaultL…
昨天在写springmvc的时候,在web.xml中配置了DispatcherServlet,如下: <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>…
@Component和@Bean的目的是一样的,都是注册bean到Spring容器中. @Component  VS  @Bean @Component 和 它的子类型(@Controller, @Service and @Repository)注释在类上.告诉Spring,我是一个bean,通过类路径扫描自动检测并注入到Spring容器中. @Bean不能注释在类上,只能用于在配置类中显式声明单个bean.意思就是,我要获取这个bean的时候,spring要按照这种方式去获取这个bean.默认…