Spring的基本应用

Spring是一个主流的Java Web开发框架,该框架是一个轻量级的开源框架。

Spring以IoC(Inverse of Control控制反转)和AOP(Aspect Oriented Programming面向切面编程)为内核,使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。

在实际开发中,通常服务器端采用三层体系架构,分别为表示层(web)、业务逻辑层(service)、持久层(dao)。Spring对每一层都提供技术支持,在表示层可以与Struts2框架的整合,在业务逻辑层可以管理事物,记录日志等。在持久层可以整合Hibernate、jdbcTmeplate等技术。

Spring框架的优点

轻量级的容器框架,没有侵入性
IoC更加容易组合对象之间的关系,通过面向接口进行编程,可以低耦合开发。
易于本地测试(Junit单元测试,不用部署服务器)
AOP可以更加容易的进行功能扩展,遵循OCP开发原则。
Spring默认对象的创建为单例的,我们不需要再使用单例的设计模式来开发单体类。
Spring的集成很强大,另外可以对其他框架的配置进行一元化管理。
Spring的声明式事务的方便使用。

Spring的体系结构

Spring框架采用分层架构,它包含一系列的功能要素,被分成大约20个模块,这些模块分为Core Container、Data Access/Integration、Web、Aop、Instrumentation和测试部分。

Spring的IoC容器

控制反转的思想,所谓的IoC是指在程序设计中,实例不再由调用者来创建,而是由Spring容器来创建。Spring容器会负责控制程序之间的关系,而不是程序代码直接控制,这样控制权应用代码转移到了外部容器,控制权发生了反转,这就是Spring的IoC(控制反转)思想。

Spring为我们提供了两种Ioc容器分别是BeanFactory和ApplicationContext

BeanFactory(开发并不多用)

BeanFactory是基础类型的IoC容器,BeanFactory就是一个管理Bean的工程,它主要负责初始化各种Bean,并调用它们的生命周期方法。

BeanFactory根据XML配置文件中的定义来装配Bean

BeanFactory beanFactory = new XmlBeanFactory(new FileSystemResource(“F:/applicationContext.xml”));

ApplicationContext(优势在于延迟加载)

ApplicationContext是BeanFactory的子接口,也被称为应用上下文,它不仅提供了BeanFactory所有的功能,还以一种更加面向框架的方式增强了BeanFactory的功能。主要体现在Context包使用分层和继承关系的上下文类。

创建ApplicationContext接口实例,通常采用两种方法,具体如下:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext(“applicationContext.xml”);//从类路径中XML文件载入上下文定义信息。

ApplicationContext applicationContext = new FileSystemXmlApplicationContext(“F:\workspaces\src\cn\applicationContext.xml”);//从文件系统中(指定的路径下)的Xml文件载入上下文定义信息。

BeanFactory 和ApplicationContext都是通过XML配置文件加载bean的,相比之下,ApplicationContext提供了更多拓展的功能,其主要优势在于延迟加载,如果Bean的某一个属性没有注入,使用BeanFactory 加载后,在第一次调用getBean()方法时会抛出异常,而ApplicationContext则在初始化时自检,这样有利于检查所依赖属性是否注入。因此,在实际开发中,通常情况在都选择使用ApplicationContext,而只有在系统资源较少时,才考虑使用BeanFactory 。

作者:JLoder
来源:CSDN
原文:https://blog.csdn.net/jinlong_cai/article/details/55190012
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(Spring的基本应用)