★☆

★☆
posts - 0, comments - 0, trackbacks - 0, articles - 80
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Spring基础知识与配置

Posted on 2008-08-14 12:57 阅读(393) 评论(0)  编辑  收藏 所属分类: Spring技术
Spring基础知识与配置:

 

2.1 Spring框架介绍

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,可以用下图表示:

1)Spring Core核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。

2) Spring ContextSpring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。

3)Spring AOP通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。

4)Spring DAOJDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。

5)Spring ORMSpring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。

6)Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。

7)Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

2.2 CRM系统中Spring的应用

  1) applicationContext.xml配置文件

和数据库的连接是通过注入的方式实现的,将数据库驱动"driverClassName"、数据库连接"url"、用户名"dev_frame"和密码"password"注入到org.springframework.jdbc.datasource.DriverManagerDataSource,实现和数据库建立连接。

<bean id="dataSource"

class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName"

value="oracle.jdbc.driver.OracleDriver" />

<property name="url"

value="jdbc:oracle:thin:@www.boncsoft.com:1521:UTF8" />

<property name="username" value="dev_frame" />

<property name="password" value="********" />

</bean>

然后,定义一个实体的管理工场,并将数据源"dataSource"注入

<bean id="entityManagerFactory"

class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

    <property name="dataSource" ref="dataSource" />

    <property name="jpaVendorAdapter">

<bean            class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">

    <property name="database" value="ORACLE" />

    <property name="showSql" value="true" />

    <property name="generateDdl" value="false" />

    </bean>

</property>

</bean>

最后,定义一个事物的管理工场"transactionManager",将实工场"entityManagerFactory" 注入

<bean id="transactionManager"

    class="org.springframework.orm.jpa.JpaTransactionManager">

    <property name="entityManagerFactory" ref="entityManagerFactory" />

</bean>

2) applicationContext_crm_project.xml配置文件

 在applicationContext_crm_project.xml配置文件中,主要配DAO层、Model层和Action层。如下例所示:

DAO配置:

<bean id="crm.dao.project.ProjectDAO"

class="com.cbsst.crm.dao.project.ProjectDAOImpl" scope="prototype">

    <property name="entityManagerFactory" ref="entityManagerFactory" />

</bean>

Model层配置:

<bean id="crm.model.project.ProjectModel"

class="com.cbsst.crm.model.project.ProjectModelImpl"

scope="prototype">

    <property name="projectDAO" ref="crm.dao.project.ProjectDAO">

    </property>

<property name="commonDAO" ref="crm.dao.project.CommonDAO">

</property></bean>

<property>标签是一个属性标签,上面<property>标签是指将id为"crm.dao.project.ProjectDAO"的类注入到model中的一个属性为"projectDAO"的变量,将id为"crm.dao.project.CommonDAO"的类注入到model中的一个属性为"commonDAO"的变量。

Action层配置:

<bean id="crm.action.project.ProjectAction"

   class="com.cbsst.crm.action.project.ProjectAction" scope="prototype">

    <property name="projectModel"

ref="crm.model.project.ProjectModel" />

<property name="commonManagerModel"

        ref="frame.model.common.CommonManagerModel" />

</bean>

和DAO层的配置类似。


只有注册用户登录后才能发表评论。


网站导航: