Spring 基于 xml 配置的声明式事务
  anLrwkgbyYZS 2023年12月30日 15 0


1. 测试一个 没有事务 的 insert 语句

首先测试一个 没有事务 的 insert 语句,测试插入一条数据,测试成功,如下图所示,大家可以随便找一个之前的 SSM 来进行插入测试,这里测试的是 private ClassService classService; 的 insert 方法。

Spring 基于 xml 配置的声明式事务_jar

分析一下日志,如下所示,日志的全部分析见附录。

--- 创建了数据库连接池
DEBUG [main] - Created new pool for auth, username (masked): 'ro******'.
DEBUG [main] - acquire test -- pool size: 0; target_pool_size: 50; desired target? 1
DEBUG [main] - awaitAvailable(): [unknown]
DEBUG [main] - JDBC Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5f0fd5a0 [wrapping: com.mysql.cj.jdbc.ConnectionImpl@64e7619d]] will not be managed by Spring

--- Sql 语句
DEBUG [main] - ==>  Preparing: insert into class(classID, className, studentNumber,inviteCode,teacherID,createDatetime) values (?,?,?,?,?,now()) 
--- 参数
DEBUG [main] - ==> Parameters: aa0edfaa8df448a29ff3d6e66c115b36(String), cc(String), 0(Integer), 2EFQBW(String), t01(String)
--- 更新了一行,插入成功
DEBUG [main] - <==    Updates: 1
--- 关闭没有事务的 SqlSession
DEBUG [main] - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3576ddc2]
--- 归还JDBC连接给 DataSource
DEBUG [main] - Returning JDBC Connection to DataSource

---- 测试完成之后
DEBUG [main] - After test method: context [DefaultTestContext@6d4b1c02 testClass = ClassServiceImplTest, testInstance = com.wslxxy.service.impl.ClassServiceImplTest@4667ae56, testMethod = insert@ClassServiceImplTest, testException = [null], mergedContextConfiguration = [MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]], class annotated with @DirtiesContext [false] with mode [null], method annotated with @DirtiesContext [false] with mode [null].
DEBUG [main] - After test class: context [DefaultTestContext@6d4b1c02 testClass = ClassServiceImplTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]], class annotated with @DirtiesContext [false] with mode [null].
 INFO [Thread-1] - Closing org.springframework.context.support.GenericApplicationContext@4bec1f0c: startup date [Fri Jun 28 21:11:31 SGT 2019]; root of context hierarchy
DEBUG [Thread-1] - Returning cached instance of singleton bean 'sessionFactory'
DEBUG [Thread-1] - Returning cached instance of singleton bean 'lifecycleProcessor'
DEBUG [Thread-1] - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4f9a3314: defining beans [org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0,classDaoImpl,homeworkDaoImpl,studentDaoImpl,taskDAOImpl,teacherDaoImpl,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.event.internalEventListenerProcessor,org.springframework.context.event.internalEventListenerFactory,classServiceImpl,homeworkServiceImpl,studentServiceImpl,taskServiceImpl,teacherServiceImpl,dailyRecordAspect,dataSource,sessionFactory]; root of factory hierarchy
DEBUG [Thread-1] - Retrieved dependent beans for bean 'sessionFactory': [classDaoImpl, homeworkDaoImpl, studentDaoImpl, taskDAOImpl, teacherDaoImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'classDaoImpl': [classServiceImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'classServiceImpl': [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'homeworkDaoImpl': [homeworkServiceImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'studentDaoImpl': [studentServiceImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'taskDAOImpl': [taskServiceImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'teacherDaoImpl': [teacherServiceImpl]

修改 insert 方法 加入一个 int i = 1/0;这条语句肯定会报错。

@Override
    public void insert(ClassDO entity) {
        classDAO.insert(entity);
        int i = 1/0;
    }

测试结果,插入成功,虽然int i = 1/0 报错。

Spring 基于 xml 配置的声明式事务_数据_02

2. 测试有事务 的 insert 语句

Spring 基于 xml 配置的声明式事务 其实很简单,在 beans.xml  添加如下配置即可。

<!-- 事务管理 -->
  <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"/>
  </bean>

  <!-- 事务通知 -->
  <tx:advice id="txAdvice" transaction-manager="txManager">
    <tx:attributes>
      <tx:method name="insert*" propagation="REQUIRED"/>
      <tx:method name="update*" propagation="REQUIRED"/>
      <tx:method name="delete*" propagation="REQUIRED"/>
      <tx:method name="save*" propagation="REQUIRED"/>

      <tx:method name="find*" read-only="false"/>
      <tx:method name="get*" read-only="false"/>
      <tx:method name="view*" read-only="false"/>
    </tx:attributes>
  </tx:advice>

  <!-- 事务切面到 service -->
  <aop:config>
    <aop:pointcut expression="execution(* com.wslxxy.service.*.*(..))" id="txPointcut"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
  </aop:config>

再次运行,事务回滚了,数据没有插入。

Spring 基于 xml 配置的声明式事务_spring_03

Spring中有5类事务隔离级别:

ISOLATION_DEFAULT

这是一个PlatfromTransactionManager默认的隔离级别使用数据库默认的事务隔离级别.另外四个与JDBC的隔离级别相对应 

ISOLATION_READ_UNCOMMITTED

这是事务最低的隔离级别,它充许别外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读

ISOLATION_READ_COMMITTED

保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。这种事务隔离级别可以避免脏读出现,但是可能会出现不可重复读和幻像读。

ISOLATION_REPEATABLE_READ

这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免下面的情况产生(不可重复读)。

ISOLATION_SERIALIZABLE

这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读。

7种事务的传播级别:

PROPAGATION_REQUIRED 

默认的spring事务传播级别,使用该级别的特点是,如果上下文中已经存在事务,那么就加入到事务中执行,如果当前上下文中不存在事务,则新建事务执行。所以这个级别通常能满足处理大多数的业务场景。

PROPAGATION_SUPPORTS 

从字面意思就知道,supports,支持,该传播级别的特点是,如果上下文存在事务,则支持事务加入事务,如果没有事务,则使用非事务的方式执行。所以说,并非所有的包在transactionTemplate.execute中的代码都会有事务支持。这个通常是用来处理那些并非原子性的非核心业务逻辑操作。应用场景较少。

PROPAGATION_MANDATORY

该级别的事务要求上下文中必须要存在事务,否则就会抛出异常!配置该方式的传播级别是有效的控制上下文调用代码遗漏添加事务控制的保证手段。比如一段代码不能单独被调用执行,但是一旦被调用,就必须有事务包含的情况,就可以使用这个传播级别。

PROPAGATION_REQUIRES_NEW 

从字面即可知道,new,每次都要一个新事务,该传播级别的特点是,每次都会新建一个事务,并且同时将上下文中的事务挂起,执行当前新建事务完成以后,上下文事务恢复再执行。

 

这是一个很有用的传播级别,举一个应用场景:现在有一个发送100个红包的操作,在发送之前,要做一些系统的初始化、验证、数据记录操作,然后发送100封红包,然后再记录发送日志,发送日志要求100%的准确,如果日志不准确,那么整个父事务逻辑需要回滚。

 

怎么处理整个业务需求呢?就是通过这个PROPAGATION_REQUIRES_NEW 级别的事务传播控制就可以完成。发送红包的子事务不会直接影响到父事务的提交和回滚。

PROPAGATION_NOT_SUPPORTED

这个也可以从字面得知,not supported ,不支持,当前级别的特点就是上下文中存在事务,则挂起事务,执行当前逻辑,结束后恢复上下文的事务。

这个级别有什么好处?可以帮助你将事务极可能的缩小。我们知道一个事务越大,它存在的风险也就越多。所以在处理事务的过程中,要保证尽可能的缩小范围。比如一段代码,是每次逻辑操作都必须调用的,比如循环1000次的某个非核心业务逻辑操作。这样的代码如果包在事务中,势必造成事务太大,导致出现一些难以考虑周全的异常情况。所以这个事务这个级别的传播级别就派上用场了。用当前级别的事务模板抱起来就可以了。

PROPAGATION_NEVER

该事务更严格,上面一个事务传播级别只是不支持而已,有事务就挂起,而PROPAGATION_NEVER传播级别要求上下文中不能存在事务,一旦有事务,就抛出runtime异常,强制停止执行!这个级别上辈子跟事务有仇。

PROPAGATION_NESTED

字面也可知道,nested,嵌套级别事务。该传播级别特征是,如果上下文中存在事务,则嵌套事务执行,如果不存在事务,则新建事务。

附录

日志的全部分析。

--- 加载环境,这里用的是jdk8,jdk12只是个文件夹名
D:\jdk12\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:F:\IDEA stu\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=51922:F:\IDEA stu\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath "F:\IDEA stu\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar;F:\IDEA stu\IntelliJ IDEA 2018.2.4\plugins\junit\lib\junit-rt.jar;F:\IDEA stu\IntelliJ IDEA 2018.2.4\plugins\junit\lib\junit5-rt.jar;D:\jdk12\jre\lib\charsets.jar;D:\jdk12\jre\lib\deploy.jar;D:\jdk12\jre\lib\ext\access-bridge-64.jar;D:\jdk12\jre\lib\ext\cldrdata.jar;D:\jdk12\jre\lib\ext\dnsns.jar;D:\jdk12\jre\lib\ext\jaccess.jar;D:\jdk12\jre\lib\ext\jfxrt.jar;D:\jdk12\jre\lib\ext\localedata.jar;D:\jdk12\jre\lib\ext\nashorn.jar;D:\jdk12\jre\lib\ext\sunec.jar;D:\jdk12\jre\lib\ext\sunjce_provider.jar;D:\jdk12\jre\lib\ext\sunmscapi.jar;D:\jdk12\jre\lib\ext\sunpkcs11.jar;D:\jdk12\jre\lib\ext\zipfs.jar;D:\jdk12\jre\lib\javaws.jar;D:\jdk12\jre\lib\jce.jar;D:\jdk12\jre\lib\jfr.jar;D:\jdk12\jre\lib\jfxswt.jar;D:\jdk12\jre\lib\jsse.jar;D:\jdk12\jre\lib\management-agent.jar;D:\jdk12\jre\lib\plugin.jar;D:\jdk12\jre\lib\resources.jar;D:\jdk12\jre\lib\rt.jar;F:\IDEA workspace\作业提交系统\target\test-classes;F:\IDEA workspace\作业提交系统\target\classes;E:\Repository\Maven\junit\junit\4.12\junit-4.12.jar;E:\Repository\Maven\org\hamcrest\hamcrest-core\2.1\hamcrest-core-2.1.jar;E:\Repository\Maven\org\hamcrest\hamcrest\2.1\hamcrest-2.1.jar;E:\Repository\Maven\org\springframework\spring-core\4.3.18.RELEASE\spring-core-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-web\4.3.18.RELEASE\spring-web-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-beans\4.3.18.RELEASE\spring-beans-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-webmvc\4.3.18.RELEASE\spring-webmvc-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-expression\4.3.18.RELEASE\spring-expression-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-oxm\4.3.18.RELEASE\spring-oxm-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-tx\4.3.18.RELEASE\spring-tx-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-jdbc\4.3.18.RELEASE\spring-jdbc-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-context\4.3.18.RELEASE\spring-context-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-context-support\4.3.18.RELEASE\spring-context-support-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-aop\4.3.18.RELEASE\spring-aop-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-test\4.3.18.RELEASE\spring-test-4.3.18.RELEASE.jar;E:\Repository\Maven\org\aspectj\aspectjweaver\1.8.10\aspectjweaver-1.8.10.jar;E:\Repository\Maven\org\mybatis\mybatis\3.4.4\mybatis-3.4.4.jar;E:\Repository\Maven\org\mybatis\mybatis-spring\2.0.0\mybatis-spring-2.0.0.jar;E:\Repository\Maven\mysql\mysql-connector-java\8.0.14\mysql-connector-java-8.0.14.jar;E:\Repository\Maven\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar;E:\Repository\Maven\javax\servlet\jstl\1.2\jstl-1.2.jar;E:\Repository\Maven\com\mchange\c3p0\0.9.5.3\c3p0-0.9.5.3.jar;E:\Repository\Maven\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar;E:\Repository\Maven\com\alibaba\fastjson\1.2.56\fastjson-1.2.56.jar;E:\Repository\Maven\log4j\log4j\1.2.17\log4j-1.2.17.jar;E:\Repository\Maven\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;E:\Repository\Maven\org\slf4j\slf4j-log4j12\1.7.26\slf4j-log4j12-1.7.26.jar;E:\Repository\Maven\com\fasterxml\jackson\core\jackson-databind\2.9.8\jackson-databind-2.9.8.jar;E:\Repository\Maven\com\fasterxml\jackson\core\jackson-core\2.9.8\jackson-core-2.9.8.jar;E:\Repository\Maven\com\fasterxml\jackson\core\jackson-annotations\2.9.8\jackson-annotations-2.9.8.jar;E:\Repository\Maven\commons-io\commons-io\2.6\commons-io-2.6.jar;E:\Repository\Maven\commons-fileupload\commons-fileupload\1.4\commons-fileupload-1.4.jar;E:\Repository\Maven\commons-codec\commons-codec\1.12\commons-codec-1.12.jar;E:\Repository\Maven\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;E:\Repository\Maven\javax\javaee-api\8.0\javaee-api-8.0.jar;E:\Repository\Maven\com\sun\mail\javax.mail\1.6.0\javax.mail-1.6.0.jar;E:\Repository\Maven\javax\activation\activation\1.1\activation-1.1.jar;E:\Repository\Maven\org\neo4j\neo4j-jdbc-driver\3.4.0\neo4j-jdbc-driver-3.4.0.jar;E:\Repository\Maven\org\apache\commons\commons-lang3\3.9\commons-lang3-3.9.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.wslxxy.service.impl.ClassServiceImplTest,insert
DEBUG [main] - SpringJUnit4ClassRunner constructor called with [class com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
DEBUG [main] - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
DEBUG [main] - Instantiating TestContextBootstrapper for test class [com.wslxxy.service.impl.ClassServiceImplTest] from class [org.springframework.test.context.support.DefaultTestContextBootstrapper]
DEBUG [main] - Delegating to GenericXmlContextLoader to process context configuration [ContextConfigurationAttributes@5ebec15 declaringClass = 'com.wslxxy.BaseTest', classes = '{}', locations = '{classpath:beans.xml}', inheritLocations = true, initializers = '{}', inheritInitializers = true, name = [null], contextLoaderClass = 'org.springframework.test.context.ContextLoader'].
DEBUG [main] - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - @TestExecutionListeners is not present for class [com.wslxxy.service.impl.ClassServiceImplTest]: using defaults.
 INFO [main] - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener]
 INFO [main] - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@457e2f02, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@5c7fa833, org.springframework.test.context.support.DependencyInjectionTestExecutionListener@39aeed2f, org.springframework.test.context.support.DirtiesContextTestExecutionListener@724af044, org.springframework.test.context.transaction.TransactionalTestExecutionListener@4678c730, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@6767c1fc]
DEBUG [main] - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.wslxxy.service.impl.ClassServiceImplTest]DEBUG [main] - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.wslxxy.service.impl.ClassServiceImplTest]DEBUG [main] - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - Before test class: context [DefaultTestContext@6d4b1c02 testClass = ClassServiceImplTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]], class annotated with @DirtiesContext [false] with mode [null].
DEBUG [main] - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [main] - Performing dependency injection for test context [[DefaultTestContext@6d4b1c02 testClass = ClassServiceImplTest, testInstance = com.wslxxy.service.impl.ClassServiceImplTest@4667ae56, testMethod = [null], testException = [null], mergedContextConfiguration = [MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]]].
DEBUG [main] - Delegating to GenericXmlContextLoader to load context from [MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]].
DEBUG [main] - Loading ApplicationContext for merged context configuration [[MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]].
DEBUG [main] - Adding PropertySource 'systemProperties' with lowest search precedence
DEBUG [main] - Adding PropertySource 'systemEnvironment' with lowest search precedence
DEBUG [main] - Initialized StandardEnvironment with PropertySources [MapPropertySource@1213216872 {name='systemProperties', properties={java.runtime.name=Java(TM) SE Runtime Environment, sun.boot.library.path=D:\jdk12\jre\bin, java.vm.version=25.201-b09, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=;, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, file.encoding.pkg=sun.io, user.country=CN, user.script=, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=, java.vm.specification.name=Java Virtual Machine Specification, user.dir=F:\IDEA workspace\作业提交系统, java.runtime.version=1.8.0_201-b09, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.endorsed.dirs=D:\jdk12\jre\lib\endorsed, os.arch=amd64, java.io.tmpdir=C:\Users\Yimso\AppData\Local\Temp\, line.separator=
, java.vm.specification.vendor=Oracle Corporation, user.variant=, os.name=Windows 10, sun.jnu.encoding=GBK, java.library.path=D:\jdk12\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:\jdk8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\DTS\Binn\;F:\nodejs\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\;D:\jdk8\jre\bin;E:\Devsoft\apache-maven-3.6.0\bin;D:\Git\cmd;C:\Users\Yimso\AppData\Local\Microsoft\WindowsApps;C:\Users\Yimso\AppData\Roaming\npm;., java.specification.name=Java Platform API Specification, java.class.version=52.0, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, os.version=10.0, user.home=C:\Users\Yimso, user.timezone=, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=UTF-8, java.specification.version=1.8, java.class.path=F:\IDEA stu\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar;F:\IDEA stu\IntelliJ IDEA 2018.2.4\plugins\junit\lib\junit-rt.jar;F:\IDEA stu\IntelliJ IDEA 2018.2.4\plugins\junit\lib\junit5-rt.jar;D:\jdk12\jre\lib\charsets.jar;D:\jdk12\jre\lib\deploy.jar;D:\jdk12\jre\lib\ext\access-bridge-64.jar;D:\jdk12\jre\lib\ext\cldrdata.jar;D:\jdk12\jre\lib\ext\dnsns.jar;D:\jdk12\jre\lib\ext\jaccess.jar;D:\jdk12\jre\lib\ext\jfxrt.jar;D:\jdk12\jre\lib\ext\localedata.jar;D:\jdk12\jre\lib\ext\nashorn.jar;D:\jdk12\jre\lib\ext\sunec.jar;D:\jdk12\jre\lib\ext\sunjce_provider.jar;D:\jdk12\jre\lib\ext\sunmscapi.jar;D:\jdk12\jre\lib\ext\sunpkcs11.jar;D:\jdk12\jre\lib\ext\zipfs.jar;D:\jdk12\jre\lib\javaws.jar;D:\jdk12\jre\lib\jce.jar;D:\jdk12\jre\lib\jfr.jar;D:\jdk12\jre\lib\jfxswt.jar;D:\jdk12\jre\lib\jsse.jar;D:\jdk12\jre\lib\management-agent.jar;D:\jdk12\jre\lib\plugin.jar;D:\jdk12\jre\lib\resources.jar;D:\jdk12\jre\lib\rt.jar;F:\IDEA workspace\作业提交系统\target\test-classes;F:\IDEA workspace\作业提交系统\target\classes;E:\Repository\Maven\junit\junit\4.12\junit-4.12.jar;E:\Repository\Maven\org\hamcrest\hamcrest-core\2.1\hamcrest-core-2.1.jar;E:\Repository\Maven\org\hamcrest\hamcrest\2.1\hamcrest-2.1.jar;E:\Repository\Maven\org\springframework\spring-core\4.3.18.RELEASE\spring-core-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-web\4.3.18.RELEASE\spring-web-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-beans\4.3.18.RELEASE\spring-beans-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-webmvc\4.3.18.RELEASE\spring-webmvc-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-expression\4.3.18.RELEASE\spring-expression-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-oxm\4.3.18.RELEASE\spring-oxm-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-tx\4.3.18.RELEASE\spring-tx-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-jdbc\4.3.18.RELEASE\spring-jdbc-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-context\4.3.18.RELEASE\spring-context-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-context-support\4.3.18.RELEASE\spring-context-support-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-aop\4.3.18.RELEASE\spring-aop-4.3.18.RELEASE.jar;E:\Repository\Maven\org\springframework\spring-test\4.3.18.RELEASE\spring-test-4.3.18.RELEASE.jar;E:\Repository\Maven\org\aspectj\aspectjweaver\1.8.10\aspectjweaver-1.8.10.jar;E:\Repository\Maven\org\mybatis\mybatis\3.4.4\mybatis-3.4.4.jar;E:\Repository\Maven\org\mybatis\mybatis-spring\2.0.0\mybatis-spring-2.0.0.jar;E:\Repository\Maven\mysql\mysql-connector-java\8.0.14\mysql-connector-java-8.0.14.jar;E:\Repository\Maven\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar;E:\Repository\Maven\javax\servlet\jstl\1.2\jstl-1.2.jar;E:\Repository\Maven\com\mchange\c3p0\0.9.5.3\c3p0-0.9.5.3.jar;E:\Repository\Maven\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar;E:\Repository\Maven\com\alibaba\fastjson\1.2.56\fastjson-1.2.56.jar;E:\Repository\Maven\log4j\log4j\1.2.17\log4j-1.2.17.jar;E:\Repository\Maven\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;E:\Repository\Maven\org\slf4j\slf4j-log4j12\1.7.26\slf4j-log4j12-1.7.26.jar;E:\Repository\Maven\com\fasterxml\jackson\core\jackson-databind\2.9.8\jackson-databind-2.9.8.jar;E:\Repository\Maven\com\fasterxml\jackson\core\jackson-core\2.9.8\jackson-core-2.9.8.jar;E:\Repository\Maven\com\fasterxml\jackson\core\jackson-annotations\2.9.8\jackson-annotations-2.9.8.jar;E:\Repository\Maven\commons-io\commons-io\2.6\commons-io-2.6.jar;E:\Repository\Maven\commons-fileupload\commons-fileupload\1.4\commons-fileupload-1.4.jar;E:\Repository\Maven\commons-codec\commons-codec\1.12\commons-codec-1.12.jar;E:\Repository\Maven\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;E:\Repository\Maven\javax\javaee-api\8.0\javaee-api-8.0.jar;E:\Repository\Maven\com\sun\mail\javax.mail\1.6.0\javax.mail-1.6.0.jar;E:\Repository\Maven\javax\activation\activation\1.1\activation-1.1.jar;E:\Repository\Maven\org\neo4j\neo4j-jdbc-driver\3.4.0\neo4j-jdbc-driver-3.4.0.jar;E:\Repository\Maven\org\apache\commons\commons-lang3\3.9\commons-lang3-3.9.jar;F:\IDEA stu\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar, user.name=Yimso, java.vm.specification.version=1.8, sun.java.command=com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.wslxxy.service.impl.ClassServiceImplTest,insert, java.home=D:\jdk12\jre, sun.arch.data.model=64, user.language=zh, java.specification.vendor=Oracle Corporation, awt.toolkit=sun.awt.windows.WToolkit, java.vm.info=mixed mode, java.version=1.8.0_201, java.ext.dirs=D:\jdk12\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext, sun.boot.class.path=D:\jdk12\jre\lib\resources.jar;D:\jdk12\jre\lib\rt.jar;D:\jdk12\jre\lib\sunrsasign.jar;D:\jdk12\jre\lib\jsse.jar;D:\jdk12\jre\lib\jce.jar;D:\jdk12\jre\lib\charsets.jar;D:\jdk12\jre\lib\jfr.jar;D:\jdk12\jre\classes, java.vendor=Oracle Corporation, file.separator=\, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, idea.test.cyclic.buffer.size=1048576, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=windows, sun.cpu.isalist=amd64}}, SystemEnvironmentPropertySource@1754638213 {name='systemEnvironment', properties={configsetroot=C:\WINDOWS\ConfigSetRoot, USERDOMAIN_ROAMINGPROFILE=LAPTOP-RUUMK3R9, LOCALAPPDATA=C:\Users\Yimso\AppData\Local, PROCESSOR_LEVEL=6, VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\, PT5HOME=C:\Program Files (x86)\Cisco Packet Tracer 5.3, USERDOMAIN=LAPTOP-RUUMK3R9, FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer, LOGONSERVER=\\LAPTOP-RUUMK3R9, JAVA_HOME=D:\jdk12, SESSIONNAME=Console, ALLUSERSPROFILE=C:\ProgramData, PROCESSOR_ARCHITECTURE=AMD64, PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\PowerShell\Modules\, SystemDrive=C:, MAVEN_HOME=E:\Devsoft\apache-maven-3.6.0, OneDrive=C:\Users\Yimso\OneDrive, APPDATA=C:\Users\Yimso\AppData\Roaming, #envTSLOGSHELLEXT19920=663143344, USERNAME=Yimso, ProgramFiles(x86)=C:\Program Files (x86), CommonProgramFiles=C:\Program Files\Common Files, Path=D:\jdk8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\DTS\Binn\;F:\nodejs\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\;D:\jdk8\jre\bin;E:\Devsoft\apache-maven-3.6.0\bin;D:\Git\cmd;C:\Users\Yimso\AppData\Local\Microsoft\WindowsApps;C:\Users\Yimso\AppData\Roaming\npm, FPS_BROWSER_USER_PROFILE_STRING=Default, PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, DriverData=C:\Windows\System32\Drivers\DriverData, OS=Windows_NT, COMPUTERNAME=LAPTOP-RUUMK3R9, PROCESSOR_REVISION=4e03, CLASSPATH=.;%JAVA_HOME\lib\dt.jar;D:\jdk8\lib\tools.jar;, CommonProgramW6432=C:\Program Files\Common Files, ComSpec=C:\WINDOWS\system32\cmd.exe, ProgramData=C:\ProgramData, ProgramW6432=C:\Program Files, HOMEPATH=\Users\Yimso, SystemRoot=C:\WINDOWS, TEMP=C:\Users\Yimso\AppData\Local\Temp, HOMEDRIVE=C:, PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 78 Stepping 3, GenuineIntel, USERPROFILE=C:\Users\Yimso, TMP=C:\Users\Yimso\AppData\Local\Temp, CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files, ProgramFiles=C:\Program Files, PUBLIC=C:\Users\Public, NUMBER_OF_PROCESSORS=4, windir=C:\WINDOWS, =::=::\}}]

--- 加载 beans.xml 
 INFO [main] - Loading XML bean definitions from class path resource [beans.xml]
DEBUG [main] - Using JAXP provider [com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl]
DEBUG [main] - Loading schema mappings from [META-INF/spring.schemas]
DEBUG [main] - Loaded schema mappings: {http://www.springframework.org/schema/tx/spring-tx-2.5.xsd=org/springframework/transaction/config/spring-tx-2.5.xsd, http://www.springframework.org/schema/tx/spring-tx-4.3.xsd=org/springframework/transaction/config/spring-tx-4.3.xsd, http://www.springframework.org/schema/cache/spring-cache-4.2.xsd=org/springframework/cache/config/spring-cache-4.2.xsd, http://www.springframework.org/schema/aop/spring-aop-4.1.xsd=org/springframework/aop/config/spring-aop-4.1.xsd, http://www.springframework.org/schema/context/spring-context-3.1.xsd=org/springframework/context/config/spring-context-3.1.xsd, http://www.springframework.org/schema/jdbc/spring-jdbc-4.1.xsd=org/springframework/jdbc/config/spring-jdbc-4.1.xsd, http://www.springframework.org/schema/util/spring-util-3.0.xsd=org/springframework/beans/factory/xml/spring-util-3.0.xsd, http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd=org/springframework/web/servlet/config/spring-mvc-4.1.xsd, http://mybatis.org/schema/mybatis-spring-1.2.xsd=org/mybatis/spring/config/mybatis-spring.xsd, http://www.springframework.org/schema/aop/spring-aop-3.2.xsd=org/springframework/aop/config/spring-aop-3.2.xsd, http://www.springframework.org/schema/tool/spring-tool.xsd=org/springframework/beans/factory/xml/spring-tool-4.3.xsd, http://www.springframework.org/schema/lang/spring-lang-4.1.xsd=org/springframework/scripting/config/spring-lang-4.1.xsd, http://www.springframework.org/schema/context/spring-context-4.0.xsd=org/springframework/context/config/spring-context-4.0.xsd, http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd=org/springframework/web/servlet/config/spring-mvc-3.2.xsd, http://www.springframework.org/schema/beans/spring-beans-4.2.xsd=org/springframework/beans/factory/xml/spring-beans-4.2.xsd, http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd=org/springframework/oxm/config/spring-oxm-3.0.xsd, http://www.springframework.org/schema/tool/spring-tool-4.1.xsd=org/springframework/beans/factory/xml/spring-tool-4.1.xsd, http://www.springframework.org/schema/lang/spring-lang-3.2.xsd=org/springframework/scripting/config/spring-lang-3.2.xsd, http://www.springframework.org/schema/cache/spring-cache-3.2.xsd=org/springframework/cache/config/spring-cache-3.2.xsd, http://www.springframework.org/schema/jee/spring-jee-4.1.xsd=org/springframework/ejb/config/spring-jee-4.1.xsd, http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd=org/springframework/jdbc/config/spring-jdbc-3.1.xsd, http://www.springframework.org/schema/task/spring-task-4.2.xsd=org/springframework/scheduling/config/spring-task-4.2.xsd, http://www.springframework.org/schema/util/spring-util-2.0.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd, http://www.springframework.org/schema/context/spring-context.xsd=org/springframework/context/config/spring-context-4.3.xsd, http://www.springframework.org/schema/tool/spring-tool-3.2.xsd=org/springframework/beans/factory/xml/spring-tool-3.2.xsd, http://www.springframework.org/schema/tx/spring-tx-4.2.xsd=org/springframework/transaction/config/spring-tx-4.2.xsd, http://www.springframework.org/schema/cache/spring-cache-4.1.xsd=org/springframework/cache/config/spring-cache-4.1.xsd, http://www.springframework.org/schema/aop/spring-aop-4.0.xsd=org/springframework/aop/config/spring-aop-4.0.xsd, http://www.springframework.org/schema/jee/spring-jee-3.2.xsd=org/springframework/ejb/config/spring-jee-3.2.xsd, http://www.springframework.org/schema/context/spring-context-3.0.xsd=org/springframework/context/config/spring-context-3.0.xsd, http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd=org/springframework/jdbc/config/spring-jdbc-4.0.xsd, http://www.springframework.org/schema/util/spring-util-2.5.xsd=org/springframework/beans/factory/xml/spring-util-2.5.xsd, http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd=org/springframework/web/servlet/config/spring-mvc-4.0.xsd, http://www.springframework.org/schema/util/spring-util-4.3.xsd=org/springframework/beans/factory/xml/spring-util-4.3.xsd, http://www.springframework.org/schema/beans/spring-beans-3.2.xsd=org/springframework/beans/factory/xml/spring-beans-3.2.xsd, http://www.springframework.org/schema/aop/spring-aop-3.1.xsd=org/springframework/aop/config/spring-aop-3.1.xsd, http://www.springframework.org/schema/lang/spring-lang-4.0.xsd=org/springframework/scripting/config/spring-lang-4.0.xsd, http://www.springframework.org/schema/mvc/spring-mvc.xsd=org/springframework/web/servlet/config/spring-mvc-4.3.xsd, http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd=org/springframework/web/servlet/config/spring-mvc-3.1.xsd, http://www.springframework.org/schema/beans/spring-beans-4.1.xsd=org/springframework/beans/factory/xml/spring-beans-4.1.xsd, http://www.springframework.org/schema/oxm/spring-oxm-4.3.xsd=org/springframework/oxm/config/spring-oxm-4.3.xsd, http://www.springframework.org/schema/tool/spring-tool-4.0.xsd=org/springframework/beans/factory/xml/spring-tool-4.0.xsd, http://www.springframework.org/schema/lang/spring-lang-3.1.xsd=org/springframework/scripting/config/spring-lang-3.1.xsd, http://www.springframework.org/schema/tx/spring-tx-3.2.xsd=org/springframework/transaction/config/spring-tx-3.2.xsd, http://www.springframework.org/schema/cache/spring-cache-3.1.xsd=org/springframework/cache/config/spring-cache-3.1.xsd, http://www.springframework.org/schema/jee/spring-jee-4.0.xsd=org/springframework/ejb/config/spring-jee-4.0.xsd, http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd=org/springframework/jdbc/config/spring-jdbc-3.0.xsd, http://www.springframework.org/schema/task/spring-task-4.1.xsd=org/springframework/scheduling/config/spring-task-4.1.xsd, http://www.springframework.org/schema/jdbc/spring-jdbc.xsd=org/springframework/jdbc/config/spring-jdbc-4.3.xsd, http://www.springframework.org/schema/tool/spring-tool-3.1.xsd=org/springframework/beans/factory/xml/spring-tool-3.1.xsd, http://www.springframework.org/schema/tx/spring-tx-4.1.xsd=org/springframework/transaction/config/spring-tx-4.1.xsd, http://www.springframework.org/schema/cache/spring-cache-4.0.xsd=org/springframework/cache/config/spring-cache-4.0.xsd, http://www.springframework.org/schema/jee/spring-jee-3.1.xsd=org/springframework/ejb/config/spring-jee-3.1.xsd, http://www.springframework.org/schema/task/spring-task-3.2.xsd=org/springframework/scheduling/config/spring-task-3.2.xsd, http://www.springframework.org/schema/util/spring-util-4.2.xsd=org/springframework/beans/factory/xml/spring-util-4.2.xsd, http://www.springframework.org/schema/beans/spring-beans-3.1.xsd=org/springframework/beans/factory/xml/spring-beans-3.1.xsd, http://www.springframework.org/schema/util/spring-util.xsd=org/springframework/beans/factory/xml/spring-util-4.3.xsd, http://www.springframework.org/schema/aop/spring-aop-3.0.xsd=org/springframework/aop/config/spring-aop-3.0.xsd, http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd=org/springframework/web/servlet/config/spring-mvc-3.0.xsd, http://www.springframework.org/schema/beans/spring-beans-4.0.xsd=org/springframework/beans/factory/xml/spring-beans-4.0.xsd, http://www.springframework.org/schema/oxm/spring-oxm-4.2.xsd=org/springframework/oxm/config/spring-oxm-4.2.xsd, http://www.springframework.org/schema/beans/spring-beans.xsd=org/springframework/beans/factory/xml/spring-beans-4.3.xsd, http://mybatis.org/schema/mybatis-spring.xsd=org/mybatis/spring/config/mybatis-spring.xsd, http://www.springframework.org/schema/lang/spring-lang-3.0.xsd=org/springframework/scripting/config/spring-lang-3.0.xsd, http://www.springframework.org/schema/tx/spring-tx-3.1.xsd=org/springframework/transaction/config/spring-tx-3.1.xsd, http://www.springframework.org/schema/context/spring-context-4.3.xsd=org/springframework/context/config/spring-context-4.3.xsd, http://www.springframework.org/schema/context/spring-context-2.5.xsd=org/springframework/context/config/spring-context-2.5.xsd, http://www.springframework.org/schema/task/spring-task-4.0.xsd=org/springframework/scheduling/config/spring-task-4.0.xsd, http://www.springframework.org/schema/tool/spring-tool-3.0.xsd=org/springframework/beans/factory/xml/spring-tool-3.0.xsd, http://www.springframework.org/schema/tx/spring-tx-4.0.xsd=org/springframework/transaction/config/spring-tx-4.0.xsd, http://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee-3.0.xsd=org/springframework/ejb/config/spring-jee-3.0.xsd, http://www.springframework.org/schema/task/spring-task-3.1.xsd=org/springframework/scheduling/config/spring-task-3.1.xsd, http://www.springframework.org/schema/util/spring-util-4.1.xsd=org/springframework/beans/factory/xml/spring-util-4.1.xsd, http://www.springframework.org/schema/beans/spring-beans-3.0.xsd=org/springframework/beans/factory/xml/spring-beans-3.0.xsd, http://www.springframework.org/schema/jee/spring-jee.xsd=org/springframework/ejb/config/spring-jee-4.3.xsd, http://www.springframework.org/schema/aop/spring-aop-4.3.xsd=org/springframework/aop/config/spring-aop-4.3.xsd, http://www.springframework.org/schema/aop/spring-aop-2.5.xsd=org/springframework/aop/config/spring-aop-2.5.xsd, http://www.springframework.org/schema/lang/spring-lang-2.0.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd, http://www.springframework.org/schema/jdbc/spring-jdbc-4.3.xsd=org/springframework/jdbc/config/spring-jdbc-4.3.xsd, http://www.springframework.org/schema/oxm/spring-oxm.xsd=org/springframework/oxm/config/spring-oxm-4.3.xsd, http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd=org/springframework/web/servlet/config/spring-mvc-4.3.xsd, http://www.springframework.org/schema/util/spring-util-3.2.xsd=org/springframework/beans/factory/xml/spring-util-3.2.xsd, http://www.springframework.org/schema/oxm/spring-oxm-4.1.xsd=org/springframework/oxm/config/spring-oxm-4.1.xsd, http://www.springframework.org/schema/task/spring-task.xsd=org/springframework/scheduling/config/spring-task-4.3.xsd, http://www.springframework.org/schema/tool/spring-tool-2.0.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd, http://www.springframework.org/schema/lang/spring-lang-4.3.xsd=org/springframework/scripting/config/spring-lang-4.3.xsd, http://www.springframework.org/schema/lang/spring-lang-2.5.xsd=org/springframework/scripting/config/spring-lang-2.5.xsd, http://www.springframework.org/schema/tx/spring-tx-3.0.xsd=org/springframework/transaction/config/spring-tx-3.0.xsd, http://www.springframework.org/schema/context/spring-context-4.2.xsd=org/springframework/context/config/spring-context-4.2.xsd, http://www.springframework.org/schema/jee/spring-jee-2.0.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd, http://www.springframework.org/schema/oxm/spring-oxm-3.2.xsd=org/springframework/oxm/config/spring-oxm-3.2.xsd, http://www.springframework.org/schema/tool/spring-tool-4.3.xsd=org/springframework/beans/factory/xml/spring-tool-4.3.xsd, http://www.springframework.org/schema/tool/spring-tool-2.5.xsd=org/springframework/beans/factory/xml/spring-tool-2.5.xsd, http://www.springframework.org/schema/jee/spring-jee-4.3.xsd=org/springframework/ejb/config/spring-jee-4.3.xsd, http://www.springframework.org/schema/jee/spring-jee-2.5.xsd=org/springframework/ejb/config/spring-jee-2.5.xsd, http://www.springframework.org/schema/task/spring-task-3.0.xsd=org/springframework/scheduling/config/spring-task-3.0.xsd, http://www.springframework.org/schema/util/spring-util-4.0.xsd=org/springframework/beans/factory/xml/spring-util-4.0.xsd, http://www.springframework.org/schema/cache/spring-cache-4.3.xsd=org/springframework/cache/config/spring-cache-4.3.xsd, http://www.springframework.org/schema/aop/spring-aop-4.2.xsd=org/springframework/aop/config/spring-aop-4.2.xsd, http://www.springframework.org/schema/lang/spring-lang.xsd=org/springframework/scripting/config/spring-lang-4.3.xsd, http://www.springframework.org/schema/context/spring-context-3.2.xsd=org/springframework/context/config/spring-context-3.2.xsd, http://www.springframework.org/schema/jdbc/spring-jdbc-4.2.xsd=org/springframework/jdbc/config/spring-jdbc-4.2.xsd, http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd=org/springframework/web/servlet/config/spring-mvc-4.2.xsd, http://www.springframework.org/schema/util/spring-util-3.1.xsd=org/springframework/beans/factory/xml/spring-util-3.1.xsd, http://www.springframework.org/schema/beans/spring-beans-2.0.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd, http://www.springframework.org/schema/oxm/spring-oxm-4.0.xsd=org/springframework/oxm/config/spring-oxm-4.0.xsd, http://www.springframework.org/schema/cache/spring-cache.xsd=org/springframework/cache/config/spring-cache-4.3.xsd, http://www.springframework.org/schema/tx/spring-tx.xsd=org/springframework/transaction/config/spring-tx-4.3.xsd, http://www.springframework.org/schema/lang/spring-lang-4.2.xsd=org/springframework/scripting/config/spring-lang-4.2.xsd, http://www.springframework.org/schema/context/spring-context-4.1.xsd=org/springframework/context/config/spring-context-4.1.xsd, http://www.springframework.org/schema/beans/spring-beans-2.5.xsd=org/springframework/beans/factory/xml/spring-beans-2.5.xsd, http://www.springframework.org/schema/beans/spring-beans-4.3.xsd=org/springframework/beans/factory/xml/spring-beans-4.3.xsd, http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd=org/springframework/oxm/config/spring-oxm-3.1.xsd, http://www.springframework.org/schema/tool/spring-tool-4.2.xsd=org/springframework/beans/factory/xml/spring-tool-4.2.xsd, http://www.springframework.org/schema/tx/spring-tx-2.0.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee-4.2.xsd=org/springframework/ejb/config/spring-jee-4.2.xsd, http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd=org/springframework/jdbc/config/spring-jdbc-3.2.xsd, http://www.springframework.org/schema/aop/spring-aop.xsd=org/springframework/aop/config/spring-aop-4.3.xsd, http://www.springframework.org/schema/task/spring-task-4.3.xsd=org/springframework/scheduling/config/spring-task-4.3.xsd}
DEBUG [main] - Found XML schema [http://www.springframework.org/schema/beans/spring-beans.xsd] in classpath: org/springframework/beans/factory/xml/spring-beans-4.3.xsd
DEBUG [main] - Found XML schema [http://www.springframework.org/schema/context/spring-context.xsd] in classpath: org/springframework/context/config/spring-context-4.3.xsd
DEBUG [main] - Found XML schema [http://www.springframework.org/schema/tool/spring-tool-4.3.xsd] in classpath: org/springframework/beans/factory/xml/spring-tool-4.3.xsd
DEBUG [main] - Loading bean definitions
DEBUG [main] - Loaded NamespaceHandler mappings: {http://www.springframework.org/schema/p=org.springframework.beans.factory.xml.SimplePropertyNamespaceHandler, http://www.springframework.org/schema/mvc=org.springframework.web.servlet.config.MvcNamespaceHandler, http://www.springframework.org/schema/util=org.springframework.beans.factory.xml.UtilNamespaceHandler, http://www.springframework.org/schema/jee=org.springframework.ejb.config.JeeNamespaceHandler, http://www.springframework.org/schema/aop=org.springframework.aop.config.AopNamespaceHandler, http://www.springframework.org/schema/jdbc=org.springframework.jdbc.config.JdbcNamespaceHandler, http://www.springframework.org/schema/oxm=org.springframework.oxm.config.OxmNamespaceHandler, http://www.springframework.org/schema/cache=org.springframework.cache.config.CacheNamespaceHandler, http://mybatis.org/schema/mybatis-spring=org.mybatis.spring.config.NamespaceHandler, http://www.springframework.org/schema/c=org.springframework.beans.factory.xml.SimpleConstructorNamespaceHandler, http://www.springframework.org/schema/tx=org.springframework.transaction.config.TxNamespaceHandler, http://www.springframework.org/schema/task=org.springframework.scheduling.config.TaskNamespaceHandler, http://www.springframework.org/schema/lang=org.springframework.scripting.config.LangNamespaceHandler, http://www.springframework.org/schema/context=org.springframework.context.config.ContextNamespaceHandler}
DEBUG [main] - JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning
DEBUG [main] - JSR-330 'javax.inject.Named' annotation found and supported for component scanning

------ 扫描 dao 层
DEBUG [main] - Resolved classpath location [com/wslxxy/dao/] to resources [URL [file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/dao/]]
DEBUG [main] - Looking for matching resources in directory tree [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao]
DEBUG [main] - Searching directory [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao] for files matching pattern [F:/IDEA workspace/作业提交系统/target/classes/com/wslxxy/dao/**/*.class]
DEBUG [main] - Searching directory [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl] for files matching pattern [F:/IDEA workspace/作业提交系统/target/classes/com/wslxxy/dao/**/*.class]
DEBUG [main] - Resolved location pattern [classpath*:com/wslxxy/dao/**/*.class] to resources [file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\BaseDAO.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\ClassDAO.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\HomeworkDAO.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\BaseDaoImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\ClassDaoImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\HomeworkDaoImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\StudentDaoImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\TaskDAOImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\TeacherDaoImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\StudentDAO.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\TaskDAO.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\TeacherDAO.class]]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\ClassDaoImpl.class]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\HomeworkDaoImpl.class]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\StudentDaoImpl.class]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\TaskDAOImpl.class]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\dao\impl\TeacherDaoImpl.class]

DEBUG [main] - JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning
DEBUG [main] - JSR-330 'javax.inject.Named' annotation found and supported for component scanning
DEBUG [main] - Resolved classpath location [com/wslxxy/service/] to resources [URL [file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/test-classes/com/wslxxy/service/], URL [file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/service/]]
DEBUG [main] - Looking for matching resources in directory tree [F:\IDEA workspace\作业提交系统\target\test-classes\com\wslxxy\service]
DEBUG [main] - Searching directory [F:\IDEA workspace\作业提交系统\target\test-classes\com\wslxxy\service] for files matching pattern [F:/IDEA workspace/作业提交系统/target/test-classes/com/wslxxy/service/**/*.class]
DEBUG [main] - Searching directory [F:\IDEA workspace\作业提交系统\target\test-classes\com\wslxxy\service\impl] for files matching pattern [F:/IDEA workspace/作业提交系统/target/test-classes/com/wslxxy/service/**/*.class]

------ 扫描 service
DEBUG [main] - Looking for matching resources in directory tree [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service]
DEBUG [main] - Searching directory [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service] for files matching pattern [F:/IDEA workspace/作业提交系统/target/classes/com/wslxxy/service/**/*.class]
DEBUG [main] - Searching directory [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl] for files matching pattern [F:/IDEA workspace/作业提交系统/target/classes/com/wslxxy/service/**/*.class]
DEBUG [main] - Resolved location pattern [classpath*:com/wslxxy/service/**/*.class] to resources [file [F:\IDEA workspace\作业提交系统\target\test-classes\com\wslxxy\service\impl\ClassServiceImplTest.class], file [F:\IDEA workspace\作业提交系统\target\test-classes\com\wslxxy\service\impl\HomeworkServiceImplTest.class], file [F:\IDEA workspace\作业提交系统\target\test-classes\com\wslxxy\service\impl\StudentServiceImplTest.class], file [F:\IDEA workspace\作业提交系统\target\test-classes\com\wslxxy\service\impl\TaskServiceImplTest.class], file [F:\IDEA workspace\作业提交系统\target\test-classes\com\wslxxy\service\impl\TeacherServiceImplTest.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\ClassService.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\HomeworkService.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\ClassServiceImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\HomeworkServiceImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\StudentServiceImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\TaskServiceImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\TeacherServiceImpl.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\StudentService.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\TaskService.class], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\TeacherService.class]]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\ClassServiceImpl.class]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\HomeworkServiceImpl.class]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\StudentServiceImpl.class]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\TaskServiceImpl.class]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\service\impl\TeacherServiceImpl.class]

------ 扫描 切面 aspect
DEBUG [main] - JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning
DEBUG [main] - JSR-330 'javax.inject.Named' annotation found and supported for component scanning
DEBUG [main] - Resolved classpath location [com/wslxxy/aspect/] to resources [URL [file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/aspect/]]
DEBUG [main] - Looking for matching resources in directory tree [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\aspect]
DEBUG [main] - Searching directory [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\aspect] for files matching pattern [F:/IDEA workspace/作业提交系统/target/classes/com/wslxxy/aspect/**/*.class]
DEBUG [main] - Resolved location pattern [classpath*:com/wslxxy/aspect/**/*.class] to resources [file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\aspect\DailyRecordAspect.class]]
DEBUG [main] - Identified candidate component class: file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\aspect\DailyRecordAspect.class]

------- 加载了 20 bean
DEBUG [main] - Loaded 20 bean definitions from location pattern [classpath:beans.xml]
 INFO [main] - Refreshing org.springframework.context.support.GenericApplicationContext@4bec1f0c: startup date [Fri Jun 28 21:11:31 SGT 2019]; root of context hierarchy
DEBUG [main] - Bean factory for org.springframework.context.support.GenericApplicationContext@4bec1f0c: org.springframework.beans.factory.support.DefaultListableBeanFactory@4f9a3314: defining beans [org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0,classDaoImpl,homeworkDaoImpl,studentDaoImpl,taskDAOImpl,teacherDaoImpl,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.event.internalEventListenerProcessor,org.springframework.context.event.internalEventListenerFactory,classServiceImpl,homeworkServiceImpl,studentServiceImpl,taskServiceImpl,teacherServiceImpl,dailyRecordAspect,dataSource,sessionFactory]; root of factory hierarchy
DEBUG [main] - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'
DEBUG [main] - Creating instance of bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'
DEBUG [main] - Eagerly caching bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor' to allow for resolving potential circular references
DEBUG [main] - Finished creating instance of bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'
DEBUG [main] - Creating shared instance of singleton bean 'org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0'
DEBUG [main] - Creating instance of bean 'org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0'
DEBUG [main] - Eagerly caching bean 'org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0' to allow for resolving potential circular references
DEBUG [main] - Finished creating instance of bean 'org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0'
DEBUG [main] - Adding PropertySource 'environmentProperties' with lowest search precedence

--- 读取 数据库配置
DEBUG [main] - Loading properties file from class path resource [db.properties]
DEBUG [main] - Adding PropertySource 'localProperties' with lowest search precedence
DEBUG [main] - Could not find key 'jdbc.driver' in any property source
DEBUG [main] - Found key 'jdbc.driver' in PropertySource 'localProperties' with value of type String
DEBUG [main] - Could not find key 'jdbc.url' in any property source
DEBUG [main] - Found key 'jdbc.url' in PropertySource 'localProperties' with value of type String
DEBUG [main] - Could not find key 'jdbc.username' in any property source
DEBUG [main] - Found key 'jdbc.username' in PropertySource 'localProperties' with value of type String
DEBUG [main] - Could not find key 'jdbc.password' in any property source
DEBUG [main] - Found key 'jdbc.password' in PropertySource 'localProperties' with value of type String
DEBUG [main] - Could not find key 'c3p0.pool.maxPoolSize' in any property source
DEBUG [main] - Found key 'c3p0.pool.maxPoolSize' in PropertySource 'localProperties' with value of type String
DEBUG [main] - Could not find key 'c3p0.pool.minPoolSize' in any property source
DEBUG [main] - Found key 'c3p0.pool.minPoolSize' in PropertySource 'localProperties' with value of type String
DEBUG [main] - Could not find key 'c3p0.pool.initialPoolSize' in any property source
DEBUG [main] - Found key 'c3p0.pool.initialPoolSize' in PropertySource 'localProperties' with value of type String
DEBUG [main] - Could not find key 'c3p0.pool.acquireIncrement' in any property source
DEBUG [main] - Found key 'c3p0.pool.acquireIncrement' in PropertySource 'localProperties' with value of type String

--- 
DEBUG [main] - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor'
DEBUG [main] - Creating instance of bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor'
 INFO [main] - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
DEBUG [main] - Eagerly caching bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor' to allow for resolving potential circular references
DEBUG [main] - Finished creating instance of bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor'
DEBUG [main] - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalRequiredAnnotationProcessor'
DEBUG [main] - Creating instance of bean 'org.springframework.context.annotation.internalRequiredAnnotationProcessor'
DEBUG [main] - Eagerly caching bean 'org.springframework.context.annotation.internalRequiredAnnotationProcessor' to allow for resolving potential circular references
DEBUG [main] - Finished creating instance of bean 'org.springframework.context.annotation.internalRequiredAnnotationProcessor'
DEBUG [main] - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalCommonAnnotationProcessor'
DEBUG [main] - Creating instance of bean 'org.springframework.context.annotation.internalCommonAnnotationProcessor'
DEBUG [main] - Eagerly caching bean 'org.springframework.context.annotation.internalCommonAnnotationProcessor' to allow for resolving potential circular references
DEBUG [main] - Finished creating instance of bean 'org.springframework.context.annotation.internalCommonAnnotationProcessor'
DEBUG [main] - Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@123ef382]
DEBUG [main] - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@14dd9eb7]
DEBUG [main] - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4f9a3314: defining beans [org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0,classDaoImpl,homeworkDaoImpl,studentDaoImpl,taskDAOImpl,teacherDaoImpl,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.event.internalEventListenerProcessor,org.springframework.context.event.internalEventListenerFactory,classServiceImpl,homeworkServiceImpl,studentServiceImpl,taskServiceImpl,teacherServiceImpl,dailyRecordAspect,dataSource,sessionFactory]; root of factory hierarchy
DEBUG [main] - Returning cached instance of singleton bean 'org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0'

--- 创建 classDaoImpl
DEBUG [main] - Creating shared instance of singleton bean 'classDaoImpl'
DEBUG [main] - Creating instance of bean 'classDaoImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.dao.impl.ClassDaoImpl]: AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Eagerly caching bean 'classDaoImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'classDaoImpl': AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.

--- 创建 sessionFactory
DEBUG [main] - Creating shared instance of singleton bean 'sessionFactory'
DEBUG [main] - Creating instance of bean 'sessionFactory'
DEBUG [main] - Eagerly caching bean 'sessionFactory' to allow for resolving potential circular references

--- 创建 dataSource
DEBUG [main] - Creating shared instance of singleton bean 'dataSource'
DEBUG [main] - Creating instance of bean 'dataSource'
 INFO [MLog-Init-Reporter] - MLog clients using slf4j logging.
DEBUG [MLog-Init-Reporter] - Reading VM config for path list /com/mchange/v2/log/default-mchange-log.properties, /mchange-commons.properties, /c3p0.properties, hocon:/reference,/application,/c3p0,/, /mchange-log.properties, /
DEBUG [MLog-Init-Reporter] - The configuration file for resource identifier '/mchange-commons.properties' could not be found. Skipping.
DEBUG [MLog-Init-Reporter] - The configuration file for resource identifier '/c3p0.properties' could not be found. Skipping.
DEBUG [MLog-Init-Reporter] - The configuration file for resource identifier 'hocon:/reference,/application,/c3p0,/' could not be found. Skipping.
DEBUG [MLog-Init-Reporter] - The configuration file for resource identifier '/mchange-log.properties' could not be found. Skipping.
DEBUG [main] - The configuration file for resource identifier '/mchange-commons.properties' could not be found. Skipping.
DEBUG [main] - The configuration file for resource identifier '/mchange-log.properties' could not be found. Skipping.
DEBUG [main] - The configuration file for resource identifier 'hocon:/reference,/application,/c3p0,/' could not be found. Skipping.
DEBUG [main] - The configuration file for resource identifier '/c3p0.properties' could not be found. Skipping.
 INFO [main] - Initializing c3p0-0.9.5.3 [built 27-January-2019 00:11:37 -0800; debug? true; trace: 10]
DEBUG [main] - MBean: com.mchange.v2.c3p0:type=PooledDataSource,identityToken=1hgf56pa317wc8c3j6mk84|6200f9cb,name=1hgf56pa317wc8c3j6mk84|6200f9cb registered.
DEBUG [main] - MBean: com.mchange.v2.c3p0:type=PooledDataSource,identityToken=1hgf56pa317wc8c3j6mk84|6200f9cb,name=1hgf56pa317wc8c3j6mk84|6200f9cb unregistered, in order to be reregistered after update.
DEBUG [main] - MBean: com.mchange.v2.c3p0:type=PooledDataSource,identityToken=1hgf56pa317wc8c3j6mk84|6200f9cb,name=1hgf56pa317wc8c3j6mk84|6200f9cb registered.
DEBUG [main] - Eagerly caching bean 'dataSource' to allow for resolving potential circular references
DEBUG [main] - Finished creating instance of bean 'dataSource'

--- 读取 mapper
DEBUG [main] - Looking for matching resources in directory tree [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper]
DEBUG [main] - Searching directory [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper] for files matching pattern [F:/IDEA workspace/作业提交系统/target/classes/com/wslxxy/mapper/*.xml]
DEBUG [main] - Resolved location pattern [classpath:com/wslxxy/mapper/*.xml] to resources [file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\ClassMapper.xml], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\HomeworkMapper.xml], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\StudentMapper.xml], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\TaskMapper.xml], file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\TeacherMapper.xml]]
DEBUG [main] - Invoking afterPropertiesSet() on bean with name 'sessionFactory'
DEBUG [main] - Class not found: org.jboss.vfs.VFS
DEBUG [main] - JBoss 6 VFS API is not available in this environment.
DEBUG [main] - Class not found: org.jboss.vfs.VirtualFile
DEBUG [main] - VFS implementation org.apache.ibatis.io.JBoss6VFS is not valid in this environment.
DEBUG [main] - Using VFS adapter org.apache.ibatis.io.DefaultVFS
DEBUG [main] - Find JAR URL: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity
DEBUG [main] - Not a JAR: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity

--- 实体类
DEBUG [main] - Reader entry: ClassDO.class
DEBUG [main] - Reader entry: ClassStudentDO.class
DEBUG [main] - Reader entry: ErrorMessageDO.class
DEBUG [main] - Reader entry: HomeworkDO.class
DEBUG [main] - Reader entry: StudentDO.class
DEBUG [main] - Reader entry: TaskDO.class
DEBUG [main] - Reader entry: TeacherDO.class
DEBUG [main] - Listing file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity
DEBUG [main] - Find JAR URL: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/ClassDO.class
DEBUG [main] - Not a JAR: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/ClassDO.class
DEBUG [main] - Reader entry: ����   3 s
DEBUG [main] - Find JAR URL: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/ClassStudentDO.class
DEBUG [main] - Not a JAR: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/ClassStudentDO.class
DEBUG [main] - Reader entry: ����   3 2
DEBUG [main] - Find JAR URL: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/ErrorMessageDO.class
DEBUG [main] - Not a JAR: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/ErrorMessageDO.class
DEBUG [main] - Reader entry: ����   3 F
DEBUG [main] - Find JAR URL: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/HomeworkDO.class
DEBUG [main] - Not a JAR: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/HomeworkDO.class
DEBUG [main] - Reader entry: ����   3 \
DEBUG [main] - Find JAR URL: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/StudentDO.class
DEBUG [main] - Not a JAR: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/StudentDO.class
DEBUG [main] - Reader entry: ����   3 x
DEBUG [main] - Find JAR URL: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/TaskDO.class
DEBUG [main] - Not a JAR: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/TaskDO.class
DEBUG [main] - Reader entry: ����   3 �
DEBUG [main] - Find JAR URL: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/TeacherDO.class
DEBUG [main] - Not a JAR: file:/F:/IDEA%20workspace/%e4%bd%9c%e4%b8%9a%e6%8f%90%e4%ba%a4%e7%b3%bb%e7%bb%9f/target/classes/com/wslxxy/entity/TeacherDO.class
DEBUG [main] - Reader entry: ����   3 K
DEBUG [main] - Checking to see if class com.wslxxy.entity.ClassDO matches criteria [is assignable to Object]
DEBUG [main] - Checking to see if class com.wslxxy.entity.ClassStudentDO matches criteria [is assignable to Object]
DEBUG [main] - Checking to see if class com.wslxxy.entity.ErrorMessageDO matches criteria [is assignable to Object]
DEBUG [main] - Checking to see if class com.wslxxy.entity.HomeworkDO matches criteria [is assignable to Object]
DEBUG [main] - Checking to see if class com.wslxxy.entity.StudentDO matches criteria [is assignable to Object]
DEBUG [main] - Checking to see if class com.wslxxy.entity.TaskDO matches criteria [is assignable to Object]
DEBUG [main] - Checking to see if class com.wslxxy.entity.TeacherDO matches criteria [is assignable to Object]

--- 解析 sqlMapConfig.xml, mapper.xml
DEBUG [main] - Parsed configuration file: 'class path resource [sqlMapConfig.xml]'
DEBUG [main] - Parsed mapper file: 'file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\ClassMapper.xml]'
DEBUG [main] - Parsed mapper file: 'file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\HomeworkMapper.xml]'
DEBUG [main] - Parsed mapper file: 'file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\StudentMapper.xml]'
DEBUG [main] - Parsed mapper file: 'file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\TaskMapper.xml]'
DEBUG [main] - Parsed mapper file: 'file [F:\IDEA workspace\作业提交系统\target\classes\com\wslxxy\mapper\TeacherMapper.xml]'
DEBUG [main] - Finished creating instance of bean 'sessionFactory'

--- sessionFactory 创建成功
DEBUG [main] - Autowiring by type from bean name 'classDaoImpl' to bean named 'sessionFactory'

--- 装载 dao
DEBUG [main] - Invoking afterPropertiesSet() on bean with name 'classDaoImpl'
DEBUG [main] - Finished creating instance of bean 'classDaoImpl'
DEBUG [main] - Creating shared instance of singleton bean 'homeworkDaoImpl'
DEBUG [main] - Creating instance of bean 'homeworkDaoImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.dao.impl.HomeworkDaoImpl]: AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Eagerly caching bean 'homeworkDaoImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'homeworkDaoImpl': AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Returning cached instance of singleton bean 'sessionFactory'
DEBUG [main] - Autowiring by type from bean name 'homeworkDaoImpl' to bean named 'sessionFactory'
DEBUG [main] - Invoking afterPropertiesSet() on bean with name 'homeworkDaoImpl'
DEBUG [main] - Finished creating instance of bean 'homeworkDaoImpl'
DEBUG [main] - Creating shared instance of singleton bean 'studentDaoImpl'
DEBUG [main] - Creating instance of bean 'studentDaoImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.dao.impl.StudentDaoImpl]: AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Eagerly caching bean 'studentDaoImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'studentDaoImpl': AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Returning cached instance of singleton bean 'sessionFactory'
DEBUG [main] - Autowiring by type from bean name 'studentDaoImpl' to bean named 'sessionFactory'
DEBUG [main] - Invoking afterPropertiesSet() on bean with name 'studentDaoImpl'
DEBUG [main] - Finished creating instance of bean 'studentDaoImpl'
DEBUG [main] - Creating shared instance of singleton bean 'taskDAOImpl'
DEBUG [main] - Creating instance of bean 'taskDAOImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.dao.impl.TaskDAOImpl]: AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Eagerly caching bean 'taskDAOImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'taskDAOImpl': AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Returning cached instance of singleton bean 'sessionFactory'
DEBUG [main] - Autowiring by type from bean name 'taskDAOImpl' to bean named 'sessionFactory'
DEBUG [main] - Invoking afterPropertiesSet() on bean with name 'taskDAOImpl'
DEBUG [main] - Finished creating instance of bean 'taskDAOImpl'
DEBUG [main] - Creating shared instance of singleton bean 'teacherDaoImpl'
DEBUG [main] - Creating instance of bean 'teacherDaoImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.dao.impl.TeacherDaoImpl]: AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Eagerly caching bean 'teacherDaoImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'teacherDaoImpl': AutowiredMethodElement for public void com.wslxxy.dao.impl.BaseDaoImpl.setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory)
DEBUG [main] - Returning cached instance of singleton bean 'sessionFactory'
DEBUG [main] - Autowiring by type from bean name 'teacherDaoImpl' to bean named 'sessionFactory'
DEBUG [main] - Invoking afterPropertiesSet() on bean with name 'teacherDaoImpl'
DEBUG [main] - Finished creating instance of bean 'teacherDaoImpl'

--- 装载 service
DEBUG [main] - Returning cached instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'
DEBUG [main] - Returning cached instance of singleton bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor'
DEBUG [main] - Returning cached instance of singleton bean 'org.springframework.context.annotation.internalRequiredAnnotationProcessor'
DEBUG [main] - Returning cached instance of singleton bean 'org.springframework.context.annotation.internalCommonAnnotationProcessor'
DEBUG [main] - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerProcessor'
DEBUG [main] - Creating instance of bean 'org.springframework.context.event.internalEventListenerProcessor'
DEBUG [main] - Eagerly caching bean 'org.springframework.context.event.internalEventListenerProcessor' to allow for resolving potential circular references
DEBUG [main] - Finished creating instance of bean 'org.springframework.context.event.internalEventListenerProcessor'
DEBUG [main] - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerFactory'
DEBUG [main] - Creating instance of bean 'org.springframework.context.event.internalEventListenerFactory'
DEBUG [main] - Eagerly caching bean 'org.springframework.context.event.internalEventListenerFactory' to allow for resolving potential circular references
DEBUG [main] - Finished creating instance of bean 'org.springframework.context.event.internalEventListenerFactory'
DEBUG [main] - Creating shared instance of singleton bean 'classServiceImpl'
DEBUG [main] - Creating instance of bean 'classServiceImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.service.impl.ClassServiceImpl]: ResourceElement for private com.wslxxy.dao.ClassDAO com.wslxxy.service.impl.ClassServiceImpl.classDAO
DEBUG [main] - Eagerly caching bean 'classServiceImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'classServiceImpl': ResourceElement for private com.wslxxy.dao.ClassDAO com.wslxxy.service.impl.ClassServiceImpl.classDAO
DEBUG [main] - Returning cached instance of singleton bean 'classDaoImpl'
DEBUG [main] - Finished creating instance of bean 'classServiceImpl'
DEBUG [main] - Creating shared instance of singleton bean 'homeworkServiceImpl'
DEBUG [main] - Creating instance of bean 'homeworkServiceImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.service.impl.HomeworkServiceImpl]: ResourceElement for private com.wslxxy.dao.HomeworkDAO com.wslxxy.service.impl.HomeworkServiceImpl.homeworkDAO
DEBUG [main] - Eagerly caching bean 'homeworkServiceImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'homeworkServiceImpl': ResourceElement for private com.wslxxy.dao.HomeworkDAO com.wslxxy.service.impl.HomeworkServiceImpl.homeworkDAO
DEBUG [main] - Returning cached instance of singleton bean 'homeworkDaoImpl'
DEBUG [main] - Finished creating instance of bean 'homeworkServiceImpl'
DEBUG [main] - Creating shared instance of singleton bean 'studentServiceImpl'
DEBUG [main] - Creating instance of bean 'studentServiceImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.service.impl.StudentServiceImpl]: ResourceElement for private com.wslxxy.dao.StudentDAO com.wslxxy.service.impl.StudentServiceImpl.studentDAO
DEBUG [main] - Eagerly caching bean 'studentServiceImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'studentServiceImpl': ResourceElement for private com.wslxxy.dao.StudentDAO com.wslxxy.service.impl.StudentServiceImpl.studentDAO
DEBUG [main] - Returning cached instance of singleton bean 'studentDaoImpl'
DEBUG [main] - Finished creating instance of bean 'studentServiceImpl'
DEBUG [main] - Creating shared instance of singleton bean 'taskServiceImpl'
DEBUG [main] - Creating instance of bean 'taskServiceImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.service.impl.TaskServiceImpl]: ResourceElement for private com.wslxxy.dao.TaskDAO com.wslxxy.service.impl.TaskServiceImpl.taskDAO
DEBUG [main] - Eagerly caching bean 'taskServiceImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'taskServiceImpl': ResourceElement for private com.wslxxy.dao.TaskDAO com.wslxxy.service.impl.TaskServiceImpl.taskDAO
DEBUG [main] - Returning cached instance of singleton bean 'taskDAOImpl'
DEBUG [main] - Finished creating instance of bean 'taskServiceImpl'
DEBUG [main] - Creating shared instance of singleton bean 'teacherServiceImpl'
DEBUG [main] - Creating instance of bean 'teacherServiceImpl'
DEBUG [main] - Registered injected element on class [com.wslxxy.service.impl.TeacherServiceImpl]: ResourceElement for private com.wslxxy.dao.TeacherDAO com.wslxxy.service.impl.TeacherServiceImpl.teacherDAO
DEBUG [main] - Eagerly caching bean 'teacherServiceImpl' to allow for resolving potential circular references
DEBUG [main] - Processing injected element of bean 'teacherServiceImpl': ResourceElement for private com.wslxxy.dao.TeacherDAO com.wslxxy.service.impl.TeacherServiceImpl.teacherDAO
DEBUG [main] - Returning cached instance of singleton bean 'teacherDaoImpl'
DEBUG [main] - Finished creating instance of bean 'teacherServiceImpl'
DEBUG [main] - Returning cached instance of singleton bean 'dataSource'
DEBUG [main] - Returning cached instance of singleton bean 'sessionFactory'
DEBUG [main] - Returning cached instance of singleton bean 'org.springframework.context.event.internalEventListenerFactory'
DEBUG [main] - Unable to locate LifecycleProcessor with name 'lifecycleProcessor': using default [org.springframework.context.support.DefaultLifecycleProcessor@78452606]
DEBUG [main] - Returning cached instance of singleton bean 'lifecycleProcessor'
DEBUG [main] - Returning cached instance of singleton bean 'sessionFactory'
DEBUG [main] - Could not find key 'spring.liveBeansView.mbeanDomain' in any property source
DEBUG [main] - Storing ApplicationContext in cache under key [[MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]]
DEBUG [main] - Spring test ApplicationContext cache statistics: [DefaultContextCache@7975d1d8 size = 1, maxSize = 32, parentContextCount = 0, hitCount = 0, missCount = 1]

--- 执行 ClassServiceImplTest
DEBUG [main] - Processing injected element of bean 'com.wslxxy.service.impl.ClassServiceImplTest': ResourceElement for private com.wslxxy.service.ClassService com.wslxxy.service.impl.ClassServiceImplTest.classService
DEBUG [main] - Returning cached instance of singleton bean 'classServiceImpl'
DEBUG [main] - Before test method: context [DefaultTestContext@6d4b1c02 testClass = ClassServiceImplTest, testInstance = com.wslxxy.service.impl.ClassServiceImplTest@4667ae56, testMethod = insert@ClassServiceImplTest, testException = [null], mergedContextConfiguration = [MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]], class annotated with @DirtiesContext [false] with mode [null], method annotated with @DirtiesContext [false] with mode [null].
Fri Jun 28 21:11:35 SGT 2019

--- 一个新的 SqlSession
DEBUG [main] - Creating a new SqlSession
DEBUG [main] - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3576ddc2] was not registered for synchronization because synchronization is not active
DEBUG [main] - Fetching JDBC Connection from DataSource
--- 初始化数据库连接池
 INFO [main] - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 100, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, contextClassLoaderSource -> caller, dataSourceName -> 1hgf56pa317wc8c3j6mk84|6200f9cb, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.cj.jdbc.Driver, extensions -> {}, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, forceSynchronousCheckins -> false, forceUseNamedDriverClass -> false, identityToken -> 1hgf56pa317wc8c3j6mk84|6200f9cb, idleConnectionTestPeriod -> 0, initialPoolSize -> 50, jdbcUrl -> jdbc:mysql://localhost:3306/zytjxt?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 400, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 50, numHelperThreads -> 3, preferredTestQuery -> null, privilegeSpawnedThreads -> false, properties -> {user=******, password=******}, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, userOverrides -> {}, usesTraditionalReflectiveProxies -> false ]
DEBUG [main] - The configuration file for resource identifier '/mchange-commons.properties' could not be found. Skipping.
DEBUG [main] - The configuration file for resource identifier '/mchange-log.properties' could not be found. Skipping.
DEBUG [main] - The configuration file for resource identifier '/c3p0.properties' could not be found. Skipping.
DEBUG [main] - The configuration file for resource identifier 'hocon:/reference,/application,/c3p0,/' could not be found. Skipping.
DEBUG [main] - com.mchange.v2.resourcepool.BasicResourcePool@4ea5b703 config: [start -> 50; min -> 50; max -> 400; inc -> 100; num_acq_attempts -> 30; acq_attempt_delay -> 1000; check_idle_resources_delay -> 0; max_resource_age -> 0; max_idle_time -> 0; excess_max_idle_time -> 0; destroy_unreturned_resc_time -> 0; expiration_enforcement_delay -> 0; break_on_acquisition_failure -> false; debug_store_checkout_exceptions -> false; force_synchronous_checkins -> false]

--- 创建了数据库连接池
DEBUG [main] - Created new pool for auth, username (masked): 'ro******'.
DEBUG [main] - acquire test -- pool size: 0; target_pool_size: 50; desired target? 1
DEBUG [main] - awaitAvailable(): [unknown]
DEBUG [main] - JDBC Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@5f0fd5a0 [wrapping: com.mysql.cj.jdbc.ConnectionImpl@64e7619d]] will not be managed by Spring

--- Sql 语句
DEBUG [main] - ==>  Preparing: insert into class(classID, className, studentNumber,inviteCode,teacherID,createDatetime) values (?,?,?,?,?,now()) 
--- 参数
DEBUG [main] - ==> Parameters: aa0edfaa8df448a29ff3d6e66c115b36(String), cc(String), 0(Integer), 2EFQBW(String), t01(String)
--- 更新了一行,插入成功
DEBUG [main] - <==    Updates: 1
--- 关闭没有事务的 SqlSession
DEBUG [main] - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3576ddc2]
--- 归还JDBC连接给 DataSource
DEBUG [main] - Returning JDBC Connection to DataSource

---- 测试完成之后
DEBUG [main] - After test method: context [DefaultTestContext@6d4b1c02 testClass = ClassServiceImplTest, testInstance = com.wslxxy.service.impl.ClassServiceImplTest@4667ae56, testMethod = insert@ClassServiceImplTest, testException = [null], mergedContextConfiguration = [MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]], class annotated with @DirtiesContext [false] with mode [null], method annotated with @DirtiesContext [false] with mode [null].
DEBUG [main] - After test class: context [DefaultTestContext@6d4b1c02 testClass = ClassServiceImplTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [MergedContextConfiguration@6093dd95 testClass = ClassServiceImplTest, locations = '{classpath:beans.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextCustomizers = set[[empty]], contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]], class annotated with @DirtiesContext [false] with mode [null].
 INFO [Thread-1] - Closing org.springframework.context.support.GenericApplicationContext@4bec1f0c: startup date [Fri Jun 28 21:11:31 SGT 2019]; root of context hierarchy
DEBUG [Thread-1] - Returning cached instance of singleton bean 'sessionFactory'
DEBUG [Thread-1] - Returning cached instance of singleton bean 'lifecycleProcessor'
DEBUG [Thread-1] - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4f9a3314: defining beans [org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0,classDaoImpl,homeworkDaoImpl,studentDaoImpl,taskDAOImpl,teacherDaoImpl,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.event.internalEventListenerProcessor,org.springframework.context.event.internalEventListenerFactory,classServiceImpl,homeworkServiceImpl,studentServiceImpl,taskServiceImpl,teacherServiceImpl,dailyRecordAspect,dataSource,sessionFactory]; root of factory hierarchy
DEBUG [Thread-1] - Retrieved dependent beans for bean 'sessionFactory': [classDaoImpl, homeworkDaoImpl, studentDaoImpl, taskDAOImpl, teacherDaoImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'classDaoImpl': [classServiceImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'classServiceImpl': [com.wslxxy.service.impl.ClassServiceImplTest]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'homeworkDaoImpl': [homeworkServiceImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'studentDaoImpl': [studentServiceImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'taskDAOImpl': [taskServiceImpl]
DEBUG [Thread-1] - Retrieved dependent beans for bean 'teacherDaoImpl': [teacherServiceImpl]
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月30日 0

暂无评论

推荐阅读
anLrwkgbyYZS