
利用AOP,系统范围内的关注点覆盖在它们所影响组件之上
因为使用Java API而导致的样板式代码,样板式代码的一个常见范例是使用JDBC访问查询数据。在许多编程场景中往往都会导致类似的样板式代码,JMS、JNDI和使用REST服务通常也涉及大量的重复代码。
Spring旨在通过模板封装来消除样板式代码。Spring的JdbcTemplate使得执行操作时,避免传统的JDBC样板代码成为了可能。接口安全调用

在基于Spring的应用中,你的应用对象生存于Spring容器(container)中。Spring容器负责创建对象,装配它们,配置它们并管理它们的整个生命周期,从生存到死亡(在这里,可能就是new 到finalize())。
容器是Spring框架的核心。Spring容器使用DI管理构成应用的组件,它会创建相互协作的组件之间的关联。毫无疑问,这些对象更简单干净,更易于理解,更易于重用并且更易于进行单元测试。
Spring容器并不是只有一个。Spring自带了多个容器实现,可以归为两种不同的类型。bean工厂(由org.springframework.beans.factory.BeanFactory 接口定义)是最简单的容器,提供基本的DI支持。应用上下文(由org.springframework.context.ApplicationContext 接口定义)基于BeanFactory构建,并提供应用框架级别的服务,例如从属性文件解析文本信息以及发布应用事件给感兴趣的事件者。
Spring自带了多种类型的应用上下文。下面罗列的几个是你最有可能遇到的。
AnnotationConfigApplicationContext: 从一个或多个基于Java的配置类中加载Spring应用上下文。
AnnotationConfigWebApplicationContext: 从一个或多个基于Java的配置类中加载Spring Web应用上下文。
ClassPathXmlApplicationContext: 从类路径下的一个或多个XML配置文件中加载上下文定义,把应用上下文的定义文件作为类资源。
FileSystemXmlapplicationcontext: 从文件系统下的一个或多个XML配置文件中加载上下文定义。
XmlWebApplicationContext: 从Web应用下的一个或多个XML配置文件中加载上下文定义。
无论是从文件系统中装载应用上下文还是从类路径下装载应用上下文,将bean加载到bean工厂的过程都是相似的。例如,如下代码展示了如何加载一个FileSystemXmlApplicationContext:


类似地,你可以使用ClassPathXmlApplicationContext 从应用的类路径下加载应用上下文:

使用FileSystemXmlApplicationContext 和使用ClassPathXmlApp-licationContext 的区别在于:FileSystemXmlApplicationContext 在指定的文件系统路径下查找knight.xml文件;而ClassPathXmlApplicationContext 是在所有的类路径(包含JAR文件)下查找 knight.xml文件。
应用上下文准备就绪之后,我们就可以调用上下文的getBean() 方法从Spring容器中获取bean。
在传统的Java应用中,bean的生命周期很简单。使用Java关键字new进行bean实例化,然后该bean就可以使用了。一旦该bean不再被使用,则由Java自动进行垃圾回收。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-78166-2.html
老美不跑等着喂鱼吗
送检的产品还会不合格吗
#全员即刻加速1128迈#你很棒喜欢你自信的微笑你是独一无二的易烊千玺#易烊千玺出演诛仙#
完全可以接受