applicationContext.xml配置分析

<?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
< beans>
    //读取配置文件init.properties的信息
    <bean id="placeholderConfig"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location">
            <value>classpath:init.properties</value>
        </property>
    </bean>
    //数据源的配置(使用了上面init.properties的信息) 试用了c3p0连接池
    <bean id="dataSource"
        class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close" dependency-check="none">
        <property name="driverClass" value=${datasource.driverClassName}/>
        <property name="jdbcUrl" value=${datasource.url}/>
        <property name="user" value=${datasource.username}/>
        <property name="acquireIncrement" value=${c3p0.acquireIncrement}/>
        <property name="initialPoolSize" value=${c3p0.initialPoolSize}/>
        <property name="minPoolSize" value=${c3p0.minPoolSize}/>
        <property name="maxPoolSize" value=${c3p0.maxPoolSize}/>
        <property name="maxIdleTime" value=${c3p0.maxIdleTime}/>
        <property name="idleConnectionTestPeriod" value=${c3p0.idleConnectionTestPeriod}/>
        <property name="maxStatements">
            <value>${c3p0.maxStatements}</value>
        </property>
        <property name="numHelperThreads">
            <value>${c3p0.numHelperThreads}</value>
        </property>
    </bean>
    //配置spring的heibernate工厂sessionFactory
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref local="dataSource" />
        </property>
        配置读取所有数据库表格的配置文件
        <property name="mappingResources">
            <list>
                <value>com/laoer/bbscs/bean/UserInfo.hbm.xml</value>
                <value>com/laoer/bbscs/bean/UserDetail.hbm.xml</value>
                <value>
                    com/laoer/bbscs/bean/Config-${datasource.type}.hbm.xml
                </value>
                <value>
                    com/laoer/bbscs/bean/Board-${datasource.type}.hbm.xml
                </value>
                <value>
                    com/laoer/bbscs/bean/BoardMaster-${datasource.type}.hbm.xml
                </value>
                <value>com/laoer/bbscs/bean/BoardTag.hbm.xml</value>
                <value>com/laoer/bbscs/bean/Permission.hbm.xml</value>
                <value>
                    com/laoer/bbscs/bean/Role-${datasource.type}.hbm.xml
                </value>
                <value>
                    com/laoer/bbscs/bean/UserGroup-${datasource.type}.hbm.xml
                </value>
                <value>com/laoer/bbscs/bean/UserOnline.hbm.xml</value>
                <value>com/laoer/bbscs/bean/LoginError.hbm.xml</value>
                <value>
                    com/laoer/bbscs/bean/BoardPermission.hbm.xml
                </value>
                <value>com/laoer/bbscs/bean/UserLevel.hbm.xml</value>
                <value>com/laoer/bbscs/bean/BoardSave.hbm.xml</value>
                <value>com/laoer/bbscs/bean/Friend.hbm.xml</value>
                <value>
                    com/laoer/bbscs/bean/Note-${datasource.type}.hbm.xml
                </value>
                <value>com/laoer/bbscs/bean/BookMark.hbm.xml</value>
                <value>
                    com/laoer/bbscs/bean/ForumMain-${datasource.type}.hbm.xml
                </value>
                <value>
                    com/laoer/bbscs/bean/ForumHistory-${datasource.type}.hbm.xml
                </value>
                <value>com/laoer/bbscs/bean/Subscibe.hbm.xml</value>
                <value>com/laoer/bbscs/bean/Vote.hbm.xml</value>
                <value>com/laoer/bbscs/bean/VoteItem.hbm.xml</value>
                <value>com/laoer/bbscs/bean/VoteUser.hbm.xml</value>
                <value>com/laoer/bbscs/bean/AgreeAgainst.hbm.xml</value>
                <value>com/laoer/bbscs/bean/Commend.hbm.xml</value>
                <value>com/laoer/bbscs/bean/ForumBuy.hbm.xml</value>
                <value>
                    com/laoer/bbscs/bean/BoardAuthUser.hbm.xml
                </value>
                <value>com/laoer/bbscs/bean/SysNumStat.hbm.xml</value>
                <value>com/laoer/bbscs/bean/UserTop.hbm.xml</value>
                <value>
                    com/laoer/bbscs/bean/Elite-${datasource.type}.hbm.xml
                </value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    ${hibernate.dialect}
                </prop>
                <prop key="hibernate.show_sql">
                    ${hibernate.show_sql}
                </prop>
                <prop key="hibernate.jdbc.fetch_size">
                    ${hibernate.jdbc.fetch_size}
                </prop>
                <prop key="hibernate.jdbc.batch_size">
                    ${hibernate.jdbc.batch_size}
                </prop>
            </props>
        </property>
    </bean>
    //配置事务处理
    <bean id="myTransactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="sessionFactory" />
        </property>
    </bean>
    <bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>com.laoer.bbscs.web.action.BaseAction</value>
            </list>
        </property>
    </bean>
    <bean id="sysOptionsValues"
        class="com.laoer.bbscs.comm.SysOptionsValues">
        <property name="messageSource">
            <ref bean="messageSource" />
        </property>
    </bean>
    <bean id="sysConfig"
        class="com.laoer.bbscs.service.config.SysConfig">
        <constructor-arg>
            <ref bean="configService" />
        </constructor-arg>
        <property name="isLoad">
            <value>${bbscs.isloadconfig}</value>
        </property>
    </bean>
    <bean id="userConfig"
        class="com.laoer.bbscs.service.config.UserConfig">
        <property name="safePath">
            <value>${bbscs.safePath}</value>
        </property>
    </bean>
    <bean id="forumConfig"
        class="com.laoer.bbscs.service.config.ForumConfig">
        <property name="safePath">
            <value>${bbscs.safePath}</value>
        </property>
    </bean>
  </beans>

   //boardDAO 是配置的ID
    //com.laoer.bbscs.dao.hibernate.BoardHibernateDAO 需要实例化的类
    //以后com.laoer.bbscs.dao.hibernate.BoardHibernateDAO这个类在其他类和方法里不用
    new BoardHibernateDAO()这样的语句去实例化直接用他刚才定义好的ID名称boardDAO去调用即可。

    com.laoer.bbscs.dao.hibernate.BoardHibernateDAO这个类实例化的时候有些方法需要参数,比如说他调用数据库,Hibernian调用数据库时候使用sessionFactory工厂 。

    sessionFactory工厂是那里定义的呢 就是上面说的
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">。。。。
        这里定义的 所以直接用
        <property name="sessionFactory">
            <ref local="sessionFactory" />
        </property>
        这种方法传递给com.laoer.bbscs.dao.hibernate.BoardHibernateDAO类,举一个简单的例子例:
         BoardHibernateDAO类:
         public class BoardHibernateDAO{
            这里使用sessionFactory以前的习惯是这样:
            先用new去实例化
            SessionFactory sessionFactory = new sessionFactory();
            在方法里调用

            现在的方法是 先定义一个属性 再用get set方法(spring里的说法是依赖注入)来获取刚才配置里的已经实例化好的sessionFactory
            private SessionFactory sessionFactory;

            public void setSessionFactory(SessionFactory sessionFactory) {
                this.sessionFactory = sessionFactory;
            }

            public SessionFactory getSessionFactory() {
                return sessionFactory;
            }
         }

    <bean id="boardDAO"
        class="com.laoer.bbscs.dao.hibernate.BoardHibernateDAO">
        <property name="sessionFactory">
            <ref local="sessionFactory" />
        </property>
    </bean>
< /beans>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值