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容器还支持Bean工厂和ApplicationContext两种不同的上下文类型,以满足不同规模和复杂度的应用需求。 四、AOP与切面 Spring的AOP模块提供了一种在不修改原有代码的情况下,对业务逻辑进行增强或拦截的能力。...
- **读取配置元数据**:Spring容器通过XML、Java配置或者注解来获取关于bean的定义,这些定义包含了类路径、依赖关系、初始化方法等信息。 - **创建bean实例**:根据配置元数据,容器实例化bean,这可能包括单例或...
在osWorkflow中集成Spring,可以利用Spring的IoC容器管理工作流实例,同时Spring的AOP机制可以帮助我们方便地进行事务管理和权限控制。 1. 配置Spring XML 首先,在Spring配置文件中声明osWorkflow的相关bean,如...
这个"springjar架包文件"显然包含了一系列与Spring框架相关的JAR文件,这些文件通常用于构建和运行基于Spring的应用程序。Spring框架的核心功能包括依赖注入、面向切面编程(AOP)、数据访问/集成、Web应用程序支持...
使用容器意味着创建应用对象、配置它们、组装它们,并将它们交给Spring容器,然后由容器管理它们的生命周期。 1.3 Bean概述 Bean是Spring IoC容器中的核心概念,它是一个由Spring IoC容器创建、配置、管理的Java...
其核心思想是反转控制(IoC),即控制权由应用代码转移到了Spring容器。 10、什么是依赖注入? 依赖注入(DI)是一种设计模式,它允许一个对象通过构造器、工厂方法的参数或属性来定义它们对其他对象的依赖关系,...
Spring容器根据配置文件或注解来决定如何创建和组装这些依赖关系。 2. **Bean工厂(Bean Factory)**:这是Spring IoC容器的基础,它负责读取配置元数据,创建和管理Bean。你可以将Bean定义为类的实例,其中包含了...
- **依赖注入(Dependency Injection, DI)**: Spring通过构造器注入、设值注入或者接口注入的方式,将对象的依赖关系以声明式的方式定义在配置文件或注解中,由Spring容器负责实例化和组装Bean。 - **AOP(面向切...
Bean是Spring IoC容器管理的最小单元,是被实例化、组装并由Spring IoC容器管理的Java对象。Spring通过容器来创建、配置和管理这些Bean。Bean的定义可以被继承,允许子Bean继承父Bean的配置信息。而Bean的作用域描述...
4. **容器**:Spring 容器负责管理应用对象的生命周期和配置。它可以基于 XML、Java 注解或其他方式来定义对象及其依赖关系,并在运行时根据配置创建和管理对象。 5. **框架**:Spring 提供了一个完整的框架,包括...
例如,对于一个基于 Spring MVC 的 Web 应用,首先需要配置 Spring IoC 容器,定义 MVC 组件,然后利用 AOP 处理全局事务,同时通过 Spring Data 访问数据库。Spring 的灵活性和全面性使得它成为了 Java Web 开发的...
通过DI,对象的创建和组装由Spring容器负责,而不是由代码直接管理。这种模式使得开发者能够更容易地进行单元测试,因为对象的依赖关系可以在测试环境中轻松替换。 另外,Spring提供了面向切面编程(Aspect-...
Spring容器读取这些配置信息,根据定义创建和组装对象。例如,XML配置可能包含如下内容: ```xml 剧本编写者"/> 剧本编写者" class="com.example.ScriptWriter"/> ``` 在上述例子中,`gateKeeper` bean依赖于`...
DI允许Spring容器负责为Bean提供它所需要的其他Bean。这样,代码不再需要直接创建对象,而是通过构造函数、setter方法或者工厂方法来接收依赖。这种方式提高了代码的可测试性和可维护性。 除了基本的Bean管理,...
基于XML的配置是DI实现的一种方式,通过在配置文件中明确指定需要注入的依赖,将对象的创建和依赖关系的绑定交给了Spring容器。这样,当应用程序需要访问这些对象时,容器会自动装配好依赖关系,从而达到对象之间的...
- IoC容器是Spring的核心,它负责管理Bean的实例化、配置和组装。 - 容器通过XML配置文件、Java配置类或基于注解的方式获取Bean的定义信息。 5. **Spring MVC** - Spring MVC是Spring框架的一部分,用于构建Web...
在Spring框架中,Bean装配是指Spring容器将应用程序中的对象进行实例化、配置以及组装的过程。这涉及到依赖注入的概念,即容器负责将依赖关系注入到对象中,而不需要对象自己去创建或者查找这些依赖关系。 首先,...
在Spring项目中,配置文件通常为XML格式(如`applicationContext.xml`或`beans.xml`),它定义了Spring容器如何创建、配置和组装对象。配置文件可能包含了bean的定义,包括它们的类名、属性以及依赖关系。此外,...
9. **Spring Boot**:虽然不在Spring 2的范围内,但Spring Boot是基于Spring构建的应用程序启动器,它简化了配置并提供了快速启动新项目的能力。 10. **Spring Security**:Spring的安全模块,提供身份验证和授权...
Spring的核心特性之一就是依赖注入,它使得组件间的依赖关系由Spring容器管理,而不是由组件自身负责。通过构造器注入、设值注入或接口注入,Spring可以控制对象的创建和组装过程,提高代码的可测试性和可维护性。 ...