ssh配置文件

新建工程:

一、基本的包、类

1. application,控制层,编写Action类。

2. domain,业务层,编写接口和接口实现类。

3. respository,持久层,存放Hibernate反响生成的类。

4. util公共包,存放公共类。

5. webRoot下面是视图层。

6. 分类的文件夹有css images js error页面、

7. 把37jar文件拷贝到lib目录下面。

二、设计过程: 

1.需求分析,画出用例图。

2.画出逻辑关系图。

3. OOP,设计数据库。

配置文件:

Spring的:applicationContext.xml

1.定义C3P0数据源:

<!-- 定义数据源Bean,使用C3P0数据源实现 -->

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">

<!-- 指定连接数据库的驱动 -->

<property name="driverClass" value="com.mysql.jdbc.Driver"/>

<!-- 指定连接数据库的URL -->

<property name="jdbcUrl" value="jdbc:mysql://localhost/exam?characterEncoding=utf-8"/>

<!-- 指定连接数据库的用户名 -->

<property name="user" value="root"/>

<!-- 指定连接数据库的密码 -->

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

<!-- 指定连接数据库连接池的最大连接数 -->

<property name="maxPoolSize" value="50"/>

<!-- 指定连接数据库连接池的最小连接数 -->

<property name="minPoolSize" value="5"/>

<!-- 指定连接数据库连接池的初始化连接数 -->

<property name="initialPoolSize" value="25"/>

<!-- 指定连接数据库连接池的连接的最大空闲时间 -->

<property name="maxIdleTime" value="20"/>

</bean>

2.定义HibernateSessionFactory

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

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

        <property name="mappingResources">

            <list>

<value>exam/ssh/repository/book/Book.hbm.xml</value>

<!-- 当新增加了一个DAO时,需要手动配置 -->

<value>exam/ssh/repository/bookcontent/Bookcontent.hbm.xml</value>  

</list>

        </property>

        <property name="hibernateProperties">

            <props>

                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

                <prop key="show_sql">true</prop>

                <prop key="hibernate.hbm2ddl.auto">update</prop>

                <prop key="hibernate.jdbc.batch_size">20</prop> 

            </props>

        </property>

</bean>

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

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

    </bean>

3.定义事务。

<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">

    <!--  事务拦截器bean需要依赖注入一个事务管理器 -->

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

    <property name="transactionAttributes">

    <!--  下面定义事务传播属性-->

    <props>

    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>

    <prop key="*">PROPAGATION_REQUIRED</prop>

    </props>

    </property>

</bean>

    <!-- 定义BeanNameAutoProxyCreator-->

    <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">

    <!--  指定对满足哪些bean namebean自动生成业务代理 -->

    <property name="beanNames">

            <!--  下面是所有需要自动创建事务代理的bean-->

            <list>

            <!--服务类的对象放到这里给spring管理 -->

                <value>bookContentService</value>

                <value>bookService</value>

            </list>

            <!--  此处可增加其他需要自动创建事务代理的bean-->

    </property>

        <!--  下面定义BeanNameAutoProxyCreator所需的事务拦截器-->

        <property name="interceptorNames">

            <list>

                <!-- 此处可增加其他新的Interceptor -->

                <value>transactionInterceptor</value> 

            </list>

        </property>

</bean>

8. 自定义层。

    <!-- 业务层 -->

    <bean id="bookService" class="exam.ssh.domain.book.impl.BookServiceImpl">

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

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

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

    </bean>

    

    <!-- 书本内容开始    手动     bookContentService要跟定义的对象名一致-->

    <bean id="bookContentService" class="exam.ssh.domain.bookcontent.impl.BookcontentImpl">

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

        </bean>

    <!-- 书本内容结束 -->

    

    <!-- 持久层 -->

<bean id="bookDAO" class="exam.ssh.repository.book.BookDAO">

<property name="sessionFactory">

<ref bean="sessionFactory" />

</property>

</bean> 

<!-- 当新增加一个DAO时,自动生成 -->

<bean id="bookcontentDAO"

class="exam.ssh.repository.bookcontent.BookcontentDAO">

<property name="sessionFactory">

<ref bean="sessionFactory" />

</property>

</bean>

    <bean id="bookQuery" class="exam.ssh.repository.book.BookQuery">

    <property name="sessionFactory">

    <ref bean="sessionFactory" />

    </property>

        <property name="commonQuerySingleTable" ref="CommonQuerySingleTable" />

    </bean>

    <bean id="CommonQuerySingleTable" class="exam.ssh.repository.common.CommonQuerySingleTable">

    <property name="sessionFactory">

    <ref bean="sessionFactory" />

    </property>

    </bean>

    

<!-- 基础层 -->

<bean id="pageUtil" class="exam.ssh.util.PageUtil"/>

Struts2struts2.xml

1. 设置编码问题:

<!-- 编码设置 -->

<!--   如果不能提交中文,则注释掉这个编码设置 -->

<constant name="struts.custom.i18n.resources" value="messageResource" />

<constant name="struts.i18n.encoding" value="gb2312" />

2. 接下来定义action

<package name="exam" extends="struts-default">

<!-- 单选题模块  开始-->

     <!-- 查找全部 -->

<action name="singlelist" class="exam.action.SingleAction"

method="execute">

<result name="success">/testSingle/singlelist.jsp

</result>

</action>

</package>

Web.xml

1.web.xml关联到applicationContext.xml的配置。

 <!-- 这个是让web.xml关联到applicationContext.xml的配置 -->

 <context-param>

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

<param-value>

     /WEB-INF/applicationContext.xml

</param-value>

</context-param>

2用于初始化SpringIOC容器的配置Listener

<!-- 用于初始化SpringIOC容器的配置Listener -->

    <listener>

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

</listener>

3. 定义Struts2FilterDispathcerFilterr

<!-- 定义Struts2FilterDispathcerFilter -->

    <filter>

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

        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

    </filter>

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

    <filter-mapping>

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

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

    </filter-mapping>

你可能感兴趣的:(spring,Hibernate,数据库,struts,ssh,数据库连接池)