`

基于Spring容器的组装

阅读更多

spring 中application-context.xml所做内容

1、Spring 作为容器框架连接数据库使用 hibernate 而hibernate连接交与Spring 管理 装载组建如下

使用com.mchange.v2.c3p0.ComboPooledDataSource实例 (统称c3p0)

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="locations">

<list>

<value>/WEB-INF/config/jdbc.properties</value>

</list>

</property>

</bean>

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

<property name="driverClass" value="${jdbc.driverClassName}" />

<property name="jdbcUrl" value="${jdbc.url}" />

<property name="user" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

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

<property name="checkoutTimeout" value="${cpool.checkoutTimeout}"/>

<property name="initialPoolSize" value="${cpool.minPoolSize}"/>

<property name="minPoolSize" value="${cpool.minPoolSize}"/>

<property name="maxPoolSize" value="${cpool.maxPoolSize}"/>

<property name="maxIdleTime" value="${cpool.maxIdleTime}"/>

<property name="acquireIncrement" value="${cpool.acquireIncrement}"/>

<property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}"/>

</bean>

2 、hibernate对数据库的操作注入dataSource 使用org.springframework.orm.hibernate3.LocalSessionFactoryBean实例

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

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

<property name="mappingLocations">

<list>

<value>classpath*:/com/jeecms/core/entity/hbm/*.hbm.xml</value>

<value>classpath*:/com/jeecms/cms/entity/main/hbm/*.hbm.xml</value>

<value>classpath*:/com/jeecms/cms/entity/assist/hbm/*.hbm.xml</value>

</list>

</property>

<property name="hibernateProperties">

<value>

hibernate.dialect=org.hibernate.dialect.Oracle9Dialect

hibernate.show_sql=false

hibernate.format_sql=false

hibernate.query.substitutions=true 1, false 0

hibernate.jdbc.batch_size=20

hibernate.cache.use_query_cache=true

</value>

</property>

<property name="entityInterceptor">   

<ref local="treeInterceptor"/>

</property>

<property name="cacheProvider">

<ref local="cacheProvider"/>

</property>

<property name="lobHandler">

<ref bean="lobHandler" />

</property>

</bean>

3、hibernate操作数据库事务管理 注入sessionFactroy 使用org.springframework.orm.hibernate3.HibernateTransactionManager实例

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

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

</bean>

<tx:annotation-driven transaction-manager="transactionManager" />(使用annotation定义事务)

4、如何代码需要注解引导还需

<context:annotation-config/>

 <!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 组件扫描策略-->

<context:component-scan base-package="com.xyz.callcenter" />

5、可能还需国际化配置

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">

<property name="cacheSeconds" value="-1"/>

<property name="basenames">

<list>

<value>/WEB-INF/languages/jeecms_front/messages</value>

<value>/WEB-INF/languages/jeecms_tpl/messages</value>

<value>/WEB-INF/languages/fck/messages</value>

</list>

</property>

</bean>

 

web.xml 所做内容

web.xml作为项目的起始容器主要能使配置的框架运作起来

如listener、filter 、 servlet

1、所需加载spring的xml文件(Spring ApplicationContext配置文件的路径供用于后面的Spring Context Loader)

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

/WEB-INF/config/application-context.xml

</param-value>

</context-param>

2、项目中文转码问题过滤

<filter>

<filter-name>encoding</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

3、hibernate懒加载配置(这里使用spinrg提供的jar 另外两种分别是代码设置,和hibernate 文件属性设置lazy="false" )

<filter>

<filter-name>osivFilter</filter-name>

<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

</filter>

4、启动Spring配置信息(这里主要读取配置的spring的xml)

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

5、如果web框架使用struts则在配置

   <filter> 

<!-- 定义核心filter的名字 -->

<filter-name>struts2</filter-name>

<!-- 定义核心filter的实现类 -->

<filter-class>

org.apache.struts2.dispatcher.FilterDispatcher

</filter-class>

</filter>

 

<!-- FilterDispatcher用来初始化struts2并且处理所有的web请求 -->

<filter-mapping>

<filter-name>struts2</filter-name>

<!--默认拦截以.action结尾的请求  -->

<url-pattern>/*</url-pattern>

</filter-mapping>

 

分享到:
评论

相关推荐

    Spring+3.x企业应用开发实战+源码.rar

    Spring容器还支持Bean工厂和ApplicationContext两种不同的上下文类型,以满足不同规模和复杂度的应用需求。 四、AOP与切面 Spring的AOP模块提供了一种在不修改原有代码的情况下,对业务逻辑进行增强或拦截的能力。...

    Spring-IoC.rar_容器

    - **读取配置元数据**:Spring容器通过XML、Java配置或者注解来获取关于bean的定义,这些定义包含了类路径、依赖关系、初始化方法等信息。 - **创建bean实例**:根据配置元数据,容器实例化bean,这可能包括单例或...

    osworkflow2.8基于Spring+Hibernate

    在osWorkflow中集成Spring,可以利用Spring的IoC容器管理工作流实例,同时Spring的AOP机制可以帮助我们方便地进行事务管理和权限控制。 1. 配置Spring XML 首先,在Spring配置文件中声明osWorkflow的相关bean,如...

    springjar架包文件

    这个"springjar架包文件"显然包含了一系列与Spring框架相关的JAR文件,这些文件通常用于构建和运行基于Spring的应用程序。Spring框架的核心功能包括依赖注入、面向切面编程(AOP)、数据访问/集成、Web应用程序支持...

    Spring Reference - Core Technologies.pdf

    使用容器意味着创建应用对象、配置它们、组装它们,并将它们交给Spring容器,然后由容器管理它们的生命周期。 1.3 Bean概述 Bean是Spring IoC容器中的核心概念,它是一个由Spring IoC容器创建、配置、管理的Java...

    Spring系列面试题129道(附答案解析)

    其核心思想是反转控制(IoC),即控制权由应用代码转移到了Spring容器。 10、什么是依赖注入? 依赖注入(DI)是一种设计模式,它允许一个对象通过构造器、工厂方法的参数或属性来定义它们对其他对象的依赖关系,...

    springIOC小程序

    Spring容器根据配置文件或注解来决定如何创建和组装这些依赖关系。 2. **Bean工厂(Bean Factory)**:这是Spring IoC容器的基础,它负责读取配置元数据,创建和管理Bean。你可以将Bean定义为类的实例,其中包含了...

    Spring IoC依赖包

    - **依赖注入(Dependency Injection, DI)**: Spring通过构造器注入、设值注入或者接口注入的方式,将对象的依赖关系以声明式的方式定义在配置文件或注解中,由Spring容器负责实例化和组装Bean。 - **AOP(面向切...

    spring5.0.2中文官网文档

    Bean是Spring IoC容器管理的最小单元,是被实例化、组装并由Spring IoC容器管理的Java对象。Spring通过容器来创建、配置和管理这些Bean。Bean的定义可以被继承,允许子Bean继承父Bean的配置信息。而Bean的作用域描述...

    Spring概述与IOC.docx

    4. **容器**:Spring 容器负责管理应用对象的生命周期和配置。它可以基于 XML、Java 注解或其他方式来定义对象及其依赖关系,并在运行时根据配置创建和管理对象。 5. **框架**:Spring 提供了一个完整的框架,包括...

    java web spring-framework-2.5.6.jar.zip

    例如,对于一个基于 Spring MVC 的 Web 应用,首先需要配置 Spring IoC 容器,定义 MVC 组件,然后利用 AOP 处理全局事务,同时通过 Spring Data 访问数据库。Spring 的灵活性和全面性使得它成为了 Java Web 开发的...

    SPRING开发指南.pdf

    通过DI,对象的创建和组装由Spring容器负责,而不是由代码直接管理。这种模式使得开发者能够更容易地进行单元测试,因为对象的依赖关系可以在测试环境中轻松替换。 另外,Spring提供了面向切面编程(Aspect-...

    spring IOC实现(墨者革离)

    Spring容器读取这些配置信息,根据定义创建和组装对象。例如,XML配置可能包含如下内容: ```xml 剧本编写者"/&gt; 剧本编写者" class="com.example.ScriptWriter"/&gt; ``` 在上述例子中,`gateKeeper` bean依赖于`...

    Spring核心学习IOC部分

    DI允许Spring容器负责为Bean提供它所需要的其他Bean。这样,代码不再需要直接创建对象,而是通过构造函数、setter方法或者工厂方法来接收依赖。这种方式提高了代码的可测试性和可维护性。 除了基本的Bean管理,...

    Spring.pdf

    基于XML的配置是DI实现的一种方式,通过在配置文件中明确指定需要注入的依赖,将对象的创建和依赖关系的绑定交给了Spring容器。这样,当应用程序需要访问这些对象时,容器会自动装配好依赖关系,从而达到对象之间的...

    Spring2(源码)

    - IoC容器是Spring的核心,它负责管理Bean的实例化、配置和组装。 - 容器通过XML配置文件、Java配置类或基于注解的方式获取Bean的定义信息。 5. **Spring MVC** - Spring MVC是Spring框架的一部分,用于构建Web...

    第四章 在Ioc容器中装配Bean

    在Spring框架中,Bean装配是指Spring容器将应用程序中的对象进行实例化、配置以及组装的过程。这涉及到依赖注入的概念,即容器负责将依赖关系注入到对象中,而不需要对象自己去创建或者查找这些依赖关系。 首先,...

    springDemo初学入门

    在Spring项目中,配置文件通常为XML格式(如`applicationContext.xml`或`beans.xml`),它定义了Spring容器如何创建、配置和组装对象。配置文件可能包含了bean的定义,包括它们的类名、属性以及依赖关系。此外,...

    spring 2 中文文档

    9. **Spring Boot**:虽然不在Spring 2的范围内,但Spring Boot是基于Spring构建的应用程序启动器,它简化了配置并提供了快速启动新项目的能力。 10. **Spring Security**:Spring的安全模块,提供身份验证和授权...

    Tom_深入分析Spring源码doc

    Spring的核心特性之一就是依赖注入,它使得组件间的依赖关系由Spring容器管理,而不是由组件自身负责。通过构造器注入、设值注入或接口注入,Spring可以控制对象的创建和组装过程,提高代码的可测试性和可维护性。 ...

Global site tag (gtag.js) - Google Analytics