spring是什么东西,这里不做描述,不懂的,百度下即可。
个人发现,程序这东西,刚刚学习的时候,能够理解其思想,了解其程序如何写,但是两个月不接触他,只能模糊记起来了。最近在复习spring,所以就将自己的理解写上来,偶尔过来看一看,免得到时候又忘记了。
开始。。。。。。
1.Spring IOC
spring的核心机制就是依赖注入,初学者会觉得很神奇,其实只要了解java中的反射机制,就知道,其实就那么一回事。
同时spring中的控制反转概念,就是依赖注入。。当初Martine Fowler觉得控制反转不太好理解,所以就给他起了另外一种称呼,那就是依赖注入。
spring 提供了两种 IOC容器实现类型,1.bean factory,2.application Context。第2种要比第1种要高级,因为application Context是对bean factory的一种兼容的扩展,在程序开发中,无特殊情况,一般选择第二种。
根据上述两种IOC容器实现类型,spring提供了两个接口,分别是BeanFactory、ApplicationContext。但是为了保持其兼容性,ApplicationContext是BeanFactory的子接口。
BeanFactory就不做过多描述了,因为在项目开发中,我一般选择后者。
ApplicationContext他只是一个接口,它有它的实现类,他们分别为:
1.ClassPathXmlApplicationContext:有可能各位觉得英文很长,但是很好理解,字面意思都能猜出这个类是干什么用的,就是说通过该类,可以获取到ClassPath路径下的配置文件。
2.FileSystemXmlApplicationContext:该类主要从文件系统或者URL上获取XML配置文件。
3.XmlWebApplicationContext和XmlPorletApplicationContext 仅能用于Web和入口应用程序。