fix: 修复部署问题

- 修复 RootController 返回 index.html
- 修复 MyBatis 缓存配置
- 修复 session scope bean 注入问题
This commit is contained in:
likingcode
2026-03-07 09:17:16 +00:00
parent c04235c655
commit dd2b4d0e4b
10 changed files with 728 additions and 193 deletions

View File

@@ -7,187 +7,697 @@
=========|_|==============|___/=/_/_/_/ =========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.2.3) :: Spring Boot :: (v3.2.3)
2026-03-07T08:34:17.523Z INFO 1388476 --- [springboot-scaffold] [ main] c.e.s.SpringbootScaffoldApplication : Starting SpringbootScaffoldApplication v1.0.0 using Java 21.0.10 with PID 1388476 (/home/llm/Projects/springboot-scaffold/target/springboot-scaffold-1.0.0.jar started by llm in /home/llm/Projects/springboot-scaffold) 2026-03-07T08:57:24.832Z INFO 1395465 --- [springboot-scaffold] [ main] c.e.s.SpringbootScaffoldApplication : Starting SpringbootScaffoldApplication v1.0.0 using Java 21.0.10 with PID 1395465 (/home/llm/Projects/springboot-scaffold/target/springboot-scaffold-1.0.0.jar started by llm in /home/llm/Projects/springboot-scaffold)
2026-03-07T08:34:17.535Z DEBUG 1388476 --- [springboot-scaffold] [ main] c.e.s.SpringbootScaffoldApplication : Running with Spring Boot v3.2.3, Spring v6.1.4 2026-03-07T08:57:24.840Z DEBUG 1395465 --- [springboot-scaffold] [ main] c.e.s.SpringbootScaffoldApplication : Running with Spring Boot v3.2.3, Spring v6.1.4
2026-03-07T08:34:17.539Z INFO 1388476 --- [springboot-scaffold] [ main] c.e.s.SpringbootScaffoldApplication : No active profile set, falling back to 1 default profile: "default" 2026-03-07T08:57:24.843Z INFO 1395465 --- [springboot-scaffold] [ main] c.e.s.SpringbootScaffoldApplication : No active profile set, falling back to 1 default profile: "default"
2026-03-07T08:34:23.786Z INFO 1388476 --- [springboot-scaffold] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2026-03-07T08:57:32.385Z INFO 1395465 --- [springboot-scaffold] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2026-03-07T08:34:23.807Z INFO 1388476 --- [springboot-scaffold] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 11 ms. Found 0 JPA repository interfaces. 2026-03-07T08:57:32.453Z INFO 1395465 --- [springboot-scaffold] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 30 ms. Found 0 JPA repository interfaces.
2026-03-07T08:34:30.399Z INFO 1388476 --- [springboot-scaffold] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8082 (http) 2026-03-07T08:57:39.150Z INFO 1395465 --- [springboot-scaffold] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8082 (http)
2026-03-07T08:34:30.466Z INFO 1388476 --- [springboot-scaffold] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2026-03-07T08:57:39.218Z INFO 1395465 --- [springboot-scaffold] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2026-03-07T08:34:30.467Z INFO 1388476 --- [springboot-scaffold] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] 2026-03-07T08:57:39.222Z INFO 1395465 --- [springboot-scaffold] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19]
2026-03-07T08:34:31.033Z INFO 1388476 --- [springboot-scaffold] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2026-03-07T08:57:39.853Z INFO 1395465 --- [springboot-scaffold] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2026-03-07T08:34:31.043Z INFO 1388476 --- [springboot-scaffold] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 13168 ms 2026-03-07T08:57:39.862Z INFO 1395465 --- [springboot-scaffold] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 14718 ms
2026-03-07T08:34:32.832Z INFO 1388476 --- [springboot-scaffold] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2026-03-07T08:57:41.622Z INFO 1395465 --- [springboot-scaffold] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2026-03-07T08:34:34.286Z INFO 1388476 --- [springboot-scaffold] [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA 2026-03-07T08:57:43.594Z INFO 1395465 --- [springboot-scaffold] [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA
2026-03-07T08:34:34.295Z INFO 1388476 --- [springboot-scaffold] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2026-03-07T08:57:43.610Z INFO 1395465 --- [springboot-scaffold] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2026-03-07T08:34:34.393Z INFO 1388476 --- [springboot-scaffold] [ main] o.s.b.a.h2.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:file:~/h2/springboot_scaffold' 2026-03-07T08:57:43.680Z INFO 1395465 --- [springboot-scaffold] [ main] o.s.b.a.h2.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:file:~/h2/springboot_scaffold'
2026-03-07T08:34:37.699Z INFO 1388476 --- [springboot-scaffold] [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2026-03-07T08:57:47.458Z INFO 1395465 --- [springboot-scaffold] [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
2026-03-07T08:34:38.061Z INFO 1388476 --- [springboot-scaffold] [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final 2026-03-07T08:57:47.796Z INFO 1395465 --- [springboot-scaffold] [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final
2026-03-07T08:34:38.254Z INFO 1388476 --- [springboot-scaffold] [ main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled 2026-03-07T08:57:48.002Z INFO 1395465 --- [springboot-scaffold] [ main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled
2026-03-07T08:34:39.633Z INFO 1388476 --- [springboot-scaffold] [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer 2026-03-07T08:57:49.405Z INFO 1395465 --- [springboot-scaffold] [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer
2026-03-07T08:34:45.616Z INFO 1388476 --- [springboot-scaffold] [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2026-03-07T08:57:56.408Z INFO 1395465 --- [springboot-scaffold] [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
Hibernate: 2026-03-07T08:57:56.727Z INFO 1395465 --- [springboot-scaffold] [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
create table orders (
id bigint generated by default as identity,
created_at timestamp(6),
product_id bigint not null,
quantity integer not null,
status varchar(20),
total_price numeric(10,2) not null,
user_id bigint not null,
primary key (id)
)
Hibernate:
create table products (
id bigint generated by default as identity,
category varchar(50),
created_at timestamp(6),
description varchar(500),
name varchar(100) not null,
price numeric(10,2) not null,
stock_quantity integer,
primary key (id)
)
Hibernate:
create table users (
id bigint generated by default as identity,
active boolean not null,
bio TEXT,
created_at timestamp(6),
email varchar(100) not null,
phone varchar(20),
updated_at timestamp(6),
username varchar(50) not null,
primary key (id)
)
2026-03-07T08:34:45.879Z INFO 1388476 --- [springboot-scaffold] [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter. Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.
2026-03-07T08:34:47.256Z ERROR 1388476 --- [springboot-scaffold] [ main] o.m.spring.mapper.MapperFactoryBean : Error while adding the mapper 'interface com.example.scaffold.mapper.UserMapper' to configuration. 2026-03-07T08:58:00.775Z WARN 1395465 --- [springboot-scaffold] [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2026-03-07T08:58:01.509Z INFO 1395465 --- [springboot-scaffold] [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]
org.apache.ibatis.cache.CacheException: Invalid base cache implementation (class org.apache.ibatis.cache.decorators.LruCache). Base cache implementations must have a constructor that takes a String id as a parameter. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.cache.decorators.LruCache.<init>(java.lang.String) 2026-03-07T08:58:10.592Z INFO 1395465 --- [springboot-scaffold] [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint(s) beneath base path '/actuator'
at org.apache.ibatis.mapping.CacheBuilder.getBaseCacheConstructor(CacheBuilder.java:195) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T08:58:11.582Z INFO 1395465 --- [springboot-scaffold] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8082 (http) with context path ''
at org.apache.ibatis.mapping.CacheBuilder.newBaseCacheInstance(CacheBuilder.java:183) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T08:58:11.689Z INFO 1395465 --- [springboot-scaffold] [ main] c.e.s.SpringbootScaffoldApplication : Started SpringbootScaffoldApplication in 49.545 seconds (process running for 52.6)
at org.apache.ibatis.mapping.CacheBuilder.build(CacheBuilder.java:94) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T08:58:55.808Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
at org.apache.ibatis.builder.MapperBuilderAssistant.useNewCache(MapperBuilderAssistant.java:128) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T08:58:55.810Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parseCache(MapperAnnotationBuilder.java:191) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T08:58:55.824Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 8 ms
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:121) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T08:58:56.276Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: RootController.index() 参数: []
at org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:72) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T08:58:56.277Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: RootController.index() 耗时: 1ms
at org.apache.ibatis.session.Configuration.addMapper(Configuration.java:895) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T09:04:54.453Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: RootController.index() 参数: []
at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:80) ~[mybatis-spring-3.0.3.jar!/:3.0.3] 2026-03-07T09:04:54.454Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: RootController.index() 耗时: 1ms
at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44) ~[spring-tx-6.1.4.jar!/:6.1.4] 2026-03-07T09:04:54.926Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:04:54.927Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:04:54.927Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:04:54.932Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:04:54.936Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.1.4.jar!/:6.1.4] Creating a new SqlSession
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.4.jar!/:6.1.4] Creating a new SqlSession
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.1.4.jar!/:6.1.4] Creating a new SqlSession
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.1.4.jar!/:6.1.4] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7edf21ef] was not registered for synchronization because synchronization is not active
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.1.4.jar!/:6.1.4] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7e00c432] was not registered for synchronization because synchronization is not active
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) ~[spring-beans-6.1.4.jar!/:6.1.4] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@40942315] was not registered for synchronization because synchronization is not active
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) ~[spring-beans-6.1.4.jar!/:6.1.4] Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.0
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:907) ~[spring-beans-6.1.4.jar!/:6.1.4] JDBC Connection [HikariProxyConnection@1678050146 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:785) ~[spring-beans-6.1.4.jar!/:6.1.4] JDBC Connection [HikariProxyConnection@990931398 wrapping conn2: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:237) ~[spring-beans-6.1.4.jar!/:6.1.4] JDBC Connection [HikariProxyConnection@130499610 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1355) ~[spring-beans-6.1.4.jar!/:6.1.4] ==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1192) ~[spring-beans-6.1.4.jar!/:6.1.4] ==> Preparing: SELECT COUNT(*) FROM users
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.4.jar!/:6.1.4] ==> Preparing: SELECT * FROM products ORDER BY created_at DESC
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.4.jar!/:6.1.4] ==> Parameters:
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.1.4.jar!/:6.1.4] ==> Parameters:
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.4.jar!/:6.1.4] ==> Parameters:
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.1.4.jar!/:6.1.4] <== Total: 0
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.1.4.jar!/:6.1.4] Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7e00c432]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) ~[spring-beans-6.1.4.jar!/:6.1.4] <== Columns: COUNT(*)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:959) ~[spring-context-6.1.4.jar!/:6.1.4] <== Row: 0
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) ~[spring-context-6.1.4.jar!/:6.1.4] <== Total: 0
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.3.jar!/:3.2.3] Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7edf21ef]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.3.jar!/:3.2.3] 2026-03-07T09:04:55.109Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 183ms
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.3.jar!/:3.2.3] 2026-03-07T09:04:55.106Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.3.jar!/:3.2.3] 2026-03-07T09:04:55.110Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.3.jar!/:3.2.3] 2026-03-07T09:04:55.110Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 183ms
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.3.jar!/:3.2.3] <== Total: 1
at com.example.scaffold.SpringbootScaffoldApplication.main(SpringbootScaffoldApplication.java:9) ~[!/:1.0.0] Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@40942315]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] 2026-03-07T09:04:55.136Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] 2026-03-07T09:04:55.136Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:91) ~[springboot-scaffold-1.0.0.jar:1.0.0] 2026-03-07T09:04:55.136Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 204ms
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:53) ~[springboot-scaffold-1.0.0.jar:1.0.0] 2026-03-07T09:05:06.090Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:58) ~[springboot-scaffold-1.0.0.jar:1.0.0] Creating a new SqlSession
Caused by: java.lang.NoSuchMethodException: org.apache.ibatis.cache.decorators.LruCache.<init>(java.lang.String) SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7377beec] was not registered for synchronization because synchronization is not active
at java.base/java.lang.Class.getConstructor0(Class.java:3763) ~[na:na] JDBC Connection [HikariProxyConnection@978555190 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
at java.base/java.lang.Class.getConstructor(Class.java:2444) ~[na:na] ==> Preparing: SELECT * FROM products ORDER BY created_at DESC
at org.apache.ibatis.mapping.CacheBuilder.getBaseCacheConstructor(CacheBuilder.java:193) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T09:05:06.093Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
... 46 common frames omitted 2026-03-07T09:05:06.093Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
2026-03-07T08:34:47.276Z WARN 1388476 --- [springboot-scaffold] [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderService' defined in URL [jar:nested:/home/llm/Projects/springboot-scaffold/target/springboot-scaffold-1.0.0.jar/!BOOT-INF/classes/!/com/example/scaffold/service/impl/OrderService.class]: Unsatisfied dependency expressed through constructor parameter 2: Error creating bean with name 'userMapper' defined in URL [jar:nested:/home/llm/Projects/springboot-scaffold/target/springboot-scaffold-1.0.0.jar/!BOOT-INF/classes/!/com/example/scaffold/mapper/UserMapper.class]: org.apache.ibatis.cache.CacheException: Invalid base cache implementation (class org.apache.ibatis.cache.decorators.LruCache). Base cache implementations must have a constructor that takes a String id as a parameter. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.cache.decorators.LruCache.<init>(java.lang.String) SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@90950fc] was not registered for synchronization because synchronization is not active
2026-03-07T08:34:47.280Z INFO 1388476 --- [springboot-scaffold] [ main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' JDBC Connection [HikariProxyConnection@428815786 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
2026-03-07T08:34:47.299Z INFO 1388476 --- [springboot-scaffold] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... ==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
2026-03-07T08:34:47.328Z INFO 1388476 --- [springboot-scaffold] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. ==> Parameters:
2026-03-07T08:34:47.337Z INFO 1388476 --- [springboot-scaffold] [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2026-03-07T09:05:06.089Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T08:34:47.461Z INFO 1388476 --- [springboot-scaffold] [ main] .s.b.a.l.ConditionEvaluationReportLogger : 2026-03-07T09:05:06.094Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@440b2f50] was not registered for synchronization because synchronization is not active
2026-03-07T08:34:47.549Z ERROR 1388476 --- [springboot-scaffold] [ main] o.s.boot.SpringApplication : Application run failed ==> Parameters:
<== Total: 0
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderService' defined in URL [jar:nested:/home/llm/Projects/springboot-scaffold/target/springboot-scaffold-1.0.0.jar/!BOOT-INF/classes/!/com/example/scaffold/service/impl/OrderService.class]: Unsatisfied dependency expressed through constructor parameter 2: Error creating bean with name 'userMapper' defined in URL [jar:nested:/home/llm/Projects/springboot-scaffold/target/springboot-scaffold-1.0.0.jar/!BOOT-INF/classes/!/com/example/scaffold/mapper/UserMapper.class]: org.apache.ibatis.cache.CacheException: Invalid base cache implementation (class org.apache.ibatis.cache.decorators.LruCache). Base cache implementations must have a constructor that takes a String id as a parameter. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.cache.decorators.LruCache.<init>(java.lang.String) Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7377beec]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:06.096Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 6ms
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:237) ~[spring-beans-6.1.4.jar!/:6.1.4] <== Total: 0
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1355) ~[spring-beans-6.1.4.jar!/:6.1.4] Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@90950fc]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1192) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:06.100Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:06.100Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:06.100Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 7ms
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.1.4.jar!/:6.1.4] As you are using functionality that deserializes object streams, it is recommended to define the JEP-290 serial filter. Please refer to https://docs.oracle.com/pls/topic/lookup?ctx=javase15&id=GUID-8296D8E8-2B93-4B9A-856E-0A65AF9B8C66
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.4.jar!/:6.1.4] Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.5
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.1.4.jar!/:6.1.4] Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@440b2f50]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:06.117Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:06.118Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:959) ~[spring-context-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:06.118Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 29ms
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) ~[spring-context-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:36.083Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.3.jar!/:3.2.3] 2026-03-07T09:05:36.083Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.3.jar!/:3.2.3] Creating a new SqlSession
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.3.jar!/:3.2.3] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@34150731] was not registered for synchronization because synchronization is not active
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.3.jar!/:3.2.3] 2026-03-07T09:05:36.084Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.3.jar!/:3.2.3] Creating a new SqlSession
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.3.jar!/:3.2.3] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@50a60d1e] was not registered for synchronization because synchronization is not active
at com.example.scaffold.SpringbootScaffoldApplication.main(SpringbootScaffoldApplication.java:9) ~[!/:1.0.0] JDBC Connection [HikariProxyConnection@770987400 wrapping conn2: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] ==> Preparing: SELECT * FROM products ORDER BY created_at DESC
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] JDBC Connection [HikariProxyConnection@1647938239 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:91) ~[springboot-scaffold-1.0.0.jar:1.0.0] ==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:53) ~[springboot-scaffold-1.0.0.jar:1.0.0] ==> Parameters:
at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:58) ~[springboot-scaffold-1.0.0.jar:1.0.0] <== Total: 0
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userMapper' defined in URL [jar:nested:/home/llm/Projects/springboot-scaffold/target/springboot-scaffold-1.0.0.jar/!BOOT-INF/classes/!/com/example/scaffold/mapper/UserMapper.class]: org.apache.ibatis.cache.CacheException: Invalid base cache implementation (class org.apache.ibatis.cache.decorators.LruCache). Base cache implementations must have a constructor that takes a String id as a parameter. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.cache.decorators.LruCache.<init>(java.lang.String) Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@34150731]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:36.086Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:36.082Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.4.jar!/:6.1.4] ==> Parameters:
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.1.4.jar!/:6.1.4] <== Total: 0
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.4.jar!/:6.1.4] Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@50a60d1e]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:36.087Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 3ms
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:36.087Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.1.4.jar!/:6.1.4] Creating a new SqlSession
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) ~[spring-beans-6.1.4.jar!/:6.1.4] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@736d353] was not registered for synchronization because synchronization is not active
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) ~[spring-beans-6.1.4.jar!/:6.1.4] Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.6666666666666666
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:907) ~[spring-beans-6.1.4.jar!/:6.1.4] Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@736d353]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:785) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:36.093Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
... 24 common frames omitted 2026-03-07T09:05:36.093Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
Caused by: java.lang.IllegalArgumentException: org.apache.ibatis.cache.CacheException: Invalid base cache implementation (class org.apache.ibatis.cache.decorators.LruCache). Base cache implementations must have a constructor that takes a String id as a parameter. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.cache.decorators.LruCache.<init>(java.lang.String) 2026-03-07T09:05:36.093Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 11ms
at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:83) ~[mybatis-spring-3.0.3.jar!/:3.0.3] 2026-03-07T09:05:36.086Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44) ~[spring-tx-6.1.4.jar!/:6.1.4] 2026-03-07T09:05:36.094Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 11ms
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:06:06.078Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) ~[spring-beans-6.1.4.jar!/:6.1.4] 2026-03-07T09:06:06.078Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
... 35 common frames omitted 2026-03-07T09:06:06.080Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Caused by: org.apache.ibatis.cache.CacheException: Invalid base cache implementation (class org.apache.ibatis.cache.decorators.LruCache). Base cache implementations must have a constructor that takes a String id as a parameter. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.cache.decorators.LruCache.<init>(java.lang.String) Creating a new SqlSession
at org.apache.ibatis.mapping.CacheBuilder.getBaseCacheConstructor(CacheBuilder.java:195) ~[mybatis-3.5.14.jar!/:3.5.14] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@43ee2751] was not registered for synchronization because synchronization is not active
at org.apache.ibatis.mapping.CacheBuilder.newBaseCacheInstance(CacheBuilder.java:183) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T09:06:06.077Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
at org.apache.ibatis.mapping.CacheBuilder.build(CacheBuilder.java:94) ~[mybatis-3.5.14.jar!/:3.5.14] 2026-03-07T09:06:06.081Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
at org.apache.ibatis.builder.MapperBuilderAssistant.useNewCache(MapperBuilderAssistant.java:128) ~[mybatis-3.5.14.jar!/:3.5.14] Creating a new SqlSession
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parseCache(MapperAnnotationBuilder.java:191) ~[mybatis-3.5.14.jar!/:3.5.14] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@40db3c0a] was not registered for synchronization because synchronization is not active
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:121) ~[mybatis-3.5.14.jar!/:3.5.14] JDBC Connection [HikariProxyConnection@1204923380 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
at org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:72) ~[mybatis-3.5.14.jar!/:3.5.14] ==> Preparing: SELECT * FROM products ORDER BY created_at DESC
at org.apache.ibatis.session.Configuration.addMapper(Configuration.java:895) ~[mybatis-3.5.14.jar!/:3.5.14] ==> Parameters:
at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:80) ~[mybatis-spring-3.0.3.jar!/:3.0.3] <== Total: 0
... 38 common frames omitted Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@43ee2751]
Caused by: java.lang.NoSuchMethodException: org.apache.ibatis.cache.decorators.LruCache.<init>(java.lang.String) 2026-03-07T09:06:06.082Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 2ms
at java.base/java.lang.Class.getConstructor0(Class.java:3763) ~[na:na] Creating a new SqlSession
at java.base/java.lang.Class.getConstructor(Class.java:2444) ~[na:na] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17dc9322] was not registered for synchronization because synchronization is not active
at org.apache.ibatis.mapping.CacheBuilder.getBaseCacheConstructor(CacheBuilder.java:193) ~[mybatis-3.5.14.jar!/:3.5.14] JDBC Connection [HikariProxyConnection@565369255 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
... 46 common frames omitted ==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17dc9322]
2026-03-07T09:06:06.084Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:06:06.084Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.75
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@40db3c0a]
2026-03-07T09:06:06.086Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:06:06.087Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:06:06.087Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 10ms
2026-03-07T09:06:06.084Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 6ms
2026-03-07T09:06:36.080Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17588e60] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1674264023 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17588e60]
2026-03-07T09:06:36.082Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:06:36.085Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4cd52d5e] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1429246749 wrapping conn2: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4cd52d5e]
2026-03-07T09:06:36.086Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:06:36.077Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:06:36.086Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@79bd0b9e] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@79bd0b9e]
2026-03-07T09:06:36.085Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 5ms
2026-03-07T09:06:36.087Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:06:36.093Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:06:36.093Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 16ms
2026-03-07T09:06:36.086Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:06:36.095Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 17ms
2026-03-07T09:06:41.293Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:06:41.293Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a0b0f13] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@462297636 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a0b0f13]
2026-03-07T09:06:41.296Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d32d6a] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@25026644 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d32d6a]
2026-03-07T09:06:41.301Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 5ms
2026-03-07T09:06:41.294Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:06:41.301Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6b43759c] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8333333333333334
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6b43759c]
2026-03-07T09:06:41.302Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:06:41.302Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:06:41.299Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:06:41.306Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:06:41.306Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 13ms
2026-03-07T09:06:41.309Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 15ms
2026-03-07T09:08:41.365Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:08:41.365Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5f9384ac] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@250235960 wrapping conn2: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
2026-03-07T09:08:41.369Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:08:41.365Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@35e2cef0] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8571428571428571
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@35e2cef0]
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5f9384ac]
2026-03-07T09:08:41.371Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 6ms
2026-03-07T09:08:41.369Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2412cfb] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@945724641 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2412cfb]
2026-03-07T09:08:41.371Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:08:41.378Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:08:41.378Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 13ms
2026-03-07T09:08:41.382Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:08:41.383Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:08:41.383Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 14ms
2026-03-07T09:09:11.381Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:09:11.389Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@339b8b85] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@2044663817 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
2026-03-07T09:09:11.385Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:09:11.393Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@e836b18] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.875
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@e836b18]
2026-03-07T09:09:11.378Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@25bb0795] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1706570017 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@339b8b85]
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@25bb0795]
2026-03-07T09:09:11.401Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 23ms
2026-03-07T09:09:11.398Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:09:11.403Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:09:11.404Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 23ms
2026-03-07T09:09:11.407Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:09:11.407Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:09:11.407Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 22ms
2026-03-07T09:09:57.591Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:09:57.591Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@76aff600] was not registered for synchronization because synchronization is not active
2026-03-07T09:09:57.592Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:09:57.592Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@62fcd225] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@216920430 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
2026-03-07T09:09:57.593Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1b9672e8] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@103531179 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8888888888888888
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@76aff600]
2026-03-07T09:09:57.599Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:09:57.599Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:09:57.599Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 8ms
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@62fcd225]
2026-03-07T09:09:57.600Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:09:57.600Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:09:57.600Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 8ms
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1b9672e8]
2026-03-07T09:09:57.603Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 10ms
2026-03-07T09:10:15.699Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:10:15.699Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
2026-03-07T09:10:15.700Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ee6ebd7] was not registered for synchronization because synchronization is not active
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6f7c93a3] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.9
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6f7c93a3]
2026-03-07T09:10:15.702Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:10:15.702Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:10:15.702Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 3ms
JDBC Connection [HikariProxyConnection@995189036 wrapping conn2: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ee6ebd7]
2026-03-07T09:10:15.704Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 4ms
2026-03-07T09:10:15.720Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:10:15.724Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@619fee3f] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1251411904 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@619fee3f]
2026-03-07T09:10:15.734Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:10:15.738Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:10:15.738Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 18ms
2026-03-07T09:10:45.697Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@41732ca4] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1767511888 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@41732ca4]
2026-03-07T09:10:45.698Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 7ms
2026-03-07T09:10:45.694Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:10:45.699Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@16edaf1a] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.9090909090909091
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@16edaf1a]
2026-03-07T09:10:45.700Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:10:45.700Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:10:45.695Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:10:45.702Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@634584d5] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1658574820 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@634584d5]
2026-03-07T09:10:45.705Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 6ms
2026-03-07T09:10:45.703Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:10:45.709Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:10:45.710Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 15ms
2026-03-07T09:11:15.696Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:11:15.698Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@78a4240e] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@611531950 wrapping conn2: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
2026-03-07T09:11:15.694Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:11:15.699Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2709c912] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.9166666666666666
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2709c912]
2026-03-07T09:11:15.700Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:11:15.700Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:11:15.700Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 6ms
2026-03-07T09:11:15.700Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4900755b] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@985053914 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4900755b]
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@78a4240e]
2026-03-07T09:11:15.704Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 6ms
2026-03-07T09:11:15.708Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:11:15.708Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:11:15.708Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 12ms
2026-03-07T09:11:20.259Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.list() 参数: []
2026-03-07T09:11:20.260Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.findAll()
2026-03-07T09:11:20.260Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.e.s.service.impl.UserServiceImpl : 📊 [UserService] 查询所有用户
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@75988cd9] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8461538461538461
JDBC Connection [HikariProxyConnection@1859934865 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM users ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@75988cd9]
2026-03-07T09:11:20.265Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.findAll() => ArrayList
2026-03-07T09:11:20.265Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.findAll()
2026-03-07T09:11:20.265Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.list() 耗时: 6ms
2026-03-07T09:13:39.723Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:13:39.723Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@66b24c60] was not registered for synchronization because synchronization is not active
2026-03-07T09:13:39.720Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@abcee10] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1337876771 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@abcee10]
2026-03-07T09:13:39.726Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:13:39.726Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@dfe33ca] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@101992541 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8571428571428571
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@66b24c60]
2026-03-07T09:13:39.728Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:13:39.728Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:13:39.728Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 6ms
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@dfe33ca]
2026-03-07T09:13:39.728Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:13:39.728Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:13:39.728Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 6ms
2026-03-07T09:13:39.724Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 4ms
2026-03-07T09:13:46.169Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.list() 参数: []
2026-03-07T09:13:46.169Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.findAll()
2026-03-07T09:13:46.169Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.e.s.service.impl.UserServiceImpl : 📊 [UserService] 查询所有用户
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5d32c3a4] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8666666666666667
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5d32c3a4]
2026-03-07T09:13:46.171Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.findAll() => ArrayList
2026-03-07T09:13:46.171Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.findAll()
2026-03-07T09:13:46.171Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.list() 耗时: 2ms
2026-03-07T09:13:50.492Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:13:50.506Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:13:50.506Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@53c286a4] was not registered for synchronization because synchronization is not active
2026-03-07T09:13:50.510Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47d7de43] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@927509680 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47d7de43]
2026-03-07T09:13:50.512Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:13:50.513Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@31bcbe4a] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@201598228 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.875
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@53c286a4]
2026-03-07T09:13:50.517Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:13:50.520Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:13:50.521Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 29ms
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@31bcbe4a]
2026-03-07T09:13:50.524Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 11ms
2026-03-07T09:13:50.517Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:13:50.532Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-8] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 26ms
2026-03-07T09:13:58.593Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6b758231] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@2126245868 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6b758231]
2026-03-07T09:13:58.595Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:13:58.600Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@31c79940] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8823529411764706
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@31c79940]
2026-03-07T09:13:58.601Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:13:58.601Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:13:58.593Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:13:58.602Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4cf45f69] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1134251079 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
2026-03-07T09:13:58.600Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 7ms
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4cf45f69]
2026-03-07T09:13:58.608Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 13ms
2026-03-07T09:13:58.606Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:13:58.611Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:13:58.611Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 18ms
2026-03-07T09:14:28.582Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:14:28.582Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
2026-03-07T09:14:28.582Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@54ca2e3c] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1838371682 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@54ca2e3c]
2026-03-07T09:14:28.583Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:14:28.584Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3de435fb] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8888888888888888
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3de435fb]
2026-03-07T09:14:28.584Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2770fa1] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@859350386 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2770fa1]
2026-03-07T09:14:28.583Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 1ms
2026-03-07T09:14:28.589Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:14:28.590Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 7ms
2026-03-07T09:14:28.587Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:14:28.591Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:14:28.591Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 9ms
2026-03-07T09:14:58.931Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:14:58.932Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
2026-03-07T09:14:58.936Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:14:58.936Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ff48ae6] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@908619933 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
2026-03-07T09:14:58.938Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3989ee74] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.8947368421052632
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3989ee74]
2026-03-07T09:14:58.940Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:14:58.940Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:14:58.940Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 9ms
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ff48ae6]
2026-03-07T09:14:58.944Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:14:58.944Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:14:58.944Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 8ms
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3fbc7956] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@721325685 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3fbc7956]
2026-03-07T09:14:58.948Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 10ms
2026-03-07T09:15:28.926Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:15:28.926Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5021275e] was not registered for synchronization because synchronization is not active
2026-03-07T09:15:28.928Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:15:28.929Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3f87579d] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@469087888 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
2026-03-07T09:15:28.929Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e8dc242] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.9
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e8dc242]
2026-03-07T09:15:28.930Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:15:28.930Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:15:28.930Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 8ms
JDBC Connection [HikariProxyConnection@1372181421 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5021275e]
2026-03-07T09:15:28.934Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:15:28.934Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:15:28.934Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 8ms
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3f87579d]
2026-03-07T09:15:28.938Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-3] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 9ms
2026-03-07T09:15:58.931Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:15:58.936Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@10ce968c] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1714135762 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
2026-03-07T09:15:58.932Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42485dce] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@2065854273 wrapping conn2: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
2026-03-07T09:15:58.934Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:15:58.939Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@447777c4] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.9047619047619048
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@447777c4]
2026-03-07T09:15:58.940Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:15:58.940Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@10ce968c]
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42485dce]
2026-03-07T09:15:58.944Z INFO 1395465 --- [springboot-scaffold] [io-8082-exec-10] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 10ms
2026-03-07T09:15:58.944Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:15:58.945Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:15:58.944Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 12ms
2026-03-07T09:15:58.947Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-6] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 16ms
2026-03-07T09:16:28.924Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2ed3de82] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@349902318 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2ed3de82]
2026-03-07T09:16:28.928Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-4] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 4ms
2026-03-07T09:16:28.926Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:16:28.930Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@89ed8c5] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@736052548 wrapping conn0: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@89ed8c5]
2026-03-07T09:16:28.927Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
2026-03-07T09:16:28.932Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@66047844] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.9090909090909091
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@66047844]
2026-03-07T09:16:28.933Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:16:28.933Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:16:28.933Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-2] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 6ms
2026-03-07T09:16:28.931Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:16:28.937Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:16:28.937Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-9] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 11ms
2026-03-07T09:16:58.931Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listOrders() 参数: []
2026-03-07T09:16:58.931Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: OrderService.findAll()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@79f75a00] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@692524477 wrapping conn1: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
2026-03-07T09:16:58.932Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: UserController.count() 参数: []
==> Preparing: SELECT * FROM orders ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@79f75a00]
2026-03-07T09:16:58.933Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: OrderService.findAll() => ArrayList
2026-03-07T09:16:58.934Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 开始: ProductOrderController.listProducts() 参数: []
2026-03-07T09:16:58.937Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: OrderService.findAll()
2026-03-07T09:16:58.937Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-1] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listOrders() 耗时: 6ms
Creating a new SqlSession
2026-03-07T09:16:58.938Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔹 [AOP @Before] 即将执行: UserServiceImpl.count()
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@140850d4] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.example.scaffold.mapper.UserMapper]: 0.9130434782608695
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@140850d4]
2026-03-07T09:16:58.939Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : ✅ [AOP @AfterReturning] 方法返回: UserServiceImpl.count() => Long
2026-03-07T09:16:58.939Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔸 [AOP @After] 执行完成: UserServiceImpl.count()
2026-03-07T09:16:58.939Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-5] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: UserController.count() 耗时: 7ms
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@75cdad47] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@411658786 wrapping conn2: url=jdbc:h2:file:~/h2/springboot_scaffold user=SA] will not be managed by Spring
==> Preparing: SELECT * FROM products ORDER BY created_at DESC
==> Parameters:
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@75cdad47]
2026-03-07T09:16:58.940Z INFO 1395465 --- [springboot-scaffold] [nio-8082-exec-7] c.example.scaffold.aop.LearningAspect : 🔄 [AOP @Around] 完成: ProductOrderController.listProducts() 耗时: 6ms

View File

@@ -1,13 +1,39 @@
package com.example.scaffold.controller; package com.example.scaffold.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.ResponseBody;
@RestController import java.util.Map;
@Controller
public class RootController { public class RootController {
@GetMapping("/") @GetMapping("/")
public String root() { public String index() {
return "Spring Boot Scaffold is running!"; return "forward:/index.html";
}
@GetMapping("/api/status")
@ResponseBody
public Map<String, Object> status() {
return Map.of(
"message", "Spring Boot 学习脚手架运行中",
"pages", Map.of(
"首页", "/index.html",
"IoC学习", "/ioc.html",
"AOP学习", "/aop.html",
"MyBatis学习", "/mybatis.html",
"事务学习", "/transaction.html",
"用户管理", "/users.html",
"API测试", "/api.html"
),
"apis", Map.of(
"用户API", "/api/users",
"产品API", "/api/products",
"订单API", "/api/orders",
"学习API", "/api/learning"
)
);
} }
} }

View File

@@ -32,9 +32,8 @@ public class IocLearningController {
private final PerformanceAspect performanceAspect; private final PerformanceAspect performanceAspect;
// 演示字段注入(不推荐,但可以用) // 演示字段注入(不推荐,但可以用)
@Autowired // 注意session scope 的 bean 需要在 web 上下文中使用
@Qualifier("learningBean") // 这里仅作演示,实际使用时通过方法参数获取
private LearningBean learningBean;
/** /**
* 查看所有 Bean * 查看所有 Bean
@@ -100,7 +99,7 @@ public class IocLearningController {
"prototype", "原型 - 每次请求都创建新实例", "prototype", "原型 - 每次请求都创建新实例",
"request", "请求 - 每个 HTTP 请求一个实例", "request", "请求 - 每个 HTTP 请求一个实例",
"session", "会话 - 每个 HTTP 会话一个实例", "session", "会话 - 每个 HTTP 会话一个实例",
"demo", learningBean.getInstanceInfo() "tip", "session scope 需要在 web 请求上下文中使用"
); );
} }

View File

@@ -2,7 +2,7 @@ package com.example.scaffold.mapper;
import com.example.scaffold.entity.User; import com.example.scaffold.entity.User;
import org.apache.ibatis.annotations.*; import org.apache.ibatis.annotations.*;
import org.apache.ibatis.cache.decorators.LruCache; import org.apache.ibatis.cache.impl.PerpetualCache;
import java.util.List; import java.util.List;
@@ -17,7 +17,7 @@ import java.util.List;
* 5. @CacheNamespace - 二级缓存 * 5. @CacheNamespace - 二级缓存
*/ */
@Mapper @Mapper
@CacheNamespace(implementation = LruCache.class, size = 1024) @CacheNamespace
public interface UserMapper { public interface UserMapper {
/** /**

Binary file not shown.