struts2+spring+hibernate tomcat报错

struts+spring+hibernate+dao开发时运行报错,数据库为SQL Server2014,求大神指点哭

tomcat报错:

一月 02, 2018 8:45:58 下午 org.apache.catalina.core.AprLifecycleListener init

信息: Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.4.8.
一月 02, 2018 8:45:58 下午 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
一月 02, 2018 8:45:58 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL
信息: OpenSSL successfully initialized (OpenSSL 1.0.1g 7 Apr 2014)
一月 02, 2018 8:45:59 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8088"]
一月 02, 2018 8:45:59 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-apr-8009"]
一月 02, 2018 8:45:59 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1553 ms
一月 02, 2018 8:45:59 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
一月 02, 2018 8:45:59 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/8.0.9
一月 02, 2018 8:45:59 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\docs
一月 02, 2018 8:45:59 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\docs has finished in 510 ms
一月 02, 2018 8:45:59 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\examples
一月 02, 2018 8:46:00 下午 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
一月 02, 2018 8:46:00 下午 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
一月 02, 2018 8:46:00 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\examples has finished in 988 ms
一月 02, 2018 8:46:00 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\host-manager
一月 02, 2018 8:46:00 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\host-manager has finished in 35 ms
一月 02, 2018 8:46:00 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\manager
一月 02, 2018 8:46:00 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\manager has finished in 35 ms
一月 02, 2018 8:46:00 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\ROOT
一月 02, 2018 8:46:00 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\ROOT has finished in 36 ms
一月 02, 2018 8:46:00 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\xscjManage
一月 02, 2018 8:46:09 下午 org.apache.catalina.core.ApplicationContext log
信息: No Spring WebApplicationInitializer types detected on classpath
一月 02, 2018 8:46:09 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
一月 02, 2018 8:46:14 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Java-EE-Environment\apache-tomcat-8.0.9-windows-x64\apache-tomcat-8.0.9\webapps\xscjManage has finished in 13,794 ms
一月 02, 2018 8:46:14 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-apr-8088"]
一月 02, 2018 8:46:14 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-apr-8009"]
一月 02, 2018 8:46:14 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 15465 ms
一月 02, 2018 8:48:58 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [default] in context with path [/xscjManage] threw exception [org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; Cannot create PoolableConnectionFactory (不支持此服务器版本。目标服务器必须是 SQL Server 2000 或更高版本。); nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (不支持此服务器版本。目标服务器必须是 SQL Server 2000 或更高版本。)] with root cause
com.microsoft.sqlserver.jdbc.SQLServerException: 不支持此服务器版本。目标服务器必须是 SQL Server 2000 或更高版本。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.DBComms.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.DBComms.<init>(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:105)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
at org.hibernate.loader.Loader.doQuery(Loader.java:661)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
at org.dao.imp.DlDaoImp.find(DlDaoImp.java:17)
at org.service.imp.DlServiceManage.find(DlServiceManage.java:15)
at org.action.DlAction.execute(DlAction.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:207)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invo
ke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:127)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:107)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:206)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:121)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:277)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2381)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2370)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:744)



applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=XSCJ">
</property>
<property name="username" value="sa"></property>
<property name="password" value="1234567890"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="datasource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/model/Dlb.hbm.xml</value>
<value>org/model/Xsb.hbm.xml</value>
<value>org/model/Kcb.hbm.xml</value>
<value>org/model/Zyb.hbm.xml</value>
<value>org/model/Cjb.hbm.xml</value>
</list>
</property>
</bean>
<bean id="transactionManager"
         class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<!-- HibernateTransactionManager   bean需要依赖注入一个SessionFactory bean的引用-->
            <property name="sessionFactory">
            <ref local="sessionFactory"/>
            </property>
    </bean>
    <!--   配置事务拦截器-->
    <bean id="transactionInterceptor"
        class="org.springframework.transaction.interceptor.TransactionInterceptor">
        <!--   事务拦截器bean需要依赖注入一个事务管理器 -->
        <property name="transactionManager" ref="transactionManager"/>
        <property name="transactionAttributes">
            <!-- 下面定义事务传播属性-->
            <props>
                <prop key="delete*">PROPAGATION_REQUIRED</prop>
                <prop key="*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
    </bean>
<!-- 定义BeanNameAutoProxyCreator,该bean无需被引用,因此没有id属性,这个bean根据事务拦截器为目标bean自动创建事务代理-->
    <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
          <!-- 指定对满足哪些bean name的bean自动生成业务代理  -->
  <property name="beanNames">
            <!--   下面是所有需要自动创建事务代理的bean-->
            <list>
                <value>xsService</value>
                <value>kcService</value>
                <value>cjService</value>
                <value>zyService</value>
            </list>
            <!--   此处可增加其他需要自动创建事务代理的bean-->
        </property>
        <!--   下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
        <property name="interceptorNames">
            <list>
                <value>transactionInterceptor</value> 
                 <!-- 此处可增加其他新的Interceptor -->
            </list>
        </property>
     </bean>
<bean id="dlDao" class="org.dao.imp.DlDaoImp">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="xsDao" class="org.dao.imp.XsDaoImp">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="kcDao" class="org.dao.imp.KcDaoImp">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="zyDao" class="org.dao.imp.ZyDaoImp">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="cjDao" class="org.dao.imp.CjDaoImp">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="dlService" class="org.service.imp.DlServiceManage">
<property name="dlDao">
<ref bean="dlDao"/>
</property>
</bean>
<bean id="xsService" class="org.service.imp.XsServiceManage">
<property name="xsDao">
<ref bean="xsDao"/>
</property>
<property name="cjDao">
<ref bean="cjDao"/>
</property>
</bean>
<bean id="zyService" class="org.service.imp.ZyServiceManage">
<property name="zyDao">
<ref bean="zyDao"/>
</property>
</bean>
<bean id="kcService" class="org.service.imp.KcServiceManage">
<property name="kcDao">
<ref bean="kcDao"/>
</property>
<property name="cjDao">
<ref bean="cjDao"/>
</property>
</bean>
<bean id="cjService" class="org.service.imp.CjServiceManage">
<property name="cjDao">
<ref bean="cjDao"/>
</property>
</bean>
<bean id="dlAction" class="org.action.DlAction">
<property name="dlService">
<ref bean="dlService"/>
</property>
</bean>
<bean id="xsAction" class="org.action.XsAction">
<property name="xsService">
<ref bean="xsService"/>
</property>
<property name="zyService">
<ref bean="zyService"/>
</property>
</bean>
<bean id="kcAction" class="org.action.KcAction">
<property name="kcService">
<ref bean="kcService"/>
</property>
</bean>
<bean id="cjAction" class="org.action.CjAction">
<property name="xsService">
<ref bean="xsService"/>
</property>
<property name="kcService">
<ref bean="kcService"/>
</property>
<property name="cjService">
<ref bean="cjService"/>
</property>
</bean>
</beans>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我明白了,我会给你一个关于StrutsSpring、Boot、Hibernate、Postgres、Redis和Tomcat技术框架选型的描述。 首先,StrutsSpring是两个非常受欢迎的Java Web框架,它们提供了许多有用的工具和功能,可以加速Web应用程序的开发。Boot则是Spring框架的一部分,它提供了一种快速开发应用程序的方式,使我们能够更快地构建出更好的应用。 Hibernate是一个强大的Java ORM框架,它提供了许多有用的功能,包括对象关系映射和数据库连接池等,可以使数据库操作更加简单和高效。 Postgres是一个开源的关系型数据库管理系统,它提供了非常高的数据完整性和安全性,同时还能够支持大量的数据类型,包括JSON和XML等。 Redis是一种内存数据存储和缓存数据库系统,它提供了非常快速的数据读写速度,同时也能够支持异步数据复制和数据持久化等。 Tomcat是一个非常流行的Java Servlet容器,它提供了一个运行Web应用程序的环境,可以使我们更加轻松地将应用程序部署到Web服务器上。 对于一个大型的Web应用程序,我们可以考虑使用StrutsSpring Boot和Hibernate来构建应用程序的基础框架,以快速地开发出高质量的应用程序。同时,我们可以使用Postgres来管理应用程序的数据,使用Redis来缓存常用的数据,并使用Tomcat来运行Web应用程序。 总的来说,这些技术在Java Web开发中非常重要,我们可以根据自己的需求来选择并使用它们,以构建出更好的应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值