springIoC实例
来源:互联网 发布:网络商标到期 编辑:程序博客网 时间:2024/05/16 06:48
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{@Overridepublic String showAuthor(String author) {String str = "红楼梦作者:" + author;return str;}@Overridepublic 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容器中获得实例hlmBook book = (Book) ac.getBean("hlm");System.out.println(book.showAuthor("曹雪芹"));System.out.println(book.showBookPrice(45.0));//从Spring容器中获得实例hlmBook book2 = (Book)ac.getBean("sgyy");System.out.println(book2.showAuthor("罗贯中"));System.out.println(book2.showBookPrice(41.0));}}
- springIoC实例
- SpringIoc实例研究(入门)
- springIoC
- springIoc
- SpringIOC
- springIOC
- springIOC
- springIOC
- SpringIOC
- SpringIOC
- SpringIOC
- springIOC
- springIOC
- SpringIoc
- springIOC
- SpringIOC
- SpringIOC
- springIOC
- apache配置【转载】
- 梯度下降总结
- Java内存管理原理及内存区域详解
- OpenGL之画三角形以及常用API详解。
- Vue 计算属性
- springIoC实例
- apache2 设置页面禁止iframe/禁止访问目录
- Windows+Linux双系统引导
- 解决Erroer:unified memory profiling failed.问题
- Week1-3Language Diversity and Ethnologue
- python解析 MS-Celeb-1M 数据库
- SpringBoot第二讲 利用Spring Data JPA实现数据库的访问(一)
- SVDD(Support Vector Domain Description) 支持向量数据域描述(1)
- Python学习杂记