springIoC实例
2017-03-21 18:04
106 查看
Spring框架是一个非常优秀的轻量级J2EE容器,它是一个开源框架。可以更深层次的降低业务层的耦合程度,其核心是一个轻量级容器(Container),并且实现了IoC(控制反转)模式。
Spring是一个轻量级的IoC和面向切面(AOP)的容器框架。通过IoC技术促进了松耦合,提供了面向切面编程的丰富支持,并且允许通过分离应用业务逻辑与系统级服务进行内聚性的开发。
Spring框架是一个分层架构,由7个定义良好的组件组成。Spring组件构建在核心容器之上,核心容器创建、配置、管理Bean的方式。组成Spring框架的每个组件都可以单独存在,或者与其他一个或对个组件联合实现。7个组件如下所示
1.Spring Core
Spring的核心容器,提供Spring框架的基本功能。其主要组件是BeanFactory,它是工程模式的实现。BeanFactorys使用IoC模式将应用程序的配置和依赖性规范与实际的应该程序代码分开。
2.Spring Context
是一个配置文件,向Spring框架提供上下文信息。
3.Spring AOP
通过配置管理特性,Spring AOP直接将面向切面的编程功能集成到了Spring框架中。Spring AOP 为基于Spring的应用程序中的对象提供了事务管理服务。通过Spring AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。
4.Spring DAO
JDBC DAO抽象层提供了有意义的异常层次结构,可以用该结构来管理异常处理和不同数据库供应商抛出的错误信息。Spring DAO 面向JDBC的异常遵循通用的DAO异常层次结构。
异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码量(如:打开和关闭连接)
5.Spring ORM
Spring 框架插入了多个ORM框架,从而提供了ORM的对象关系工具。
6.Spring Web
Spring 框架支持与Jakarta Struts的集成。Spring Web组件简化了处理多部分请求以及将请求参数绑定到域对象的工作。
7.Spring Web MVC
该框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口,Spring Web MVC框架变为高度可配置的。
DI(Dependency Injection,依赖注入)和IoC(Invaersion of Control,控制反转)是同一个概念。在Spring中,当一个角色A需要另一个角色B协助工作时,Spring容器负责调用B,而不需要A自己去调用,这被称为控制反转;Spring容器创建B的实例,然后注入给A,称为依赖注入。
简单实例
1.接口类Book.java
package org; public interface Book { public String showAuthor(String author); public String showBookPrice(double bookPrice); }
2.实现类
HLM.java
package org; public class HLM implements Book{ @Override public String showAuthor(String author) { String str = "红楼梦作者:" + author; return str; } @Override public String showBookPrice(double bookPrice) { String str = "红楼梦价格:" + bookPrice; return str; } }
SGYY.ava
package org; public class SGYY implements Book{ public String showAuthor(String author) { String str = "三国演义作者:" + author; return str; } public String showBookPrice(double bookPrice) { String str = "三国演义价格:" + bookPrice; return str; } }
3.在WEB-INF下创建applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 让Spring 容器创建和管理这两个类,目的是让主程序只与Book接口耦合,而避免与实现类耦合。 这样当主程序需要使用者两个实现类时,只需要从Spring容器中取出这两个实现类的实例就可以了。 --> <bean id="hlm" class="org.HLM" /> <bean id="sgyy" class="org.SGYY" /> </beans>
4.运行类Test.java
package org; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class Test { public static void main(String[] args) { //读取配置文件 ApplicationContext ac = new FileSystemXmlApplicationContext("/WebContent/WEB-INF/applicationContext.xml"); //从Spring容器中获得实例hlm Book book = (Book) ac.getBean("hlm"); System.out.println(book.showAuthor("曹雪芹")); System.out.println(book.showBookPrice(45.0)); //从Spring容器中获得实例hlm Book book2 = (Book)ac.getBean("sgyy"); System.out.println(book2.showAuthor("罗贯中")); System.out.println(book2.showBookPrice(41.0)); } }
相关文章推荐
- Spring(三)IoC的简介和实例分析
- 【SSH进阶之路】Spring的IOC逐层深入——为什么要使用IOC[实例讲解](二)
- Spring容器实例Bean的三种方法(IOC三种方法)
- Spring IOC Annotation 注入 学习实例
- Spring的IOC逐层深入——为什么要使用IOC[实例讲解](二)
- Spring中IoC的入门实例
- Spring IoC原理实例分析
- Spring中IoC的入门实例
- spring:一个简单实例之IOC
- Spring中IoC的入门实例
- 第二章 Spring中IoC的入门实例
- [Spring3.x源码]IoC(三)实例化bean对象
- Spring学习笔记:第二章 Spring中IoC的入门实例
- SpringMVC系列(十五)Spring MVC与Spring整合时实例被创建两次的解决方案以及Spring 的 IOC 容器和 SpringMVC 的 IOC 容器的关系
- Spring中IoC的入门实例
- Spring控制反转IOC和依赖注入DI实例
- (2) spring核心概念IOC/DI实例分析
- 实例化Spring Ioc容器,生成SequenceGenerator
- Spring笔记:实例化IoC容器
- spring 框架中的依赖注入(IOC--设值注入)---使用xml简单配置文件---的具体实例的简单实现