• [SSH 3]以网上商城项目浅谈spring配置


    导读:在做ITOO项目的时候,就用到了容器+反射,从而运用了依赖注入和依赖查找。如果看过WCF端的配置文件,那么对于这个spring的配置就很容易理解。本篇博客,是对于自己做的一个小项目中所运用到的spring配置进行一个总结,以便于自己以后的框架搭建和回顾。如果不妥,请多指点。


    一、spring简介

    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。


    二、spring配置

    整体介绍:在本项目中对于spring的运用配置,主要可以分为:配置链接池、配置hibernate、配置事务、配置Action、配置Service、配置Dao。下面,就一一进行介绍。

    2.1,配置链接池

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:aop="http://www.springframework.org/schema/aop"
    	xmlns:tx="http://www.springframework.org/schema/tx"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans 
    	http://www.springframework.org/schema/beans/spring-beans.xsd
    	http://www.springframework.org/schema/context
    	http://www.springframework.org/schema/context/spring-context.xsd
    	http://www.springframework.org/schema/aop
    	http://www.springframework.org/schema/aop/spring-aop.xsd
    	http://www.springframework.org/schema/tx 
    	http://www.springframework.org/schema/tx/spring-tx.xsd">
    	
    	<!-- 配置连接池: -->
    	<!-- 引入外部属性文件 -->
    	<context:property-placeholder location="classpath:jdbc.properties"/>
    	<!-- 配置C3P0连接池: -->
    	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    		<property name="driverClass" value="${jdbc.driver}"/>
    		<property name="jdbcUrl" value="${jdbc.url}"/>
    		<property name="user" value="${jdbc.user}"/>
    		<property name="password" value="${jdbc.password}"/>
    	</bean>
    </beans></span>

    2.2,配置Hibernate:属性+映射关系

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- Hibernate的相关信息 -->
    	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    		<!-- 注入连接池 -->
    		<property name="dataSource" ref="dataSource"/>
    		<!-- 配置Hibernate的其他的属性 -->
    		<property name="hibernateProperties">
    			<props>
    				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    				<prop key="hibernate.show_sql">true</prop>
    				<prop key="hibernate.format_sql">true</prop>
    				<prop key="hibernate.connection.autocommit">false</prop>
    				<prop key="hibernate.hbm2ddl.auto">update</prop>
    			</props>
    		</property>
    		<!-- 配置Hibernate的映射文件 -->
    		<property name="mappingResources">
    			<list>
    				<value>cn/itcast/shop/user/vo/User.hbm.xml</value>
    				<value>cn/itcast/shop/category/vo/Category.hbm.xml</value>
    				<value>cn/itcast/shop/product/vo/Product.hbm.xml</value>
    				<value>cn/itcast/shop/categorysecond/vo/CategorySecond.hbm.xml</value>
    				<value>cn/itcast/shop/order/vo/Order.hbm.xml</value>
    				<value>cn/itcast/shop/order/vo/OrderItem.hbm.xml</value>
    				<value>cn/itcast/shop/adminuser/vo/AdminUser.hbm.xml</value>
    			</list>
    		</property>
    	</bean>
    	</span>

    2.3,配置事务

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- 事务管理: -->
    	<!-- 事务管理器 -->
    	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    		<property name="sessionFactory" ref="sessionFactory"/>
    	</bean>
    	
    	<!-- 开启注解事务 -->
    	<tx:annotation-driven transaction-manager="transactionManager"/>
    	</span>


    2.4,配置Action(以User登录为例)

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- 用户模块的Action -->
    	<bean id="userAction" class="cn.itcast.shop.user.action.UserAction" scope="prototype">
    		<!-- 注入Service -->
    		<property name="userService" ref="userService"/>
    	</bean>
    	</span>

    2.5,配置Service(以User登录为例)

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- Service的配置  ===========================-->
    	<bean id="userService" class="cn.itcast.shop.user.service.UserService">
    		<property name="userDao" ref="userDao"/>
    	</bean>
    	</span>

    2.6,配置Dao(以User登录为例)

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- Dao的配置  ===========================-->
    	<bean id="userDao" class="cn.itcast.shop.user.dao.UserDao">
    		<property name="sessionFactory" ref="sessionFactory"/>
    	</bean></span>

    至此,本项目中的spring配置完毕。


    三、总结

    在配置这个文件的过程中,尤其要注意类地址的准确性,还有就是单词是否拼写错误。在类中进行注入的时候,是通过我们的名称进行查找,所以名称一定要对应。没有什么技术含量,只是记录下来,方便自己今后的查看。

  • 相关阅读:
    由于信号量apache启动问题
    argument list too long
    Read-only file system处理
    fuser
    strace命令基本用法
    c++ 对vector和deque进行逆序排序问题
    C++ 遍历vector容器的三种方式
    C++ 中关于重复读取ifstream中的内容所需要注意的问题
    C++中的文件写入和读取(文本文件方式,二进制方式)
    Unity DoTween插件 在代码中改变Ease(运动方式)
  • 原文地址:https://www.cnblogs.com/hhx626/p/6010355.html
Copyright © 2020-2023  润新知