使用Spring好处
spring能有效的组织你的中间层对象
spring能消除在许多工程中常见的对Silgletion的过多使用
spring能消除各种各样自定义格式的属性文件的需要,是配置信息一元化
spring能够帮助我们真正意义上实现针对接口编程
使用spring构建的应用程序易于单元测试
Spring支持JDBC和O/R Mapping产品(hibernate)
MVC WEB框架,提供一种清晰,无侵略性的MVC实现方式
spring能使用AOP提供声名性事务管理,可以不直接操作JTA也能对事物进行管理
IOC(控制反转):不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务器连接,但在配置文件中描述哪一个组件需要那一项服务。容器负责将这些联系在一起。
IOC组件注入的方式:
1》接口注入
2》通过set方法注入(设置注入)
3》通过构造方法注入
Bean工厂与ApplicationContext联系
ApplicationContext扩展Bean工厂接口
ApplicationContext提供附加功能
Bean工厂延迟加载所有的Bean直到getBean被调用
ApplicationContext则在初始化自身是检验,为立即加载。这样有利于检查所依赖属性是否注入,所以通常情况下我们选择使用ApplicationContext
Spring容器中的Bean缺省状态下是单利模式
常用实现类
ClassPathXmlApplicationContextspring配置文件必须放在src目录下
FileSystemXmlApplicationContext配置文件放在工程下
XmlWebApplicationContext根据部署名寻找,webroot