配置文件的一些解释

Strut2:
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"   
        "http://struts.apache.org/dtds/struts-2.1.dtd"> 
<struts> 
         //配置启用调试,将有更多的错误信息输出,便于排错
    <constant name="struts.devMode" value="true" /> 
        //指定使用注解标注的控制器的默认包。可以在这个默认包中配置全局信息。
    <constant name="struts.convention.default.parent.package" value="default-package" /> 
       //为查找控制器包路径的关键字。如:com.mycompany.action,com.mycompany.action.user,都会被struts2扫描。里面有继承至Action的类,或类名以Action结尾的类,都会做为Action处理
    <constant name="struts.convention.package.locators" value="action" /> 
    <package name="default-package" extends="convention-default"> 
        //指定了默认action,如果指定的action不存在则访问该action。
      <default-action-ref name="index" /> 
         <action name="index" > 
            <result>/WEB-INF/content/index.jsp</result> 
         </action>
    </package> 
</struts>
把struts2-spring-plugin-2.1.6.jar添加到classpath中,struts2会自动扫描struts-plugin.xml文件,该文件自动注册了


Spring:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
//指定Bean扫描的包,多个包逗号隔开,任何标注了@Component,@Controller,@Service,@Repository的类,都会被自动识别为bean。
<context:component-scan base-  package="persistence,service,action,aop" />
//声明aspectj动态代理,启用注解驱动的aspectj配置。
<aop:aspectj-autoproxy />
//启用注解驱动的声明事务支持。
<tx:annotation-driven transaction-manager="transactionManager" />
然后定义了sessionFactory和transactionManager,hibernateTemplate用来注入到Dao中,取代继承的方式使用spring对hibernate的集成支持
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" >
   <property name="sessionFactory" ref="sessionFactory" />
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" > 
   <property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate" >
   <property name="sessionFactory" ref="sessionFactory" />
</bean>
</beans>


Hibernate:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/sshdemo</property> 
        <property name="hibernate.connection.username">root</property> 
        <property name="hibernate.connection.password">root</property> 
        <property name="hibernate.hbm2ddl.auto">update</property> 
        <property name="hibernate.show_sql">true</property> 
        <property name="hibernate.format_sql">true</property> 
        <property name="hibernate.current_session_context_class">thread</property>         

        <!-- 最大连接数 --> 
        <property name="hibernate.c3p0.max_size">20</property> 
        <!-- 最小连接数 --> 
        <property name="hibernate.c3p0.min_size">5</property> 
        <!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 --> 
        <property name="hibernate.c3p0.timeout">120</property> 
        <!-- 最大的PreparedStatement的数量 --> 
        <property name="hibernate.c3p0.max_statements">100</property> 
        <!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒--> 
        <property name="hibernate.c3p0.idle_test_period">120</property> 
        <!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 --> 
        <property name="hibernate.c3p0.acquire_increment">2</property> 
        <!-- 每次都验证连接是否可用 --> 
        <property name="hibernate.c3p0.validate">true</property> 

        <mapping class="domain.Task" /> 
    </session-factory> 
</hibernate-configuration> 

猜你喜欢

转载自493420337.iteye.com/blog/1326523