commit 7dc63dca819a03961cc597d0b2e8d5f601e88dda Author: zaneanan Date: Sat Mar 14 23:50:16 2026 +0800 initial commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..667aaef --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..8dea6c2 --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,3 @@ +wrapperVersion=3.3.4 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip diff --git a/logs/application.log b/logs/application.log new file mode 100644 index 0000000..68dfd26 --- /dev/null +++ b/logs/application.log @@ -0,0 +1,8290 @@ +2026-03-14T17:41:17.784+08:00 INFO 11288 --- [bootTemplate] [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 11288 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14T17:41:17.785+08:00 INFO 11288 --- [bootTemplate] [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14T17:41:17.866+08:00 INFO 11288 --- [bootTemplate] [restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14T17:41:17.872+08:00 INFO 11288 --- [bootTemplate] [restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14T17:41:17.911+08:00 INFO 11288 --- [bootTemplate] [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14T17:41:17.912+08:00 INFO 11288 --- [bootTemplate] [restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14T17:41:17.912+08:00 INFO 11288 --- [bootTemplate] [restartedMain] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14T17:41:17.922+08:00 INFO 11288 --- [bootTemplate] [restartedMain] b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 136 ms +2026-03-14T17:41:17.936+08:00 INFO 11288 --- [bootTemplate] [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14T17:41:17.960+08:00 INFO 11288 --- [bootTemplate] [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14T17:41:17.961+08:00 INFO 11288 --- [bootTemplate] [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Starting... +2026-03-14T17:41:17.996+08:00 INFO 11288 --- [bootTemplate] [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-5 - Added connection org.postgresql.jdbc.PgConnection@4a4e3355 +2026-03-14T17:41:17.997+08:00 INFO 11288 --- [bootTemplate] [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Start completed. +2026-03-14T17:41:18.002+08:00 WARN 11288 --- [bootTemplate] [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14T17:41:18.007+08:00 INFO 11288 --- [bootTemplate] [restartedMain] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14T17:41:18.033+08:00 INFO 11288 --- [bootTemplate] [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14T17:41:18.045+08:00 INFO 11288 --- [bootTemplate] [restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14T17:41:18.079+08:00 INFO 11288 --- [bootTemplate] [restartedMain] eAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14T17:41:18.079+08:00 WARN 11288 --- [bootTemplate] [restartedMain] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14T17:41:18.085+08:00 WARN 11288 --- [bootTemplate] [restartedMain] 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-14T17:41:18.153+08:00 INFO 11288 --- [bootTemplate] [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14T17:41:18.154+08:00 INFO 11288 --- [bootTemplate] [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.39 seconds (process running for 461.271) +2026-03-14T17:41:18.155+08:00 INFO 11288 --- [bootTemplate] [restartedMain] .ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14T17:41:46.727+08:00 INFO 11288 --- [bootTemplate] [File Watcher] rtingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14T17:41:46.730+08:00 INFO 11288 --- [bootTemplate] [Thread-17] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14T17:41:46.736+08:00 INFO 11288 --- [bootTemplate] [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14T17:41:46.737+08:00 INFO 11288 --- [bootTemplate] [Thread-17] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14T17:41:46.738+08:00 INFO 11288 --- [bootTemplate] [Thread-17] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown initiated... +2026-03-14T17:41:46.738+08:00 INFO 11288 --- [bootTemplate] [Thread-17] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown completed. +2026-03-14 17:43:06.785 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 13116 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:43:06.787 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:43:06.814 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 17:43:06.814 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 17:43:07.204 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:43:07.234 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 25 ms. Found 1 JPA repository interface. +2026-03-14 17:43:07.530 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:43:07.539 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:43:07.540 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:43:07.540 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:43:07.566 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 752 ms +2026-03-14 17:43:07.654 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:43:07.688 INFO [restartedMain] org.hibernate.orm.core : HHH000001: Hibernate ORM core version 7.2.6.Final +2026-03-14 17:43:08.002 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:43:08.022 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 17:43:08.122 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@3f714367 +2026-03-14 17:43:08.123 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 17:43:08.145 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:43:08.163 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:43:08.741 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:43:08.776 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:43:08.813 INFO [restartedMain] o.s.d.j.r.q.QueryEnhancerFactories : Hibernate is in classpath; If applicable, HQL parser will be used. +2026-03-14 17:43:08.953 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:43:08.953 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:43:08.974 WARN [restartedMain] o.s.b.j.a.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-14 17:43:09.243 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:43:09.252 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:43:09.255 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.776 seconds (process running for 3.2) +2026-03-14 17:47:22.480 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 17:47:22.486 INFO [Thread-1] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:47:22.487 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:47:22.489 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:47:22.490 INFO [Thread-1] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 17:47:22.493 INFO [Thread-1] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:47:22.495 INFO [Thread-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 17:47:22.496 INFO [Thread-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 17:47:22.560 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 13116 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:47:22.560 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:47:22.662 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:47:22.669 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 1 JPA repository interface. +2026-03-14 17:47:22.737 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:47:22.739 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:47:22.739 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:47:22.739 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:47:22.751 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 190 ms +2026-03-14 17:47:22.774 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:47:22.800 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:47:22.801 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 17:47:22.938 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@5e988de3 +2026-03-14 17:47:22.938 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 17:47:22.944 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:47:22.949 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:47:22.976 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:47:22.990 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:47:23.036 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:47:23.036 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:47:23.047 WARN [restartedMain] o.s.b.j.a.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-14 17:47:23.133 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:47:23.135 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:47:23.137 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.597 seconds (process running for 257.082) +2026-03-14 17:47:23.138 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 17:47:34.596 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 2 class path changes (1 addition, 0 deletions, 1 modification) +2026-03-14 17:47:34.598 INFO [Thread-5] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:47:34.598 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:47:34.599 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:47:34.600 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 17:47:34.604 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:47:34.605 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 17:47:34.606 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 17:47:34.668 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 13116 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:47:34.668 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:47:34.754 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:47:34.759 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 17:47:34.800 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:47:34.800 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:47:34.800 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:47:34.800 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:47:34.812 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 143 ms +2026-03-14 17:47:34.828 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:47:34.849 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:47:34.850 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Starting... +2026-03-14 17:47:34.989 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@6bf429ec +2026-03-14 17:47:34.989 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Start completed. +2026-03-14 17:47:34.994 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:47:35.003 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:47:35.035 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:47:35.047 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:47:35.082 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:47:35.082 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:47:35.089 WARN [restartedMain] o.s.b.j.a.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-14 17:47:35.154 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:47:35.156 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:47:35.157 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.504 seconds (process running for 269.102) +2026-03-14 17:47:35.158 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 17:48:50.279 INFO [SpringApplicationShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:48:50.281 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:48:50.283 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:48:50.283 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated... +2026-03-14 17:48:50.284 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed. +2026-03-14 17:48:52.724 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 17088 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:48:52.726 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:48:52.758 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 17:48:52.758 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 17:48:53.200 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:48:53.234 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 28 ms. Found 1 JPA repository interface. +2026-03-14 17:48:53.558 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:48:53.565 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:48:53.566 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:48:53.567 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:48:53.590 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 832 ms +2026-03-14 17:48:53.665 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:48:53.693 INFO [restartedMain] org.hibernate.orm.core : HHH000001: Hibernate ORM core version 7.2.6.Final +2026-03-14 17:48:53.978 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:48:53.998 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 17:48:54.208 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@2aa1f8cb +2026-03-14 17:48:54.209 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 17:48:54.228 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:48:54.244 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:48:54.802 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:48:54.838 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:48:54.873 INFO [restartedMain] o.s.d.j.r.q.QueryEnhancerFactories : Hibernate is in classpath; If applicable, HQL parser will be used. +2026-03-14 17:48:55.015 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:48:55.015 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:48:55.042 WARN [restartedMain] o.s.b.j.a.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-14 17:48:55.299 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:48:55.308 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:48:55.311 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.907 seconds (process running for 3.316) +2026-03-14 17:49:04.601 INFO [http-nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 17:49:04.602 INFO [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 17:49:04.603 INFO [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 17:49:04.750 DEBUG [http-nio-8080-exec-2] org.hibernate.SQL : insert into _user (email,password,role) values (?,?,?) +2026-03-14 17:49:04.756 WARN [http-nio-8080-exec-2] org.hibernate.orm.jdbc.error : HHH000247: ErrorCode: 0, SQLState: 23505 +2026-03-14 17:49:04.757 WARN [http-nio-8080-exec-2] org.hibernate.orm.jdbc.error : ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists. +2026-03-14 17:49:04.764 WARN [http-nio-8080-exec-2] c.b.b.handler.GlobalExceptionHandler : 資料衝突(可能 Email 重複): could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx] +2026-03-14 17:49:04.782 WARN [http-nio-8080-exec-2] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx]] +2026-03-14 17:51:14.753 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 17:51:14.755 INFO [Thread-1] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:51:14.756 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:14.758 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:51:14.758 INFO [Thread-1] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:14.761 INFO [Thread-1] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:51:14.764 INFO [Thread-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 17:51:14.765 INFO [Thread-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 17:51:14.834 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 17088 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:51:14.834 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:51:14.935 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:51:14.942 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 17:51:15.018 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:51:15.019 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:15.019 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:51:15.019 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:51:15.035 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 199 ms +2026-03-14 17:51:15.064 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:51:15.089 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:51:15.090 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 17:51:15.128 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@3666f0db +2026-03-14 17:51:15.128 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 17:51:15.134 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:51:15.140 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:51:15.169 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:51:15.180 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:51:15.219 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:51:15.219 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:51:15.225 WARN [restartedMain] o.s.b.j.a.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-14 17:51:15.310 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:15.312 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:51:15.314 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.497 seconds (process running for 143.319) +2026-03-14 17:51:15.316 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 17:51:41.858 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 1 deletion, 0 modifications) +2026-03-14 17:51:41.858 INFO [Thread-5] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:51:41.859 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:41.860 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:51:41.860 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:41.862 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:51:41.863 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 17:51:41.864 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 17:51:41.916 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 17088 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:51:41.916 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:51:42.024 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:51:42.030 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 17:51:42.080 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:51:42.081 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:42.081 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:51:42.081 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:51:42.093 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 176 ms +2026-03-14 17:51:42.112 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:51:42.135 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:51:42.136 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Starting... +2026-03-14 17:51:42.177 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@71dda4bf +2026-03-14 17:51:42.177 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Start completed. +2026-03-14 17:51:42.183 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:51:42.188 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:51:42.215 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:51:42.229 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:51:42.267 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:51:42.267 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:51:42.274 WARN [restartedMain] o.s.b.j.a.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-14 17:51:42.354 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:42.356 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:51:42.357 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.46 seconds (process running for 170.362) +2026-03-14 17:51:42.358 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 17:51:43.761 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 17:51:43.762 INFO [Thread-9] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:51:43.762 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:43.764 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:51:43.764 INFO [Thread-9] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:43.766 INFO [Thread-9] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:51:43.766 INFO [Thread-9] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated... +2026-03-14 17:51:43.767 INFO [Thread-9] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed. +2026-03-14 17:51:43.831 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 17088 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:51:43.832 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:51:43.927 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:51:43.933 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 17:51:43.977 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:51:43.978 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:43.978 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:51:43.978 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:51:43.989 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 156 ms +2026-03-14 17:51:44.003 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:51:44.023 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:51:44.023 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Starting... +2026-03-14 17:51:44.055 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-4 - Added connection org.postgresql.jdbc.PgConnection@5203fc77 +2026-03-14 17:51:44.055 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Start completed. +2026-03-14 17:51:44.061 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:51:44.066 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:51:44.092 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:51:44.104 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:51:44.136 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:51:44.136 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:51:44.142 WARN [restartedMain] o.s.b.j.a.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-14 17:51:44.209 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:44.211 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:51:44.212 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.397 seconds (process running for 172.217) +2026-03-14 17:51:44.212 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 17:51:55.699 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 1 deletion, 0 modifications) +2026-03-14 17:51:55.699 INFO [Thread-13] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:51:55.699 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:55.700 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:51:55.701 INFO [Thread-13] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:55.702 INFO [Thread-13] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:51:55.702 INFO [Thread-13] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown initiated... +2026-03-14 17:51:55.704 INFO [Thread-13] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown completed. +2026-03-14 17:51:55.762 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 17088 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:51:55.762 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:51:55.853 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:51:55.859 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 17:51:55.905 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:51:55.906 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:55.906 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:51:55.906 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:51:55.917 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 154 ms +2026-03-14 17:51:55.937 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:51:55.959 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:51:55.960 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Starting... +2026-03-14 17:51:55.997 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-5 - Added connection org.postgresql.jdbc.PgConnection@7600b759 +2026-03-14 17:51:55.997 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Start completed. +2026-03-14 17:51:56.003 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:51:56.009 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:51:56.034 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:51:56.048 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:51:56.082 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:51:56.082 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:51:56.088 WARN [restartedMain] o.s.b.j.a.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-14 17:51:56.165 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:51:56.167 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:51:56.168 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.422 seconds (process running for 184.174) +2026-03-14 17:51:56.169 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 17:52:17.261 INFO [SpringApplicationShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:52:17.262 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:52:17.264 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:52:17.264 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown initiated... +2026-03-14 17:52:17.265 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown completed. +2026-03-14 17:52:19.631 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 17432 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:52:19.633 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:52:19.659 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 17:52:19.659 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 17:52:20.047 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:52:20.077 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 25 ms. Found 1 JPA repository interface. +2026-03-14 17:52:20.374 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:52:20.381 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:52:20.382 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:52:20.383 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:52:20.406 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 747 ms +2026-03-14 17:52:20.479 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:52:20.508 INFO [restartedMain] org.hibernate.orm.core : HHH000001: Hibernate ORM core version 7.2.6.Final +2026-03-14 17:52:20.785 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:52:20.803 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 17:52:21.000 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@226ff69 +2026-03-14 17:52:21.001 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 17:52:21.021 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:52:21.038 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:52:21.590 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:52:21.627 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:52:21.662 INFO [restartedMain] o.s.d.j.r.q.QueryEnhancerFactories : Hibernate is in classpath; If applicable, HQL parser will be used. +2026-03-14 17:52:21.807 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:52:21.808 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:52:21.830 WARN [restartedMain] o.s.b.j.a.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-14 17:52:22.087 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:52:22.096 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:52:22.100 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.768 seconds (process running for 3.178) +2026-03-14 17:52:29.250 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 17:52:29.250 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 17:52:29.251 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 17:52:29.401 DEBUG [http-nio-8080-exec-1] org.hibernate.SQL : insert into _user (email,password,role) values (?,?,?) +2026-03-14 17:52:29.408 WARN [http-nio-8080-exec-1] org.hibernate.orm.jdbc.error : HHH000247: ErrorCode: 0, SQLState: 23505 +2026-03-14 17:52:29.408 WARN [http-nio-8080-exec-1] org.hibernate.orm.jdbc.error : ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists. +2026-03-14 17:52:29.415 WARN [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 資料衝突(可能 Email 重複): could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx] +2026-03-14 17:52:29.434 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx]] +2026-03-14 17:52:34.185 DEBUG [http-nio-8080-exec-3] org.hibernate.SQL : insert into _user (email,password,role) values (?,?,?) +2026-03-14 17:52:34.185 WARN [http-nio-8080-exec-3] org.hibernate.orm.jdbc.error : HHH000247: ErrorCode: 0, SQLState: 23505 +2026-03-14 17:52:34.185 WARN [http-nio-8080-exec-3] org.hibernate.orm.jdbc.error : ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists. +2026-03-14 17:52:34.187 WARN [http-nio-8080-exec-3] c.b.b.handler.GlobalExceptionHandler : 資料衝突(可能 Email 重複): could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx] +2026-03-14 17:52:34.188 WARN [http-nio-8080-exec-3] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx]] +2026-03-14 17:53:51.289 INFO [SpringApplicationShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:53:51.291 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:53:51.294 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:53:51.297 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 17:53:51.298 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 17:53:53.644 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 8340 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:53:53.646 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:53:53.673 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 17:53:53.674 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 17:53:54.069 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:53:54.099 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 25 ms. Found 1 JPA repository interface. +2026-03-14 17:53:54.390 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:53:54.398 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:53:54.399 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:53:54.399 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:53:54.422 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 748 ms +2026-03-14 17:53:54.495 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:53:54.522 INFO [restartedMain] org.hibernate.orm.core : HHH000001: Hibernate ORM core version 7.2.6.Final +2026-03-14 17:53:54.800 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:53:54.819 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 17:53:54.910 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@506033af +2026-03-14 17:53:54.911 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 17:53:54.930 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:53:54.945 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:53:55.493 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:53:55.530 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:53:55.566 INFO [restartedMain] o.s.d.j.r.q.QueryEnhancerFactories : Hibernate is in classpath; If applicable, HQL parser will be used. +2026-03-14 17:53:55.705 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:53:55.705 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:53:55.728 WARN [restartedMain] o.s.b.j.a.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-14 17:53:55.984 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:53:55.993 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:53:55.996 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.664 seconds (process running for 3.077) +2026-03-14 17:54:16.035 INFO [http-nio-8080-exec-8] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 17:54:16.035 INFO [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 17:54:16.037 INFO [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms +2026-03-14 17:54:16.185 DEBUG [http-nio-8080-exec-8] org.hibernate.SQL : insert into _user (email,password,role) values (?,?,?) +2026-03-14 17:54:16.191 WARN [http-nio-8080-exec-8] org.hibernate.orm.jdbc.error : HHH000247: ErrorCode: 0, SQLState: 23505 +2026-03-14 17:54:16.191 WARN [http-nio-8080-exec-8] org.hibernate.orm.jdbc.error : ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists. +2026-03-14 17:54:16.199 WARN [http-nio-8080-exec-8] c.b.b.handler.GlobalExceptionHandler : 資料衝突(可能 Email 重複): could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx] +2026-03-14 17:54:16.217 WARN [http-nio-8080-exec-8] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx]] +2026-03-14 17:54:21.279 DEBUG [http-nio-8080-exec-3] org.hibernate.SQL : insert into _user (email,password,role) values (?,?,?) +2026-03-14 17:54:21.279 WARN [http-nio-8080-exec-3] org.hibernate.orm.jdbc.error : HHH000247: ErrorCode: 0, SQLState: 23505 +2026-03-14 17:54:21.279 WARN [http-nio-8080-exec-3] org.hibernate.orm.jdbc.error : ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists. +2026-03-14 17:54:21.280 WARN [http-nio-8080-exec-3] c.b.b.handler.GlobalExceptionHandler : 資料衝突(可能 Email 重複): could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx] +2026-03-14 17:54:21.282 WARN [http-nio-8080-exec-3] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx]] +2026-03-14 17:54:47.750 DEBUG [http-nio-8080-exec-4] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 17:54:47.824 ERROR [http-nio-8080-exec-4] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +org.springframework.security.authentication.BadCredentialsException: Bad credentials + at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:152) + at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:183) + at com.boot.bootTemplate.service.AuthenticationService.authenticate(AuthenticationService.java:38) + at com.boot.bootTemplate.controller.AuthenticationController.authenticate(AuthenticationController.java:29) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:649) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +Caused by: org.springframework.security.core.userdetails.UsernameNotFoundException: User not found + at com.boot.bootTemplate.config.ApplicationConfig.lambda$userDetailsService$1(ApplicationConfig.java:26) + at java.base/java.util.Optional.orElseThrow(Optional.java:403) + at com.boot.bootTemplate.config.ApplicationConfig.lambda$userDetailsService$0(ApplicationConfig.java:26) + at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:106) + at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:143) + ... 94 common frames omitted +2026-03-14 17:54:47.828 WARN [http-nio-8080-exec-4] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.security.authentication.BadCredentialsException: Bad credentials] +2026-03-14 17:54:51.546 ERROR [http-nio-8080-exec-6] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character ('}' (code 125)): was expecting double-quote to start property name + at org.springframework.http.converter.AbstractJacksonHttpMessageConverter.readJavaType(AbstractJacksonHttpMessageConverter.java:363) + at org.springframework.http.converter.AbstractJacksonHttpMessageConverter.read(AbstractJacksonHttpMessageConverter.java:319) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:203) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:156) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:224) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:174) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:649) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +Caused by: tools.jackson.core.exc.StreamReadException: Unexpected character ('}' (code 125)): was expecting double-quote to start property name + at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); byte offset: #45] + at tools.jackson.core.JsonParser._constructReadException(JsonParser.java:1856) + at tools.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:1049) + at tools.jackson.core.json.UTF8StreamJsonParser._handleOddName(UTF8StreamJsonParser.java:2516) + at tools.jackson.core.json.UTF8StreamJsonParser._parseName(UTF8StreamJsonParser.java:2126) + at tools.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:765) + at tools.jackson.databind.deser.bean.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:691) + at tools.jackson.databind.deser.bean.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1503) + at tools.jackson.databind.deser.bean.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:598) + at tools.jackson.databind.deser.bean.BeanDeserializer.deserialize(BeanDeserializer.java:200) + at tools.jackson.databind.deser.DeserializationContextExt.readRootValue(DeserializationContextExt.java:266) + at tools.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1888) + at tools.jackson.databind.ObjectReader.readValue(ObjectReader.java:1270) + at org.springframework.http.converter.AbstractJacksonHttpMessageConverter.readJavaType(AbstractJacksonHttpMessageConverter.java:352) + ... 94 common frames omitted +2026-03-14 17:54:51.548 WARN [http-nio-8080-exec-6] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character ('}' (code 125)): was expecting double-quote to start property name] +2026-03-14 17:54:55.160 DEBUG [http-nio-8080-exec-2] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 17:54:55.220 ERROR [http-nio-8080-exec-2] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +org.springframework.security.authentication.BadCredentialsException: Bad credentials + at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:152) + at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:183) + at com.boot.bootTemplate.service.AuthenticationService.authenticate(AuthenticationService.java:38) + at com.boot.bootTemplate.controller.AuthenticationController.authenticate(AuthenticationController.java:29) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:649) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +Caused by: org.springframework.security.core.userdetails.UsernameNotFoundException: User not found + at com.boot.bootTemplate.config.ApplicationConfig.lambda$userDetailsService$1(ApplicationConfig.java:26) + at java.base/java.util.Optional.orElseThrow(Optional.java:403) + at com.boot.bootTemplate.config.ApplicationConfig.lambda$userDetailsService$0(ApplicationConfig.java:26) + at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:106) + at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:143) + ... 94 common frames omitted +2026-03-14 17:54:55.222 WARN [http-nio-8080-exec-2] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.security.authentication.BadCredentialsException: Bad credentials] +2026-03-14 17:55:10.770 DEBUG [http-nio-8080-exec-10] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 17:55:10.833 DEBUG [http-nio-8080-exec-10] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 17:55:16.010 DEBUG [http-nio-8080-exec-1] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 17:55:16.071 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +org.springframework.security.authentication.BadCredentialsException: Bad credentials + at org.springframework.security.authentication.dao.DaoAuthenticationProvider.additionalAuthenticationChecks(DaoAuthenticationProvider.java:92) + at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:158) + at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:183) + at com.boot.bootTemplate.service.AuthenticationService.authenticate(AuthenticationService.java:38) + at com.boot.bootTemplate.controller.AuthenticationController.authenticate(AuthenticationController.java:29) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:649) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +2026-03-14 17:55:16.072 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.security.authentication.BadCredentialsException: Bad credentials] +2026-03-14 17:56:51.082 INFO [SpringApplicationShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:56:51.084 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:56:51.087 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:56:51.089 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 17:56:51.090 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 17:56:53.576 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 13176 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:56:53.577 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:56:53.604 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 17:56:53.604 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 17:56:53.993 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:56:54.023 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 25 ms. Found 1 JPA repository interface. +2026-03-14 17:56:54.317 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:56:54.324 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:56:54.325 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:56:54.325 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:56:54.350 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 746 ms +2026-03-14 17:56:54.425 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:56:54.452 INFO [restartedMain] org.hibernate.orm.core : HHH000001: Hibernate ORM core version 7.2.6.Final +2026-03-14 17:56:54.725 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:56:54.744 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 17:56:54.840 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@729bda43 +2026-03-14 17:56:54.841 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 17:56:54.861 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:56:54.876 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:56:55.442 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:56:55.480 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:56:55.517 INFO [restartedMain] o.s.d.j.r.q.QueryEnhancerFactories : Hibernate is in classpath; If applicable, HQL parser will be used. +2026-03-14 17:56:55.658 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:56:55.659 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:56:55.681 WARN [restartedMain] o.s.b.j.a.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-14 17:56:55.938 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:56:55.947 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:56:55.950 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.678 seconds (process running for 3.138) +2026-03-14 17:57:03.229 INFO [http-nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 17:57:03.229 INFO [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 17:57:03.230 INFO [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 17:57:03.551 DEBUG [http-nio-8080-exec-2] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 17:57:03.628 WARN [http-nio-8080-exec-2] c.b.b.handler.GlobalExceptionHandler : 登入失敗: 帳號或密碼錯誤 +2026-03-14 17:57:03.647 WARN [http-nio-8080-exec-2] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.security.authentication.BadCredentialsException: Bad credentials] +2026-03-14 17:59:42.453 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 22 class path changes (0 additions, 21 deletions, 1 modification) +2026-03-14 17:59:42.457 INFO [Thread-1] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:59:42.458 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:59:42.460 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:59:42.461 INFO [Thread-1] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 17:59:42.464 INFO [Thread-1] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:59:42.466 INFO [Thread-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 17:59:42.468 INFO [Thread-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 17:59:42.552 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 13176 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:59:42.552 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:59:42.723 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:59:42.726 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 1 ms. Found 0 JPA repository interfaces. +2026-03-14 17:59:42.856 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:59:42.858 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:59:42.859 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:59:42.859 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:59:42.880 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 327 ms +2026-03-14 17:59:42.929 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:59:42.964 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:59:42.966 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 17:59:43.019 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@526e2357 +2026-03-14 17:59:43.020 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 17:59:43.027 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:59:43.033 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:59:43.053 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:59:43.054 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:59:43.087 WARN [restartedMain] o.s.b.j.a.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-14 17:59:43.193 WARN [restartedMain] o.s.b.s.a.UserDetailsServiceAutoConfiguration : + +Using generated security password: 876c565e-2dea-41c4-a0e1-2297b3bd7a38 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-03-14 17:59:43.209 INFO [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2026-03-14 17:59:43.264 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:59:43.265 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:59:43.267 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.739 seconds (process running for 170.454) +2026-03-14 17:59:43.270 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + ServletWebSecurityAutoConfiguration.EnableWebSecurityConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) + - @ConditionalOnMissingBean (names: springSecurityFilterChain; SearchStrategy: all) did not find any beans (OnBeanCondition) + + ServletWebSecurityAutoConfiguration.SecurityFilterChainConfiguration matched: + - AllNestedConditions 2 matched 0 did not; NestedCondition on DefaultWebSecurityCondition.Beans @ConditionalOnMissingBean (types: org.springframework.security.web.SecurityFilterChain; SearchStrategy: all) did not find any beans; NestedCondition on DefaultWebSecurityCondition.Classes @ConditionalOnClass found required classes 'org.springframework.security.web.SecurityFilterChain', 'org.springframework.security.config.annotation.web.builders.HttpSecurity' (DefaultWebSecurityCondition) + + UserDetailsServiceAutoConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.security.authentication.AuthenticationManager' (OnClassCondition) + - found 'session' scope (OnWebApplicationCondition) + - AnyNestedCondition 1 matched 2 did not; NestedCondition on MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured.PasswordConfigured @ConditionalOnProperty (spring.security.user.password) did not find property 'spring.security.user.password'; NestedCondition on MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured.NameConfigured @ConditionalOnProperty (spring.security.user.name) did not find property 'spring.security.user.name'; NestedCondition on MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured.MissingAlternative @ConditionalOnMissingClass did not find unwanted classes 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository', 'org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector', 'org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepository' (MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured) + - @ConditionalOnMissingBean (types: org.springframework.security.authentication.AuthenticationManager,org.springframework.security.authentication.AuthenticationProvider,org.springframework.security.core.userdetails.UserDetailsService,org.springframework.security.authentication.AuthenticationManagerResolver,org.springframework.security.oauth2.jwt.JwtDecoder; SearchStrategy: all) did not find any beans (OnBeanCondition) + + +Negative matches: +----------------- + + None + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 17:59:44.603 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 21 class path changes (21 additions, 0 deletions, 0 modifications) +2026-03-14 17:59:44.605 INFO [Thread-5] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 17:59:44.606 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:59:44.610 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 17:59:44.611 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 17:59:44.613 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:59:44.613 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 17:59:44.614 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 17:59:44.673 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 13176 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 17:59:44.674 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 17:59:44.765 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 17:59:44.771 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 17:59:44.816 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 17:59:44.816 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 17:59:44.816 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 17:59:44.816 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 17:59:44.827 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 152 ms +2026-03-14 17:59:44.842 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 17:59:44.863 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 17:59:44.864 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Starting... +2026-03-14 17:59:44.899 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@7fbe8e7 +2026-03-14 17:59:44.899 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Start completed. +2026-03-14 17:59:44.905 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 17:59:44.910 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 17:59:44.935 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 17:59:44.947 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 17:59:44.978 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 17:59:44.978 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 17:59:44.984 WARN [restartedMain] o.s.b.j.a.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-14 17:59:45.049 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 17:59:45.051 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 17:59:45.052 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.394 seconds (process running for 172.239) +2026-03-14 17:59:45.053 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + None + + +Negative matches: +----------------- + + ServletWebSecurityAutoConfiguration.EnableWebSecurityConfiguration: + Did not match: + - @ConditionalOnMissingBean (names: springSecurityFilterChain; SearchStrategy: all) found beans named springSecurityFilterChain (OnBeanCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) + + ServletWebSecurityAutoConfiguration.SecurityFilterChainConfiguration: + Did not match: + - AllNestedConditions 1 matched 1 did not; NestedCondition on DefaultWebSecurityCondition.Beans @ConditionalOnMissingBean (types: org.springframework.security.web.SecurityFilterChain; SearchStrategy: all) found beans of type 'org.springframework.security.web.SecurityFilterChain' securityFilterChain; NestedCondition on DefaultWebSecurityCondition.Classes @ConditionalOnClass found required classes 'org.springframework.security.web.SecurityFilterChain', 'org.springframework.security.config.annotation.web.builders.HttpSecurity' (DefaultWebSecurityCondition) + + UserDetailsServiceAutoConfiguration: + Did not match: + - @ConditionalOnMissingBean (types: org.springframework.security.authentication.AuthenticationManager,org.springframework.security.authentication.AuthenticationProvider,org.springframework.security.core.userdetails.UserDetailsService,org.springframework.security.authentication.AuthenticationManagerResolver,org.springframework.security.oauth2.jwt.JwtDecoder; SearchStrategy: all) found beans of type 'org.springframework.security.authentication.AuthenticationManager' authenticationManager and found beans of type 'org.springframework.security.core.userdetails.UserDetailsService' userDetailsService and found beans of type 'org.springframework.security.authentication.AuthenticationProvider' authenticationProvider (OnBeanCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.security.authentication.AuthenticationManager' (OnClassCondition) + - found 'session' scope (OnWebApplicationCondition) + - AnyNestedCondition 1 matched 2 did not; NestedCondition on MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured.PasswordConfigured @ConditionalOnProperty (spring.security.user.password) did not find property 'spring.security.user.password'; NestedCondition on MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured.NameConfigured @ConditionalOnProperty (spring.security.user.name) did not find property 'spring.security.user.name'; NestedCondition on MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured.MissingAlternative @ConditionalOnMissingClass did not find unwanted classes 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository', 'org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector', 'org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepository' (MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured) + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:00:38.884 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 1 deletion, 0 modifications) +2026-03-14 18:00:38.886 INFO [Thread-9] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:00:38.887 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:00:38.890 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:00:38.891 INFO [Thread-9] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:00:38.893 INFO [Thread-9] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:00:38.893 INFO [Thread-9] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated... +2026-03-14 18:00:38.894 INFO [Thread-9] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed. +2026-03-14 18:00:38.949 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 13176 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:00:38.949 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:00:39.036 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:00:39.042 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 18:00:39.084 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:00:39.084 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:00:39.085 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:00:39.085 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 18:00:39.096 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 146 ms +2026-03-14 18:00:39.112 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:00:39.135 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:00:39.136 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Starting... +2026-03-14 18:00:39.169 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-4 - Added connection org.postgresql.jdbc.PgConnection@1a3b8650 +2026-03-14 18:00:39.169 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Start completed. +2026-03-14 18:00:39.174 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:00:39.180 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 18:00:39.203 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 18:00:39.215 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:00:39.245 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 18:00:39.245 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 18:00:39.250 WARN [restartedMain] o.s.b.j.a.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-14 18:00:39.317 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:00:39.318 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 18:00:39.319 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.385 seconds (process running for 226.506) +2026-03-14 18:00:39.319 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + ServletWebSecurityAutoConfiguration.EnableWebSecurityConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) + - @ConditionalOnMissingBean (names: springSecurityFilterChain; SearchStrategy: all) did not find any beans (OnBeanCondition) + + ServletWebSecurityAutoConfiguration.SecurityFilterChainConfiguration matched: + - AllNestedConditions 2 matched 0 did not; NestedCondition on DefaultWebSecurityCondition.Beans @ConditionalOnMissingBean (types: org.springframework.security.web.SecurityFilterChain; SearchStrategy: all) did not find any beans; NestedCondition on DefaultWebSecurityCondition.Classes @ConditionalOnClass found required classes 'org.springframework.security.web.SecurityFilterChain', 'org.springframework.security.config.annotation.web.builders.HttpSecurity' (DefaultWebSecurityCondition) + + +Negative matches: +----------------- + + None + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:00:57.831 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 18:00:57.834 INFO [Thread-13] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:00:57.834 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:00:57.838 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:00:57.838 INFO [Thread-13] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:00:57.841 INFO [Thread-13] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:00:57.841 INFO [Thread-13] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown initiated... +2026-03-14 18:00:57.842 INFO [Thread-13] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown completed. +2026-03-14 18:00:57.897 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 13176 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:00:57.897 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:00:57.982 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:00:57.988 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:00:58.029 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:00:58.029 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:00:58.029 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:00:58.029 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 18:00:58.040 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 142 ms +2026-03-14 18:00:58.057 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:00:58.077 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:00:58.078 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Starting... +2026-03-14 18:00:58.113 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-5 - Added connection org.postgresql.jdbc.PgConnection@6eef92f0 +2026-03-14 18:00:58.113 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Start completed. +2026-03-14 18:00:58.119 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:00:58.124 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 18:00:58.147 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 18:00:58.158 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:00:58.190 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 18:00:58.190 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 18:00:58.196 WARN [restartedMain] o.s.b.j.a.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-14 18:00:58.260 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:00:58.261 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 18:00:58.263 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.38 seconds (process running for 245.45) +2026-03-14 18:00:58.263 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + None + + +Negative matches: +----------------- + + ServletWebSecurityAutoConfiguration.EnableWebSecurityConfiguration: + Did not match: + - @ConditionalOnMissingBean (names: springSecurityFilterChain; SearchStrategy: all) found beans named springSecurityFilterChain (OnBeanCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) + + ServletWebSecurityAutoConfiguration.SecurityFilterChainConfiguration: + Did not match: + - AllNestedConditions 1 matched 1 did not; NestedCondition on DefaultWebSecurityCondition.Beans @ConditionalOnMissingBean (types: org.springframework.security.web.SecurityFilterChain; SearchStrategy: all) found beans of type 'org.springframework.security.web.SecurityFilterChain' securityFilterChain; NestedCondition on DefaultWebSecurityCondition.Classes @ConditionalOnClass found required classes 'org.springframework.security.web.SecurityFilterChain', 'org.springframework.security.config.annotation.web.builders.HttpSecurity' (DefaultWebSecurityCondition) + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:01:07.857 INFO [SpringApplicationShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:01:07.859 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:01:07.860 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:01:07.861 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown initiated... +2026-03-14 18:01:07.861 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown completed. +2026-03-14 18:01:10.281 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 1484 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:01:10.283 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:01:10.308 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 18:01:10.308 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 18:01:10.767 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:01:10.799 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 25 ms. Found 1 JPA repository interface. +2026-03-14 18:01:11.090 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:01:11.098 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:01:11.098 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:01:11.099 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 18:01:11.125 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 817 ms +2026-03-14 18:01:11.200 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:01:11.231 INFO [restartedMain] org.hibernate.orm.core : HHH000001: Hibernate ORM core version 7.2.6.Final +2026-03-14 18:01:11.516 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:01:11.534 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 18:01:11.627 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@714e6ef +2026-03-14 18:01:11.628 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 18:01:11.647 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:01:11.663 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 18:01:12.161 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 18:01:12.196 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:01:12.231 INFO [restartedMain] o.s.d.j.r.q.QueryEnhancerFactories : Hibernate is in classpath; If applicable, HQL parser will be used. +2026-03-14 18:01:12.379 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 18:01:12.379 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 18:01:12.442 WARN [restartedMain] o.s.b.j.a.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-14 18:01:12.570 INFO [restartedMain] o.s.v.b.OptionalValidatorFactoryBean : Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. +2026-03-14 18:01:12.757 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:01:12.766 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 18:01:12.770 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.792 seconds (process running for 3.218) +2026-03-14 18:01:52.434 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 18:01:52.438 INFO [Thread-1] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:01:52.439 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:01:52.443 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:01:52.443 INFO [Thread-1] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:01:52.448 INFO [Thread-1] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:01:52.449 INFO [Thread-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 18:01:52.451 INFO [Thread-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 18:01:52.514 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 1484 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:01:52.515 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:01:52.641 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:01:52.649 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 1 JPA repository interface. +2026-03-14 18:01:52.703 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:01:52.703 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:01:52.703 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:01:52.703 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 18:01:52.721 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 205 ms +2026-03-14 18:01:52.738 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:01:52.759 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:01:52.759 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 18:01:52.791 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@197494de +2026-03-14 18:01:52.791 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 18:01:52.797 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:01:52.801 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 18:01:52.828 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 18:01:52.838 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:01:52.875 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 18:01:52.875 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 18:01:52.889 WARN [restartedMain] o.s.b.j.a.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-14 18:01:52.937 INFO [restartedMain] o.s.v.b.OptionalValidatorFactoryBean : Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. +2026-03-14 18:01:52.979 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:01:52.981 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 18:01:52.983 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.486 seconds (process running for 43.431) +2026-03-14 18:01:52.984 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:02:04.447 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:02:04.449 INFO [Thread-5] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:02:04.450 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:02:04.454 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:02:04.454 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:02:04.458 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:02:04.459 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 18:02:04.460 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 18:02:04.522 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 1484 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:02:04.523 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:02:04.636 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:02:04.642 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:02:04.692 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:02:04.692 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:02:04.692 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:02:04.692 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 18:02:04.709 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 185 ms +2026-03-14 18:02:04.725 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:02:04.745 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:02:04.746 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Starting... +2026-03-14 18:02:04.778 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@b1cfa0 +2026-03-14 18:02:04.778 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Start completed. +2026-03-14 18:02:04.783 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:02:04.789 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 18:02:04.813 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 18:02:04.825 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:02:04.857 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 18:02:04.858 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 18:02:04.872 WARN [restartedMain] o.s.b.j.a.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-14 18:02:04.913 INFO [restartedMain] o.s.v.b.OptionalValidatorFactoryBean : Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. +2026-03-14 18:02:04.961 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:02:04.963 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 18:02:04.965 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.459 seconds (process running for 55.413) +2026-03-14 18:02:04.966 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:02:06.138 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:02:06.138 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:02:06.139 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:02:06.441 ERROR [http-nio-8080-exec-10] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +Caused by: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springdoc.core.service.GenericResponseService.lambda$getGenericMapResponse$8(GenericResponseService.java:705) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:196) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:635) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:652) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:658) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:663) + at org.springdoc.core.service.GenericResponseService.getGenericMapResponse(GenericResponseService.java:707) + at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:246) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) + at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) + at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) + at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) + at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) + at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:114) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + ... 82 common frames omitted +2026-03-14 18:02:06.461 WARN [http-nio-8080-exec-10] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)'] +2026-03-14 18:03:50.426 ERROR [http-nio-8080-exec-4] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +Caused by: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springdoc.core.service.GenericResponseService.lambda$getGenericMapResponse$8(GenericResponseService.java:705) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:196) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:635) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:652) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:658) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:663) + at org.springdoc.core.service.GenericResponseService.getGenericMapResponse(GenericResponseService.java:707) + at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:246) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) + at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) + at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) + at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) + at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) + at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:114) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + ... 82 common frames omitted +2026-03-14 18:03:50.428 WARN [http-nio-8080-exec-4] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)'] +2026-03-14 18:03:50.514 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:03:50.515 INFO [Thread-9] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:03:50.516 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:03:50.517 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:03:50.518 INFO [Thread-9] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:03:50.521 INFO [Thread-9] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:03:50.521 INFO [Thread-9] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated... +2026-03-14 18:03:50.523 INFO [Thread-9] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed. +2026-03-14 18:03:50.588 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 1484 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:03:50.588 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:03:50.706 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:03:50.713 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 1 JPA repository interface. +2026-03-14 18:03:50.766 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:03:50.766 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:03:50.766 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:03:50.767 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 18:03:50.785 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 196 ms +2026-03-14 18:03:50.803 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:03:50.825 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:03:50.826 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Starting... +2026-03-14 18:03:50.858 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-4 - Added connection org.postgresql.jdbc.PgConnection@488de79c +2026-03-14 18:03:50.859 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Start completed. +2026-03-14 18:03:50.864 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:03:50.869 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 18:03:50.896 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 18:03:50.906 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:03:50.946 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 18:03:50.946 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 18:03:50.962 WARN [restartedMain] o.s.b.j.a.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-14 18:03:51.011 INFO [restartedMain] o.s.v.b.OptionalValidatorFactoryBean : Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. +2026-03-14 18:03:51.051 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:03:51.053 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 18:03:51.055 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.483 seconds (process running for 161.502) +2026-03-14 18:03:51.055 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:04:12.626 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 2 class path changes (0 additions, 1 deletion, 1 modification) +2026-03-14 18:04:12.627 INFO [Thread-13] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:04:12.627 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:04:12.629 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:04:12.629 INFO [Thread-13] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:04:12.631 INFO [Thread-13] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:04:12.631 INFO [Thread-13] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown initiated... +2026-03-14 18:04:12.632 INFO [Thread-13] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown completed. +2026-03-14 18:04:12.699 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 1484 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:04:12.699 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:04:12.820 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:04:12.826 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:04:12.883 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:04:12.883 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:04:12.884 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:04:12.884 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 18:04:12.896 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 196 ms +2026-03-14 18:04:12.913 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:04:12.935 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:04:12.936 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Starting... +2026-03-14 18:04:13.077 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-5 - Added connection org.postgresql.jdbc.PgConnection@1dd73ace +2026-03-14 18:04:13.077 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Start completed. +2026-03-14 18:04:13.083 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:04:13.089 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 18:04:13.119 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 18:04:13.132 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:04:13.171 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 18:04:13.172 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 18:04:13.189 WARN [restartedMain] o.s.b.j.a.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-14 18:04:13.233 INFO [restartedMain] o.s.v.b.OptionalValidatorFactoryBean : Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. +2026-03-14 18:04:13.275 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:04:13.276 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 18:04:13.278 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.596 seconds (process running for 183.726) +2026-03-14 18:04:13.278 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:04:13.439 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:04:13.439 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:04:13.439 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:04:13.544 ERROR [http-nio-8080-exec-9] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +Caused by: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springdoc.core.service.GenericResponseService.lambda$getGenericMapResponse$8(GenericResponseService.java:705) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:196) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:635) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:652) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:658) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:663) + at org.springdoc.core.service.GenericResponseService.getGenericMapResponse(GenericResponseService.java:707) + at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:246) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) + at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) + at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) + at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) + at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) + at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:114) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + ... 82 common frames omitted +2026-03-14 18:04:13.549 WARN [http-nio-8080-exec-9] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)'] +2026-03-14 18:04:14.686 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 18:04:14.688 INFO [Thread-17] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:04:14.689 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:04:14.695 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:04:14.695 INFO [Thread-17] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:04:14.700 INFO [Thread-17] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:04:14.701 INFO [Thread-17] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown initiated... +2026-03-14 18:04:14.702 INFO [Thread-17] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown completed. +2026-03-14 18:04:14.763 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 1484 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:04:14.763 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:04:14.867 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:04:14.872 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:04:14.918 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:04:14.919 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:04:14.919 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:04:14.919 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 18:04:14.931 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 167 ms +2026-03-14 18:04:14.946 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:04:14.968 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:04:14.968 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Starting... +2026-03-14 18:04:15.114 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-6 - Added connection org.postgresql.jdbc.PgConnection@7447b9da +2026-03-14 18:04:15.114 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Start completed. +2026-03-14 18:04:15.119 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:04:15.124 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 18:04:15.150 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 18:04:15.160 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:04:15.194 INFO [restartedMain] o.s.s.c.a.a.c.InitializeAuthenticationProviderBeanManagerConfigurer$InitializeAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name authenticationProvider +2026-03-14 18:04:15.194 WARN [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR +2026-03-14 18:04:15.209 WARN [restartedMain] o.s.b.j.a.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-14 18:04:15.252 INFO [restartedMain] o.s.v.b.OptionalValidatorFactoryBean : Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. +2026-03-14 18:04:15.287 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:04:15.289 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 18:04:15.290 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.541 seconds (process running for 185.738) +2026-03-14 18:04:15.290 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:04:16.741 INFO [http-nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:04:16.741 INFO [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:04:16.742 INFO [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:04:16.840 ERROR [http-nio-8080-exec-9] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +Caused by: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springdoc.core.service.GenericResponseService.lambda$getGenericMapResponse$8(GenericResponseService.java:705) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:196) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:635) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:652) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:658) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:663) + at org.springdoc.core.service.GenericResponseService.getGenericMapResponse(GenericResponseService.java:707) + at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:246) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) + at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) + at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) + at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) + at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) + at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:114) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + ... 82 common frames omitted +2026-03-14 18:04:16.842 WARN [http-nio-8080-exec-9] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)'] +2026-03-14 18:04:27.045 ERROR [http-nio-8080-exec-10] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +Caused by: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springdoc.core.service.GenericResponseService.lambda$getGenericMapResponse$8(GenericResponseService.java:705) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:196) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:635) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:652) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:658) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:663) + at org.springdoc.core.service.GenericResponseService.getGenericMapResponse(GenericResponseService.java:707) + at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:246) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) + at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) + at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) + at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) + at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) + at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:114) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + ... 82 common frames omitted +2026-03-14 18:04:27.047 WARN [http-nio-8080-exec-10] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)'] +2026-03-14 18:04:33.160 ERROR [http-nio-8080-exec-5] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:132) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:86) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) + at java.base/java.lang.Thread.run(Thread.java:1474) +Caused by: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)' + at org.springdoc.core.service.GenericResponseService.lambda$getGenericMapResponse$8(GenericResponseService.java:705) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:196) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:635) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:652) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:658) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:663) + at org.springdoc.core.service.GenericResponseService.getGenericMapResponse(GenericResponseService.java:707) + at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:246) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) + at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) + at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) + at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) + at java.base/java.util.Optional.ifPresent(Optional.java:178) + at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) + at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) + at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) + at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:114) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) + ... 82 common frames omitted +2026-03-14 18:04:33.161 WARN [http-nio-8080-exec-5] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)'] +2026-03-14 18:05:41.325 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 23 class path changes (0 additions, 22 deletions, 1 modification) +2026-03-14 18:05:41.327 INFO [Thread-21] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:05:41.328 INFO [tomcat-shutdown] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:05:41.329 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:05:41.329 INFO [Thread-21] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:05:41.332 INFO [Thread-21] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:05:41.333 INFO [Thread-21] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Shutdown initiated... +2026-03-14 18:05:41.335 INFO [Thread-21] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Shutdown completed. +2026-03-14 18:05:41.380 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 25.0.2 with PID 1484 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:05:41.380 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:05:41.473 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:05:41.474 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 0 ms. Found 0 JPA repository interfaces. +2026-03-14 18:05:41.514 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:05:41.514 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:05:41.514 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:05:41.514 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.18] +2026-03-14 18:05:41.526 INFO [restartedMain] o.s.b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 145 ms +2026-03-14 18:05:41.544 INFO [restartedMain] org.hibernate.orm.jpa : HHH008540: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:05:41.561 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:05:41.561 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Starting... +2026-03-14 18:05:41.709 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-7 - Added connection org.postgresql.jdbc.PgConnection@12715297 +2026-03-14 18:05:41.709 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Start completed. +2026-03-14 18:05:41.715 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:05:41.719 INFO [restartedMain] o.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [jdbc:postgresql://localhost:58677/temp] + Database driver: PostgreSQL JDBC Driver + Database dialect: PostgreSQLDialect + Database version: 18.3 + Default catalog/schema: temp/public + Autocommit mode: undefined/unknown + Isolation level: READ_COMMITTED [default READ_COMMITTED] + JDBC fetch size: none + Pool: DataSourceConnectionProvider + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2026-03-14 18:05:41.730 INFO [restartedMain] org.hibernate.orm.core : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2026-03-14 18:05:41.730 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:05:41.749 WARN [restartedMain] o.s.b.j.a.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-14 18:05:41.756 INFO [restartedMain] o.s.v.b.OptionalValidatorFactoryBean : Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. +2026-03-14 18:05:41.803 WARN [restartedMain] o.s.b.s.a.UserDetailsServiceAutoConfiguration : + +Using generated security password: dd589d58-a6f3-451c-be64-33c8e221891a + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2026-03-14 18:05:41.810 INFO [restartedMain] o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2026-03-14 18:05:41.855 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:05:41.856 INFO [restartedMain] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2026-03-14 18:05:41.858 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.492 seconds (process running for 272.305) +2026-03-14 18:05:41.860 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + ServletWebSecurityAutoConfiguration.EnableWebSecurityConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) + - @ConditionalOnMissingBean (names: springSecurityFilterChain; SearchStrategy: all) did not find any beans (OnBeanCondition) + + ServletWebSecurityAutoConfiguration.SecurityFilterChainConfiguration matched: + - AllNestedConditions 2 matched 0 did not; NestedCondition on DefaultWebSecurityCondition.Beans @ConditionalOnMissingBean (types: org.springframework.security.web.SecurityFilterChain; SearchStrategy: all) did not find any beans; NestedCondition on DefaultWebSecurityCondition.Classes @ConditionalOnClass found required classes 'org.springframework.security.web.SecurityFilterChain', 'org.springframework.security.config.annotation.web.builders.HttpSecurity' (DefaultWebSecurityCondition) + + UserDetailsServiceAutoConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.security.authentication.AuthenticationManager' (OnClassCondition) + - found 'session' scope (OnWebApplicationCondition) + - AnyNestedCondition 1 matched 2 did not; NestedCondition on MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured.PasswordConfigured @ConditionalOnProperty (spring.security.user.password) did not find property 'spring.security.user.password'; NestedCondition on MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured.NameConfigured @ConditionalOnProperty (spring.security.user.name) did not find property 'spring.security.user.name'; NestedCondition on MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured.MissingAlternative @ConditionalOnMissingClass did not find unwanted classes 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository', 'org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector', 'org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepository' (MissingAlternativeUserDetailsManagerOrUserPropertiesConfigured) + - @ConditionalOnMissingBean (types: org.springframework.security.authentication.AuthenticationManager,org.springframework.security.authentication.AuthenticationProvider,org.springframework.security.core.userdetails.UserDetailsService,org.springframework.security.authentication.AuthenticationManagerResolver,org.springframework.security.oauth2.jwt.JwtDecoder; SearchStrategy: all) did not find any beans (OnBeanCondition) + + +Negative matches: +----------------- + + None + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:06:03.051 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:06:03.052 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:06:03.053 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:08:06.613 INFO [SpringApplicationShutdownHook] o.s.boot.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2026-03-14 18:08:06.615 INFO [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown : Graceful shutdown complete +2026-03-14 18:08:06.617 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:08:06.617 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Shutdown initiated... +2026-03-14 18:08:06.618 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Shutdown completed. +2026-03-14 18:19:25.127 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 5808 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:19:25.129 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:19:25.155 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 18:19:25.155 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 18:19:25.602 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:19:25.637 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 28 ms. Found 1 JPA repository interface. +2026-03-14 18:19:25.976 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:19:25.982 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:19:25.983 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:19:25.984 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:19:26.015 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:19:26.015 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 860 ms +2026-03-14 18:19:26.087 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:19:26.116 INFO [restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final +2026-03-14 18:19:26.135 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:19:26.270 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:19:26.287 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 18:19:26.397 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@635f0503 +2026-03-14 18:19:26.398 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 18:19:26.420 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:19:27.017 INFO [restartedMain] 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-14 18:19:27.056 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:19:27.386 WARN [restartedMain] o.s.b.a.o.j.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-14 18:19:27.699 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@2757b56d, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@78935370, org.springframework.security.web.context.SecurityContextHolderFilter@6e0dab28, org.springframework.security.web.header.HeaderWriterFilter@264f5cf8, org.springframework.web.filter.CorsFilter@40e281ed, org.springframework.security.web.csrf.CsrfFilter@1c579a02, org.springframework.security.web.authentication.logout.LogoutFilter@3263a0bc, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@70f39c48, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@3b26d307, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@75d97667, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@6357999e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7fd250eb, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1558e0fd, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6f3f596c, org.springframework.security.web.access.ExceptionTranslationFilter@21eb6f49, org.springframework.security.web.access.intercept.AuthorizationFilter@3a46dab8] +2026-03-14 18:19:27.737 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:19:27.756 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:19:27.767 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:19:27.773 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.942 seconds (process running for 3.674) +2026-03-14 18:20:53.483 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:20:53.485 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 18:20:53.487 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 18:20:56.517 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:20:56.518 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:20:56.547 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 18:20:56.547 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 18:20:56.988 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:20:57.021 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 27 ms. Found 1 JPA repository interface. +2026-03-14 18:20:57.359 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:20:57.365 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:20:57.368 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:20:57.368 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:20:57.400 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:20:57.400 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 852 ms +2026-03-14 18:20:57.470 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:20:57.501 INFO [restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final +2026-03-14 18:20:57.519 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:20:57.666 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:20:57.682 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 18:20:57.776 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@7b71620e +2026-03-14 18:20:57.777 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 18:20:57.798 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:20:58.294 INFO [restartedMain] 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-14 18:20:58.328 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:20:58.636 WARN [restartedMain] o.s.b.a.o.j.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-14 18:20:58.901 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@14f97d31, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@53064615, org.springframework.security.web.context.SecurityContextHolderFilter@f1e42d9, org.springframework.security.web.header.HeaderWriterFilter@7a24ad1f, org.springframework.web.filter.CorsFilter@6daead3b, org.springframework.security.web.csrf.CsrfFilter@7d51deeb, org.springframework.security.web.authentication.logout.LogoutFilter@330843cb, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@2c3384e1, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@6639db8a, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@658bb9d0, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@4d31513a, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@29755f9, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@485695db, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3a4450a5, org.springframework.security.web.access.ExceptionTranslationFilter@32052dc7, org.springframework.security.web.access.intercept.AuthorizationFilter@ca83e3f] +2026-03-14 18:20:58.927 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:20:58.937 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:20:58.947 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:20:58.952 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.747 seconds (process running for 3.157) +2026-03-14 18:22:05.981 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:22:05.981 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:22:05.981 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:24:23.383 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 2 class path changes (1 addition, 1 deletion, 0 modifications) +2026-03-14 18:24:23.386 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:24:23.392 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:24:23.394 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 18:24:23.396 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 18:24:23.454 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:24:23.454 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:24:23.588 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:24:23.595 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 7 ms. Found 1 JPA repository interface. +2026-03-14 18:24:23.679 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:24:23.680 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:24:23.681 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:24:23.681 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:24:23.693 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:24:23.693 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 238 ms +2026-03-14 18:24:23.716 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:24:23.718 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:24:23.721 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:24:23.721 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 18:24:23.754 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@2bfdef9c +2026-03-14 18:24:23.754 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 18:24:23.760 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:24:23.786 INFO [restartedMain] 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-14 18:24:23.797 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:24:23.886 WARN [restartedMain] o.s.b.a.o.j.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-14 18:24:23.930 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@5512040e, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@530fc129, org.springframework.security.web.context.SecurityContextHolderFilter@5af07198, org.springframework.security.web.header.HeaderWriterFilter@4151edcc, org.springframework.web.filter.CorsFilter@72b34fbf, org.springframework.security.web.authentication.logout.LogoutFilter@4900f203, com.boot.bootTemplate.security.JwtAuthenticationFilter@3ff74aee, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1401c887, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5e4078d, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@aeb7cea, org.springframework.security.web.session.SessionManagementFilter@506bff5f, org.springframework.security.web.access.ExceptionTranslationFilter@75ffeddf, org.springframework.security.web.access.intercept.AuthorizationFilter@1bcc6d9e] +2026-03-14 18:24:23.982 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:24:23.989 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:24:23.990 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:24:23.993 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.56 seconds (process running for 208.197) +2026-03-14 18:24:23.995 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + None + + +Negative matches: +----------------- + + SpringBootWebSecurityConfiguration.SecurityFilterChainConfiguration: + Did not match: + - AllNestedConditions 1 matched 1 did not; NestedCondition on DefaultWebSecurityCondition.Beans @ConditionalOnMissingBean (types: org.springframework.security.web.SecurityFilterChain; SearchStrategy: all) found beans of type 'org.springframework.security.web.SecurityFilterChain' securityFilterChain; NestedCondition on DefaultWebSecurityCondition.Classes @ConditionalOnClass found required classes 'org.springframework.security.web.SecurityFilterChain', 'org.springframework.security.config.annotation.web.builders.HttpSecurity' (DefaultWebSecurityCondition) + + SpringBootWebSecurityConfiguration.WebSecurityEnablerConfiguration: + Did not match: + - @ConditionalOnMissingBean (names: springSecurityFilterChain; SearchStrategy: all) found beans named springSecurityFilterChain (OnBeanCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:24:24.110 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:24:24.110 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:24:24.111 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:24:32.595 INFO [http-nio-8080-exec-3] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 126 ms +2026-03-14 18:25:52.295 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:25:52.298 INFO [Thread-7] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:25:52.302 INFO [Thread-7] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:25:52.303 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 18:25:52.304 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 18:25:52.363 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:25:52.363 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:25:52.459 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:25:52.464 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:25:52.515 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:25:52.515 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:25:52.516 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:25:52.516 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:25:52.526 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:25:52.526 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 162 ms +2026-03-14 18:25:52.545 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:25:52.546 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:25:52.549 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:25:52.550 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Starting... +2026-03-14 18:25:52.693 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@3f49cbf8 +2026-03-14 18:25:52.693 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Start completed. +2026-03-14 18:25:52.698 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:25:52.721 INFO [restartedMain] 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-14 18:25:52.733 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:25:52.791 WARN [restartedMain] o.s.b.a.o.j.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-14 18:25:52.829 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@451aa6e6, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@caf00c3, org.springframework.security.web.context.SecurityContextHolderFilter@5938f7bf, org.springframework.security.web.header.HeaderWriterFilter@5dcb52cc, org.springframework.web.filter.CorsFilter@75bb4d8d, org.springframework.security.web.authentication.logout.LogoutFilter@1aea62c4, com.boot.bootTemplate.security.JwtAuthenticationFilter@149699a8, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3cdd00ab, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3b8768ce, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2604e7b, org.springframework.security.web.session.SessionManagementFilter@77b90e0a, org.springframework.security.web.access.ExceptionTranslationFilter@75a2044f, org.springframework.security.web.access.intercept.AuthorizationFilter@4e272160] +2026-03-14 18:25:52.859 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:25:52.864 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:25:52.866 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:25:52.868 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.521 seconds (process running for 297.072) +2026-03-14 18:25:52.869 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + None + + +Negative matches: +----------------- + + SpringDocConfigProperties: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + + SpringDocConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocPageableConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Pageable' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocSecurityConfiguration: + Did not match: + - @ConditionalOnExpression (#{${springdoc.api-docs.enabled:true} and ${springdoc.enable-spring-security:true}}) resulted in false (OnExpressionCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.security.web.SecurityFilterChain' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocSortConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Sort' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocUIConfiguration: + Did not match: + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) did not find any beans of type org.springdoc.core.configuration.SpringDocConfiguration (OnBeanCondition) + Matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocWebMvcConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - found 'session' scope (OnWebApplicationCondition) + + SwaggerConfig: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + Matched: + - found 'session' scope (OnWebApplicationCondition) + + SwaggerUiConfigParameters: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + + SwaggerUiConfigProperties: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + + SwaggerUiOAuthProperties: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:26:16.071 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:26:16.072 INFO [Thread-11] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:26:16.075 INFO [Thread-11] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:26:16.076 INFO [Thread-11] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated... +2026-03-14 18:26:16.077 INFO [Thread-11] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed. +2026-03-14 18:26:16.130 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:26:16.131 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:26:16.228 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:26:16.233 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:26:16.284 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:26:16.284 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:26:16.285 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:26:16.285 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:26:16.295 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:26:16.296 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 165 ms +2026-03-14 18:26:16.315 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:26:16.317 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:26:16.319 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:26:16.320 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Starting... +2026-03-14 18:26:16.354 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-4 - Added connection org.postgresql.jdbc.PgConnection@725f6d9f +2026-03-14 18:26:16.354 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Start completed. +2026-03-14 18:26:16.360 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:26:16.381 INFO [restartedMain] 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-14 18:26:16.391 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:26:16.435 WARN [restartedMain] o.s.b.a.o.j.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-14 18:26:16.468 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@425d238, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@25135a3e, org.springframework.security.web.context.SecurityContextHolderFilter@4ae538c3, org.springframework.security.web.header.HeaderWriterFilter@605d77c, org.springframework.web.filter.CorsFilter@4c277d06, org.springframework.security.web.authentication.logout.LogoutFilter@5aaf771d, com.boot.bootTemplate.security.JwtAuthenticationFilter@6d9b350, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@79d316ea, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@51c5809b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3cc33080, org.springframework.security.web.session.SessionManagementFilter@b5c63db, org.springframework.security.web.access.ExceptionTranslationFilter@2b531ad7, org.springframework.security.web.access.intercept.AuthorizationFilter@4616c052] +2026-03-14 18:26:16.494 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:26:16.499 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:26:16.500 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:26:16.502 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.387 seconds (process running for 320.707) +2026-03-14 18:26:16.503 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:26:27.292 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:26:27.292 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:26:27.293 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:26:27.297 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:26:27.305 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui.] +2026-03-14 18:26:34.321 ERROR [http-nio-8080-exec-3] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui/index.html. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:26:34.323 WARN [http-nio-8080-exec-3] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui/index.html.] +2026-03-14 18:26:48.547 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:26:48.549 INFO [Thread-15] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:26:48.551 INFO [Thread-15] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:26:48.551 INFO [Thread-15] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown initiated... +2026-03-14 18:26:48.552 INFO [Thread-15] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown completed. +2026-03-14 18:26:48.610 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:26:48.610 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:26:48.719 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:26:48.724 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:26:48.778 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:26:48.778 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:26:48.778 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:26:48.778 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:26:48.789 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:26:48.789 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 178 ms +2026-03-14 18:26:48.808 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:26:48.810 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:26:48.813 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:26:48.813 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Starting... +2026-03-14 18:26:48.847 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-5 - Added connection org.postgresql.jdbc.PgConnection@7a15160b +2026-03-14 18:26:48.847 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Start completed. +2026-03-14 18:26:48.852 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:26:48.872 INFO [restartedMain] 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-14 18:26:48.883 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:26:48.948 WARN [restartedMain] o.s.b.a.o.j.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-14 18:26:48.982 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@7c054cca, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@43834a56, org.springframework.security.web.context.SecurityContextHolderFilter@6ea83fa1, org.springframework.security.web.header.HeaderWriterFilter@57fd873c, org.springframework.web.filter.CorsFilter@5962c15f, org.springframework.security.web.authentication.logout.LogoutFilter@7938c03c, com.boot.bootTemplate.security.JwtAuthenticationFilter@7958d522, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5c78147e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6707acaa, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5db22c39, org.springframework.security.web.session.SessionManagementFilter@716cc54, org.springframework.security.web.access.ExceptionTranslationFilter@13c424de, org.springframework.security.web.access.intercept.AuthorizationFilter@3fc76268] +2026-03-14 18:26:49.029 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:26:49.035 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:26:49.037 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:26:49.039 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.444 seconds (process running for 353.244) +2026-03-14 18:26:49.040 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + SpringDocConfigProperties matched: + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocConfiguration matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + + SpringDocConfiguration#fileSupportConverter matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.FileSupportConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#openAPIBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.OpenAPIService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#operationBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.OperationService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#parameterBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.GenericParameterService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#polymorphicModelConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.polymorphic-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.PolymorphicModelConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#requestBodyBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.RequestBodyService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#responseSupportConverter matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.ResponseSupportConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#schemaPropertyDeprecatingConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.deprecating-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.SchemaPropertyDeprecatingConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#securityParser matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.SecurityService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#springDocCustomizers matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.SpringDocCustomizers; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#springDocProviders matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringDocProviders; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#springdocObjectMapperProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.ObjectMapperProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration.QuerydslProvider matched: + - @ConditionalOnClass found required class 'org.springframework.data.querydsl.binding.QuerydslBindingsFactory' (OnClassCondition) + + SpringDocConfiguration.QuerydslProvider#queryDslQuerydslPredicateOperationCustomizer matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.QuerydslPredicateOperationCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration.SpringDocSpringDataWebPropertiesProvider matched: + - @ConditionalOnClass found required class 'org.springframework.boot.autoconfigure.data.web.SpringDataWebProperties' (OnClassCondition) + + SpringDocConfiguration.SpringDocSpringDataWebPropertiesProvider#springDataWebPropertiesProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringDataWebPropertiesProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration.WebConversionServiceConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.boot.autoconfigure.web.format.WebConversionService' (OnClassCondition) + + SpringDocPageableConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Pageable' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocPageableConfiguration#delegatingMethodParameterCustomizer matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.DelegatingMethodParameterCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocPageableConfiguration#pageableOpenAPIConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.pageable-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.PageableOpenAPIConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocSecurityConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.security.web.SecurityFilterChain' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnExpression (#{${springdoc.api-docs.enabled:true} and ${springdoc.enable-spring-security:true}}) resulted in true (OnExpressionCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocSecurityConfiguration.SpringSecurityLoginEndpointConfiguration matched: + - @ConditionalOnClass found required class 'jakarta.servlet.Filter' (OnClassCondition) + + SpringDocSortConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Sort' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocSortConfiguration#sortOpenAPIConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.sort-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.SortOpenAPIConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocUIConfiguration matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocWebMvcConfiguration matched: + - found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocWebMvcConfiguration#openApiResource matched: + - @ConditionalOnProperty (springdoc.use-management-port=false) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.api.OpenApiWebMvcResource; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration#requestBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.core.service.RequestService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration#responseBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.GenericResponseService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration#springWebProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringWebProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration.SpringDocWebMvcRouterConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.web.servlet.function.RouterFunction' (OnClassCondition) + + SpringDocWebMvcConfiguration.SpringDocWebMvcRouterConfiguration#routerFunctionProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.core.providers.RouterFunctionWebMvcProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig matched: + - found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SwaggerConfig#indexPageTransformer matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerIndexTransformer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerConfigResource matched: + - @ConditionalOnProperty (springdoc.use-management-port=false) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerConfigResource; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerResourceResolver matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerResourceResolver; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerWebMvcConfigurer matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerWebMvcConfigurer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerWelcome matched: + - @ConditionalOnProperty (springdoc.use-management-port=false) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerWelcomeWebMvc; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerUiConfigParameters matched: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SwaggerUiConfigProperties matched: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SwaggerUiOAuthProperties matched: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + +Negative matches: +----------------- + + MultipleOpenApiSupportConfiguration.SpringDocWebMvcActuatorDifferentConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping' (OnClassCondition) + - Ancestor org.springdoc.webmvc.core.configuration.MultipleOpenApiSupportConfiguration did not match (ConditionEvaluationReport.AncestorsMatchedCondition) + + SpringDocConfiguration#propertiesResolverForSchema: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.resolve-schema-properties) did not find property 'springdoc.api-docs.resolve-schema-properties' (OnPropertyCondition) + + SpringDocConfiguration#propertyCustomizingConverter: + Did not match: + - @ConditionalOnBean (types: org.springdoc.core.customizers.PropertyCustomizer; SearchStrategy: all) did not find any beans of type org.springdoc.core.customizers.PropertyCustomizer (OnBeanCondition) + + SpringDocConfiguration#springdocBeanFactoryPostProcessor: + Did not match: + - AnyNestedCondition 0 matched 2 did not; NestedCondition on CacheOrGroupedOpenApiCondition.OnCacheDisabled found non-matching nested conditions @ConditionalOnProperty (springdoc.cache.disabled) did not find property 'springdoc.cache.disabled'; NestedCondition on CacheOrGroupedOpenApiCondition.OnMultipleOpenApiSupportCondition AnyNestedCondition 0 matched 2 did not; NestedCondition on MultipleOpenApiSupportCondition.OnActuatorDifferentPort @ConditionalOnProperty (springdoc.show-actuator) did not find property 'springdoc.show-actuator'; NestedCondition on MultipleOpenApiSupportCondition.OnMultipleOpenApiSupportCondition AnyNestedCondition 0 matched 2 did not; NestedCondition on MultipleOpenApiGroupsCondition.OnGroupConfigProperty @ConditionalOnProperty (springdoc.group-configs[0].group) did not find property 'springdoc.group-configs[0].group'; NestedCondition on MultipleOpenApiGroupsCondition.OnGroupedOpenApiBean @ConditionalOnBean (types: org.springdoc.core.models.GroupedOpenApi; SearchStrategy: all) did not find any beans of type org.springdoc.core.models.GroupedOpenApi (CacheOrGroupedOpenApiCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.boot.context.properties.bind.BindResult' (OnClassCondition) + + SpringDocConfiguration#springdocBeanFactoryPostProcessor2: + Did not match: + - @ConditionalOnMissingClass found unwanted class 'org.springframework.boot.context.properties.bind.BindResult' (OnClassCondition) + + SpringDocConfiguration.SpringDocActuatorConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties' (OnClassCondition) + + SpringDocConfiguration.SpringDocRepositoryRestConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.data.rest.core.config.RepositoryRestConfiguration' (OnClassCondition) + + SpringDocConfiguration.SpringDocWebFluxSupportConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) + + SpringDocSecurityConfiguration.SpringDocSecurityOAuth2Configuration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService' (OnClassCondition) + + SpringDocSecurityConfiguration.SpringSecurityLoginEndpointConfiguration#springSecurityLoginEndpointCustomiser: + Did not match: + - @ConditionalOnProperty (springdoc.show-login-endpoint) did not find property 'springdoc.show-login-endpoint' (OnPropertyCondition) + + SpringDocSortConfiguration#delegatingMethodParameterCustomizer: + Did not match: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.DelegatingMethodParameterCustomizer; SearchStrategy: all) found beans of type 'org.springdoc.core.customizers.DelegatingMethodParameterCustomizer' delegatingMethodParameterCustomizer (OnBeanCondition) + + SpringDocWebMvcConfiguration.SpringDocWebMvcActuatorConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping' (OnClassCondition) + + SwaggerConfig#springWebProvider: + Did not match: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringWebProvider; SearchStrategy: all) found beans of type 'org.springdoc.core.providers.SpringWebProvider' springWebProvider (OnBeanCondition) + + SwaggerConfig#swaggerUiConfigParameters: + Did not match: + - @ConditionalOnMissingBean (types: org.springdoc.core.properties.SwaggerUiConfigParameters; SearchStrategy: all) found beans of type 'org.springdoc.core.properties.SwaggerUiConfigParameters' org.springdoc.core.properties.SwaggerUiConfigParameters (OnBeanCondition) + + SwaggerConfig#swaggerUiHome: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.use-root-path=true) did not find property 'springdoc.swagger-ui.use-root-path' (OnPropertyCondition) + + SwaggerConfig.SwaggerActuatorWelcomeConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping' (OnClassCondition) + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:26:49.092 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:26:49.092 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:26:49.092 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:26:49.261 INFO [http-nio-8080-exec-3] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 28 ms +2026-03-14 18:27:19.065 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:27:19.068 INFO [Thread-19] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:27:19.078 INFO [Thread-19] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:27:19.079 INFO [Thread-19] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown initiated... +2026-03-14 18:27:19.080 INFO [Thread-19] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown completed. +2026-03-14 18:27:19.134 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:27:19.135 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:27:19.240 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:27:19.245 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:27:19.294 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:27:19.295 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:27:19.295 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:27:19.295 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:27:19.305 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:27:19.305 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 170 ms +2026-03-14 18:27:19.323 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:27:19.325 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:27:19.327 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:27:19.327 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Starting... +2026-03-14 18:27:19.359 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-6 - Added connection org.postgresql.jdbc.PgConnection@22efb1af +2026-03-14 18:27:19.359 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Start completed. +2026-03-14 18:27:19.364 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:27:19.386 INFO [restartedMain] 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-14 18:27:19.396 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:27:19.459 WARN [restartedMain] o.s.b.a.o.j.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-14 18:27:19.491 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@28e75238, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5487e642, org.springframework.security.web.context.SecurityContextHolderFilter@501f64c5, org.springframework.security.web.header.HeaderWriterFilter@3f430cc, org.springframework.web.filter.CorsFilter@640b412a, org.springframework.security.web.authentication.logout.LogoutFilter@4f36754b, com.boot.bootTemplate.security.JwtAuthenticationFilter@46a225e5, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@34eab9c5, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@16ba8dc4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2585c730, org.springframework.security.web.session.SessionManagementFilter@7f91bfaa, org.springframework.security.web.access.ExceptionTranslationFilter@5b67eec5, org.springframework.security.web.access.intercept.AuthorizationFilter@6c65a54e] +2026-03-14 18:27:19.530 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:27:19.536 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:27:19.538 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:27:19.540 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.42 seconds (process running for 383.744) +2026-03-14 18:27:19.541 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:29:19.832 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:29:19.833 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:29:19.833 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:29:19.945 INFO [http-nio-8080-exec-9] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 26 ms +2026-03-14 18:29:20.325 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 2 class path changes (0 additions, 1 deletion, 1 modification) +2026-03-14 18:29:20.325 INFO [Thread-23] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:29:20.328 INFO [Thread-23] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:29:20.328 INFO [Thread-23] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Shutdown initiated... +2026-03-14 18:29:20.329 INFO [Thread-23] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Shutdown completed. +2026-03-14 18:29:20.387 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:29:20.387 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:29:20.493 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:29:20.498 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 18:29:20.552 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:29:20.553 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:29:20.553 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:29:20.553 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:29:20.565 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:29:20.565 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 177 ms +2026-03-14 18:29:20.585 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:29:20.587 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:29:20.590 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:29:20.591 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Starting... +2026-03-14 18:29:20.729 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-7 - Added connection org.postgresql.jdbc.PgConnection@7988dd4e +2026-03-14 18:29:20.729 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Start completed. +2026-03-14 18:29:20.735 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:29:20.755 INFO [restartedMain] 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-14 18:29:20.767 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:29:20.826 WARN [restartedMain] o.s.b.a.o.j.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-14 18:29:20.865 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@271c8399, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@26a45fd, org.springframework.security.web.context.SecurityContextHolderFilter@7130dac9, org.springframework.security.web.header.HeaderWriterFilter@69c01095, org.springframework.web.filter.CorsFilter@34e24bbc, org.springframework.security.web.authentication.logout.LogoutFilter@78dbb106, com.boot.bootTemplate.security.JwtAuthenticationFilter@25aaf17f, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3b4566af, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@52e89dea, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1a5a3c4b, org.springframework.security.web.session.SessionManagementFilter@b5ad4af, org.springframework.security.web.access.ExceptionTranslationFilter@6515f55d, org.springframework.security.web.access.intercept.AuthorizationFilter@7e2a179c] +2026-03-14 18:29:20.892 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:29:20.897 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:29:20.899 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:29:20.900 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.529 seconds (process running for 505.104) +2026-03-14 18:29:20.901 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + None + + +Negative matches: +----------------- + + SpringDocConfigProperties: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + + SpringDocConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocPageableConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Pageable' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocSecurityConfiguration: + Did not match: + - @ConditionalOnExpression (#{${springdoc.api-docs.enabled:true} and ${springdoc.enable-spring-security:true}}) resulted in false (OnExpressionCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.security.web.SecurityFilterChain' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocSortConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Sort' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocUIConfiguration: + Did not match: + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) did not find any beans of type org.springdoc.core.configuration.SpringDocConfiguration (OnBeanCondition) + Matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocWebMvcConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - found 'session' scope (OnWebApplicationCondition) + + SwaggerConfig: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + Matched: + - found 'session' scope (OnWebApplicationCondition) + + SwaggerUiConfigParameters: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + + SwaggerUiConfigProperties: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + + SwaggerUiOAuthProperties: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:29:21.967 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:29:21.967 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:29:21.967 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:29:21.969 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui/index.html. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:29:21.973 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui/index.html.] +2026-03-14 18:29:22.324 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 18:29:22.325 INFO [Thread-27] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:29:22.327 INFO [Thread-27] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:29:22.328 INFO [Thread-27] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Shutdown initiated... +2026-03-14 18:29:22.329 INFO [Thread-27] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Shutdown completed. +2026-03-14 18:29:22.382 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:29:22.382 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:29:22.474 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:29:22.479 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:29:22.524 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:29:22.524 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:29:22.524 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:29:22.524 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:29:22.535 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:29:22.535 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 152 ms +2026-03-14 18:29:22.553 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:29:22.555 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:29:22.557 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:29:22.558 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-8 - Starting... +2026-03-14 18:29:22.706 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-8 - Added connection org.postgresql.jdbc.PgConnection@1919e1fa +2026-03-14 18:29:22.706 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-8 - Start completed. +2026-03-14 18:29:22.711 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:29:22.729 INFO [restartedMain] 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-14 18:29:22.741 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:29:22.798 WARN [restartedMain] o.s.b.a.o.j.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-14 18:29:22.834 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@42391650, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@9e0ac8e, org.springframework.security.web.context.SecurityContextHolderFilter@695459e0, org.springframework.security.web.header.HeaderWriterFilter@356e8ca4, org.springframework.web.filter.CorsFilter@544f303e, org.springframework.security.web.authentication.logout.LogoutFilter@50536839, com.boot.bootTemplate.security.JwtAuthenticationFilter@353f9b48, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@46501199, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@79abe5b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@bbfd673, org.springframework.security.web.session.SessionManagementFilter@69342da, org.springframework.security.web.access.ExceptionTranslationFilter@7b1a863d, org.springframework.security.web.access.intercept.AuthorizationFilter@44737b87] +2026-03-14 18:29:22.860 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:29:22.865 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:29:22.867 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:29:22.868 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.5 seconds (process running for 507.073) +2026-03-14 18:29:22.869 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:29:37.519 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:29:37.519 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:29:37.520 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:29:37.523 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui/index.html. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:29:37.526 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui/index.html.] +2026-03-14 18:29:38.585 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:29:38.588 INFO [Thread-31] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:29:38.591 INFO [Thread-31] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:29:38.591 INFO [Thread-31] com.zaxxer.hikari.HikariDataSource : HikariPool-8 - Shutdown initiated... +2026-03-14 18:29:38.593 INFO [Thread-31] com.zaxxer.hikari.HikariDataSource : HikariPool-8 - Shutdown completed. +2026-03-14 18:29:38.647 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:29:38.647 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:29:38.755 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:29:38.760 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:29:38.812 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:29:38.813 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:29:38.813 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:29:38.813 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:29:38.824 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:29:38.824 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 176 ms +2026-03-14 18:29:38.843 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:29:38.845 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:29:38.848 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:29:38.848 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-9 - Starting... +2026-03-14 18:29:38.881 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-9 - Added connection org.postgresql.jdbc.PgConnection@45ca3fc9 +2026-03-14 18:29:38.881 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-9 - Start completed. +2026-03-14 18:29:38.886 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:29:38.906 INFO [restartedMain] 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-14 18:29:38.917 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:29:38.980 WARN [restartedMain] o.s.b.a.o.j.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-14 18:29:39.013 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@aefcbb, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3b189514, org.springframework.security.web.context.SecurityContextHolderFilter@d147f46, org.springframework.security.web.header.HeaderWriterFilter@48e32455, org.springframework.web.filter.CorsFilter@45f1e97e, org.springframework.security.web.authentication.logout.LogoutFilter@432f145e, com.boot.bootTemplate.security.JwtAuthenticationFilter@1c777b44, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1445ec22, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4555b373, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6433e40d, org.springframework.security.web.session.SessionManagementFilter@549f81a2, org.springframework.security.web.access.ExceptionTranslationFilter@5c18aa0c, org.springframework.security.web.access.intercept.AuthorizationFilter@10963eab] +2026-03-14 18:29:39.059 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:29:39.065 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:29:39.067 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:29:39.069 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.435 seconds (process running for 523.274) +2026-03-14 18:29:39.070 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + SpringDocConfigProperties matched: + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocConfiguration matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + + SpringDocConfiguration#fileSupportConverter matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.FileSupportConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#openAPIBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.OpenAPIService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#operationBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.OperationService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#parameterBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.GenericParameterService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#polymorphicModelConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.polymorphic-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.PolymorphicModelConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#requestBodyBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.RequestBodyService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#responseSupportConverter matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.ResponseSupportConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#schemaPropertyDeprecatingConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.deprecating-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.SchemaPropertyDeprecatingConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#securityParser matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.SecurityService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#springDocCustomizers matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.SpringDocCustomizers; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#springDocProviders matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringDocProviders; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#springdocObjectMapperProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.ObjectMapperProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration.QuerydslProvider matched: + - @ConditionalOnClass found required class 'org.springframework.data.querydsl.binding.QuerydslBindingsFactory' (OnClassCondition) + + SpringDocConfiguration.QuerydslProvider#queryDslQuerydslPredicateOperationCustomizer matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.QuerydslPredicateOperationCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration.SpringDocSpringDataWebPropertiesProvider matched: + - @ConditionalOnClass found required class 'org.springframework.boot.autoconfigure.data.web.SpringDataWebProperties' (OnClassCondition) + + SpringDocConfiguration.SpringDocSpringDataWebPropertiesProvider#springDataWebPropertiesProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringDataWebPropertiesProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration.WebConversionServiceConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.boot.autoconfigure.web.format.WebConversionService' (OnClassCondition) + + SpringDocPageableConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Pageable' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocPageableConfiguration#delegatingMethodParameterCustomizer matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.DelegatingMethodParameterCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocPageableConfiguration#pageableOpenAPIConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.pageable-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.PageableOpenAPIConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocSecurityConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.security.web.SecurityFilterChain' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnExpression (#{${springdoc.api-docs.enabled:true} and ${springdoc.enable-spring-security:true}}) resulted in true (OnExpressionCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocSecurityConfiguration.SpringSecurityLoginEndpointConfiguration matched: + - @ConditionalOnClass found required class 'jakarta.servlet.Filter' (OnClassCondition) + + SpringDocSortConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Sort' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocSortConfiguration#sortOpenAPIConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.sort-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.SortOpenAPIConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocUIConfiguration matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocWebMvcConfiguration matched: + - found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocWebMvcConfiguration#openApiResource matched: + - @ConditionalOnProperty (springdoc.use-management-port=false) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.api.OpenApiWebMvcResource; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration#requestBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.core.service.RequestService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration#responseBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.GenericResponseService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration#springWebProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringWebProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration.SpringDocWebMvcRouterConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.web.servlet.function.RouterFunction' (OnClassCondition) + + SpringDocWebMvcConfiguration.SpringDocWebMvcRouterConfiguration#routerFunctionProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.core.providers.RouterFunctionWebMvcProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig matched: + - found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SwaggerConfig#indexPageTransformer matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerIndexTransformer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerConfigResource matched: + - @ConditionalOnProperty (springdoc.use-management-port=false) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerConfigResource; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerResourceResolver matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerResourceResolver; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerWebMvcConfigurer matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerWebMvcConfigurer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerWelcome matched: + - @ConditionalOnProperty (springdoc.use-management-port=false) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerWelcomeWebMvc; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerUiConfigParameters matched: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SwaggerUiConfigProperties matched: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SwaggerUiOAuthProperties matched: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + +Negative matches: +----------------- + + MultipleOpenApiSupportConfiguration.SpringDocWebMvcActuatorDifferentConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping' (OnClassCondition) + - Ancestor org.springdoc.webmvc.core.configuration.MultipleOpenApiSupportConfiguration did not match (ConditionEvaluationReport.AncestorsMatchedCondition) + + SpringDocConfiguration#propertiesResolverForSchema: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.resolve-schema-properties) did not find property 'springdoc.api-docs.resolve-schema-properties' (OnPropertyCondition) + + SpringDocConfiguration#propertyCustomizingConverter: + Did not match: + - @ConditionalOnBean (types: org.springdoc.core.customizers.PropertyCustomizer; SearchStrategy: all) did not find any beans of type org.springdoc.core.customizers.PropertyCustomizer (OnBeanCondition) + + SpringDocConfiguration#springdocBeanFactoryPostProcessor: + Did not match: + - AnyNestedCondition 0 matched 2 did not; NestedCondition on CacheOrGroupedOpenApiCondition.OnCacheDisabled found non-matching nested conditions @ConditionalOnProperty (springdoc.cache.disabled) did not find property 'springdoc.cache.disabled'; NestedCondition on CacheOrGroupedOpenApiCondition.OnMultipleOpenApiSupportCondition AnyNestedCondition 0 matched 2 did not; NestedCondition on MultipleOpenApiSupportCondition.OnActuatorDifferentPort @ConditionalOnProperty (springdoc.show-actuator) did not find property 'springdoc.show-actuator'; NestedCondition on MultipleOpenApiSupportCondition.OnMultipleOpenApiSupportCondition AnyNestedCondition 0 matched 2 did not; NestedCondition on MultipleOpenApiGroupsCondition.OnGroupConfigProperty @ConditionalOnProperty (springdoc.group-configs[0].group) did not find property 'springdoc.group-configs[0].group'; NestedCondition on MultipleOpenApiGroupsCondition.OnGroupedOpenApiBean @ConditionalOnBean (types: org.springdoc.core.models.GroupedOpenApi; SearchStrategy: all) did not find any beans of type org.springdoc.core.models.GroupedOpenApi (CacheOrGroupedOpenApiCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.boot.context.properties.bind.BindResult' (OnClassCondition) + + SpringDocConfiguration#springdocBeanFactoryPostProcessor2: + Did not match: + - @ConditionalOnMissingClass found unwanted class 'org.springframework.boot.context.properties.bind.BindResult' (OnClassCondition) + + SpringDocConfiguration.SpringDocActuatorConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties' (OnClassCondition) + + SpringDocConfiguration.SpringDocRepositoryRestConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.data.rest.core.config.RepositoryRestConfiguration' (OnClassCondition) + + SpringDocConfiguration.SpringDocWebFluxSupportConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) + + SpringDocSecurityConfiguration.SpringDocSecurityOAuth2Configuration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService' (OnClassCondition) + + SpringDocSecurityConfiguration.SpringSecurityLoginEndpointConfiguration#springSecurityLoginEndpointCustomiser: + Did not match: + - @ConditionalOnProperty (springdoc.show-login-endpoint) did not find property 'springdoc.show-login-endpoint' (OnPropertyCondition) + + SpringDocSortConfiguration#delegatingMethodParameterCustomizer: + Did not match: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.DelegatingMethodParameterCustomizer; SearchStrategy: all) found beans of type 'org.springdoc.core.customizers.DelegatingMethodParameterCustomizer' delegatingMethodParameterCustomizer (OnBeanCondition) + + SpringDocWebMvcConfiguration.SpringDocWebMvcActuatorConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping' (OnClassCondition) + + SwaggerConfig#springWebProvider: + Did not match: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringWebProvider; SearchStrategy: all) found beans of type 'org.springdoc.core.providers.SpringWebProvider' springWebProvider (OnBeanCondition) + + SwaggerConfig#swaggerUiConfigParameters: + Did not match: + - @ConditionalOnMissingBean (types: org.springdoc.core.properties.SwaggerUiConfigParameters; SearchStrategy: all) found beans of type 'org.springdoc.core.properties.SwaggerUiConfigParameters' org.springdoc.core.properties.SwaggerUiConfigParameters (OnBeanCondition) + + SwaggerConfig#swaggerUiHome: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.use-root-path=true) did not find property 'springdoc.swagger-ui.use-root-path' (OnPropertyCondition) + + SwaggerConfig.SwaggerActuatorWelcomeConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping' (OnClassCondition) + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:29:39.486 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:29:39.486 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:29:39.487 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:29:39.592 INFO [http-nio-8080-exec-8] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 27 ms +2026-03-14 18:29:58.768 DEBUG [http-nio-8080-exec-9] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:29:58.836 DEBUG [http-nio-8080-exec-9] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:31:51.261 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 1 deletion, 0 modifications) +2026-03-14 18:31:51.261 INFO [Thread-35] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:31:51.264 INFO [Thread-35] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:31:51.264 INFO [Thread-35] com.zaxxer.hikari.HikariDataSource : HikariPool-9 - Shutdown initiated... +2026-03-14 18:31:51.265 INFO [Thread-35] com.zaxxer.hikari.HikariDataSource : HikariPool-9 - Shutdown completed. +2026-03-14 18:31:51.327 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:31:51.328 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:31:51.455 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:31:51.460 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:31:51.528 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:31:51.529 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:31:51.529 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:31:51.529 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:31:51.540 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:31:51.540 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 211 ms +2026-03-14 18:31:51.564 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:31:51.566 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:31:51.568 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:31:51.569 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-10 - Starting... +2026-03-14 18:31:51.602 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-10 - Added connection org.postgresql.jdbc.PgConnection@53f4741c +2026-03-14 18:31:51.602 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-10 - Start completed. +2026-03-14 18:31:51.609 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:31:51.629 INFO [restartedMain] 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-14 18:31:51.640 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:31:51.710 WARN [restartedMain] o.s.b.a.o.j.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-14 18:31:51.751 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@410d057b, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1529244d, org.springframework.security.web.context.SecurityContextHolderFilter@6ee94e1e, org.springframework.security.web.header.HeaderWriterFilter@1767bc16, org.springframework.web.filter.CorsFilter@6ab62fc3, org.springframework.security.web.authentication.logout.LogoutFilter@1bab95e, com.boot.bootTemplate.security.JwtAuthenticationFilter@45b169d8, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@15fbd047, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3fd649e2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@39a39cc7, org.springframework.security.web.session.SessionManagementFilter@28cf3fa9, org.springframework.security.web.access.ExceptionTranslationFilter@fbe8afe, org.springframework.security.web.access.intercept.AuthorizationFilter@4a8338ba] +2026-03-14 18:31:51.805 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:31:51.810 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:31:51.812 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:31:51.815 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.505 seconds (process running for 656.02) +2026-03-14 18:31:51.816 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:32:24.833 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:32:24.833 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:32:24.834 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:32:24.994 INFO [http-nio-8080-exec-10] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 23 ms +2026-03-14 18:32:25.901 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 18:32:25.904 INFO [Thread-39] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:32:25.908 INFO [Thread-39] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:32:25.909 INFO [Thread-39] com.zaxxer.hikari.HikariDataSource : HikariPool-10 - Shutdown initiated... +2026-03-14 18:32:25.909 INFO [Thread-39] com.zaxxer.hikari.HikariDataSource : HikariPool-10 - Shutdown completed. +2026-03-14 18:32:25.968 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:32:25.968 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:32:26.077 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:32:26.082 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:32:26.134 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:32:26.134 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:32:26.134 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:32:26.134 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:32:26.144 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:32:26.145 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 176 ms +2026-03-14 18:32:26.162 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:32:26.164 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:32:26.166 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:32:26.167 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-11 - Starting... +2026-03-14 18:32:26.199 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-11 - Added connection org.postgresql.jdbc.PgConnection@57067d50 +2026-03-14 18:32:26.199 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-11 - Start completed. +2026-03-14 18:32:26.204 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:32:26.222 INFO [restartedMain] 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-14 18:32:26.233 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:32:26.291 WARN [restartedMain] o.s.b.a.o.j.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-14 18:32:26.323 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@6a719559, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7d823bd0, org.springframework.security.web.context.SecurityContextHolderFilter@fb2ce05, org.springframework.security.web.header.HeaderWriterFilter@72331528, org.springframework.web.filter.CorsFilter@672d70e1, org.springframework.security.web.authentication.logout.LogoutFilter@5158d790, com.boot.bootTemplate.security.JwtAuthenticationFilter@755f6006, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@490a3e0d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@237ae851, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6b508d72, org.springframework.security.web.session.SessionManagementFilter@69704c49, org.springframework.security.web.access.ExceptionTranslationFilter@6e450771, org.springframework.security.web.access.intercept.AuthorizationFilter@3df630f6] +2026-03-14 18:32:26.359 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:32:26.366 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:32:26.367 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:32:26.370 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.417 seconds (process running for 690.574) +2026-03-14 18:32:26.370 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:32:28.776 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:32:28.776 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:32:28.776 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:32:28.879 INFO [http-nio-8080-exec-9] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 25 ms +2026-03-14 18:32:37.026 ERROR [http-nio-8080-exec-10] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:39) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:32:37.028 WARN [http-nio-8080-exec-10] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:33:02.524 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:39) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:33:02.525 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:33:07.023 ERROR [http-nio-8080-exec-2] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:39) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:33:07.024 WARN [http-nio-8080-exec-2] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:33:08.309 ERROR [http-nio-8080-exec-6] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:39) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:33:08.309 WARN [http-nio-8080-exec-6] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:33:26.120 DEBUG [http-nio-8080-exec-7] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:33:26.183 DEBUG [http-nio-8080-exec-7] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:33:43.035 DEBUG [http-nio-8080-exec-4] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:33:43.039 ERROR [http-nio-8080-exec-4] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.util.MissingFormatArgumentException: Format specifier '%s' + at java.base/java.util.Formatter.format(Formatter.java:2790) + at java.base/java.util.Formatter.format(Formatter.java:2728) + at java.base/java.lang.String.format(String.java:4379) + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:38) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:67) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:33:43.040 WARN [http-nio-8080-exec-4] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.util.MissingFormatArgumentException: Format specifier '%s'] +2026-03-14 18:34:05.666 DEBUG [http-nio-8080-exec-5] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:34:05.668 ERROR [http-nio-8080-exec-5] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.util.MissingFormatArgumentException: Format specifier '%s' + at java.base/java.util.Formatter.format(Formatter.java:2790) + at java.base/java.util.Formatter.format(Formatter.java:2728) + at java.base/java.lang.String.format(String.java:4379) + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:38) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:67) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:34:05.669 WARN [http-nio-8080-exec-5] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.util.MissingFormatArgumentException: Format specifier '%s'] +2026-03-14 18:34:52.231 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:34:52.233 INFO [Thread-43] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:34:52.236 INFO [Thread-43] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:34:52.237 INFO [Thread-43] com.zaxxer.hikari.HikariDataSource : HikariPool-11 - Shutdown initiated... +2026-03-14 18:34:52.238 INFO [Thread-43] com.zaxxer.hikari.HikariDataSource : HikariPool-11 - Shutdown completed. +2026-03-14 18:34:52.294 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:34:52.295 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:34:52.404 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:34:52.409 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:34:52.459 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:34:52.459 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:34:52.459 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:34:52.459 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:34:52.469 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:34:52.470 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 175 ms +2026-03-14 18:34:52.488 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:34:52.489 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:34:52.492 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:34:52.493 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-12 - Starting... +2026-03-14 18:34:52.528 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-12 - Added connection org.postgresql.jdbc.PgConnection@462b71e1 +2026-03-14 18:34:52.528 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-12 - Start completed. +2026-03-14 18:34:52.534 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:34:52.554 INFO [restartedMain] 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-14 18:34:52.564 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:34:52.621 WARN [restartedMain] o.s.b.a.o.j.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-14 18:34:52.653 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@30c0b701, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@136db2a9, org.springframework.security.web.context.SecurityContextHolderFilter@43454b74, org.springframework.security.web.header.HeaderWriterFilter@78214e5f, org.springframework.web.filter.CorsFilter@70aa3dd8, org.springframework.security.web.authentication.logout.LogoutFilter@38a375ad, com.boot.bootTemplate.security.JwtAuthenticationFilter@49a7c82b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@61ce4af6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@13efa326, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3ede40f1, org.springframework.security.web.session.SessionManagementFilter@28ad4a91, org.springframework.security.web.access.ExceptionTranslationFilter@7d2bf04a, org.springframework.security.web.access.intercept.AuthorizationFilter@45b17165] +2026-03-14 18:34:52.687 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:34:52.694 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:34:52.696 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:34:52.698 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.417 seconds (process running for 836.902) +2026-03-14 18:34:52.698 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:34:54.197 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:34:54.197 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:34:54.198 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:34:54.215 DEBUG [http-nio-8080-exec-1] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:34:54.221 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @2f2af81c; java.lang.String is in module java.base of loader 'bootstrap') + at org.springframework.http.converter.StringHttpMessageConverter.addDefaultHeaders(StringHttpMessageConverter.java:44) + at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:210) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:300) + at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:245) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:67) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:34:54.222 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @2f2af81c; java.lang.String is in module java.base of loader 'bootstrap')] +2026-03-14 18:34:55.848 DEBUG [http-nio-8080-exec-5] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:34:55.851 ERROR [http-nio-8080-exec-5] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @2f2af81c; java.lang.String is in module java.base of loader 'bootstrap') + at org.springframework.http.converter.StringHttpMessageConverter.addDefaultHeaders(StringHttpMessageConverter.java:44) + at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:210) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:300) + at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:245) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:67) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:34:55.851 WARN [http-nio-8080-exec-5] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @2f2af81c; java.lang.String is in module java.base of loader 'bootstrap')] +2026-03-14 18:35:07.495 DEBUG [http-nio-8080-exec-4] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:35:07.498 ERROR [http-nio-8080-exec-4] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @2f2af81c; java.lang.String is in module java.base of loader 'bootstrap') + at org.springframework.http.converter.StringHttpMessageConverter.addDefaultHeaders(StringHttpMessageConverter.java:44) + at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:210) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:300) + at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:245) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:67) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:35:07.499 WARN [http-nio-8080-exec-4] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @2f2af81c; java.lang.String is in module java.base of loader 'bootstrap')] +2026-03-14 18:35:41.263 DEBUG [http-nio-8080-exec-3] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:35:41.266 ERROR [http-nio-8080-exec-3] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @2f2af81c; java.lang.String is in module java.base of loader 'bootstrap') + at org.springframework.http.converter.StringHttpMessageConverter.addDefaultHeaders(StringHttpMessageConverter.java:44) + at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:210) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:300) + at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:245) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:67) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:35:41.267 WARN [http-nio-8080-exec-3] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @2f2af81c; java.lang.String is in module java.base of loader 'bootstrap')] +2026-03-14 18:35:43.412 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:35:43.415 INFO [Thread-47] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:35:43.420 INFO [Thread-47] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:35:43.420 INFO [Thread-47] com.zaxxer.hikari.HikariDataSource : HikariPool-12 - Shutdown initiated... +2026-03-14 18:35:43.421 INFO [Thread-47] com.zaxxer.hikari.HikariDataSource : HikariPool-12 - Shutdown completed. +2026-03-14 18:35:43.475 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9368 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:35:43.475 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:35:43.579 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:35:43.583 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:35:43.631 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:35:43.632 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:35:43.632 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:35:43.632 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:35:43.642 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:35:43.642 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 166 ms +2026-03-14 18:35:43.659 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:35:43.661 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:35:43.664 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:35:43.664 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-13 - Starting... +2026-03-14 18:35:43.801 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-13 - Added connection org.postgresql.jdbc.PgConnection@26e156d +2026-03-14 18:35:43.801 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-13 - Start completed. +2026-03-14 18:35:43.806 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:35:43.827 INFO [restartedMain] 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-14 18:35:43.838 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:35:43.900 WARN [restartedMain] o.s.b.a.o.j.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-14 18:35:43.936 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@4bde233c, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@56f1ad09, org.springframework.security.web.context.SecurityContextHolderFilter@29f4af18, org.springframework.security.web.header.HeaderWriterFilter@4288dbbe, org.springframework.web.filter.CorsFilter@95b7248, org.springframework.security.web.authentication.logout.LogoutFilter@52d9ed7b, com.boot.bootTemplate.security.JwtAuthenticationFilter@299d78d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4c2879c6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@48791ed6, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2fd1b578, org.springframework.security.web.session.SessionManagementFilter@993e4aa, org.springframework.security.web.access.ExceptionTranslationFilter@8edaa9a, org.springframework.security.web.access.intercept.AuthorizationFilter@5d3f7261] +2026-03-14 18:35:43.970 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:35:43.975 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:35:43.976 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:35:43.978 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.516 seconds (process running for 888.183) +2026-03-14 18:35:43.979 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:35:47.737 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:35:47.738 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:35:47.738 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:35:47.760 DEBUG [http-nio-8080-exec-1] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:35:47.766 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @4f51d27; java.lang.String is in module java.base of loader 'bootstrap') + at org.springframework.http.converter.StringHttpMessageConverter.addDefaultHeaders(StringHttpMessageConverter.java:44) + at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:210) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:300) + at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:245) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:67) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:35:47.768 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @4f51d27; java.lang.String is in module java.base of loader 'bootstrap')] +2026-03-14 18:36:14.257 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:36:14.258 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-13 - Shutdown initiated... +2026-03-14 18:36:14.258 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-13 - Shutdown completed. +2026-03-14 18:36:16.437 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 11560 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:36:16.438 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:36:16.463 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 18:36:16.463 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 18:36:16.925 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:36:16.956 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 26 ms. Found 1 JPA repository interface. +2026-03-14 18:36:17.301 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:36:17.308 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:36:17.309 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:36:17.309 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:36:17.345 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:36:17.345 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 882 ms +2026-03-14 18:36:17.418 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:36:17.450 INFO [restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final +2026-03-14 18:36:17.470 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:36:17.608 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:36:17.627 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 18:36:17.722 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@710d6a62 +2026-03-14 18:36:17.723 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 18:36:17.747 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:36:18.243 INFO [restartedMain] 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-14 18:36:18.275 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:36:18.593 WARN [restartedMain] o.s.b.a.o.j.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-14 18:36:18.731 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@8785631, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1ebb870d, org.springframework.security.web.context.SecurityContextHolderFilter@7c73f2b6, org.springframework.security.web.header.HeaderWriterFilter@194b9e3b, org.springframework.web.filter.CorsFilter@7f246612, org.springframework.security.web.authentication.logout.LogoutFilter@386e1ec3, com.boot.bootTemplate.security.JwtAuthenticationFilter@66335543, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@29327ab6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@22f0457a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@78c6f178, org.springframework.security.web.session.SessionManagementFilter@a6f0427, org.springframework.security.web.access.ExceptionTranslationFilter@368130de, org.springframework.security.web.access.intercept.AuthorizationFilter@57f835b6] +2026-03-14 18:36:18.899 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:36:18.912 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:36:18.921 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:36:18.927 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.785 seconds (process running for 3.177) +2026-03-14 18:36:24.899 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:36:24.899 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:36:24.900 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:36:25.188 INFO [http-nio-8080-exec-9] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 127 ms +2026-03-14 18:36:35.862 DEBUG [http-nio-8080-exec-7] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:36:35.930 DEBUG [http-nio-8080-exec-7] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:36:53.451 DEBUG [http-nio-8080-exec-1] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:36:53.459 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @3a3e6903; java.lang.String is in module java.base of loader 'bootstrap') + at org.springframework.http.converter.StringHttpMessageConverter.addDefaultHeaders(StringHttpMessageConverter.java:44) + at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:210) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:300) + at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:245) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:67) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:36:53.462 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.ClassCastException: class com.boot.bootTemplate.dto.api.ApiResponse cannot be cast to class java.lang.String (com.boot.bootTemplate.dto.api.ApiResponse is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @3a3e6903; java.lang.String is in module java.base of loader 'bootstrap')] +2026-03-14 18:38:01.453 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 1 deletion, 0 modifications) +2026-03-14 18:38:01.455 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:38:01.459 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:38:01.461 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 18:38:01.463 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 18:38:01.533 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 11560 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:38:01.533 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:38:01.675 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:38:01.681 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 18:38:01.752 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:38:01.753 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:38:01.753 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:38:01.753 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:38:01.765 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:38:01.765 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 231 ms +2026-03-14 18:38:01.786 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:38:01.788 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:38:01.791 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:38:01.791 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 18:38:01.941 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@3ef259af +2026-03-14 18:38:01.941 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 18:38:01.946 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:38:01.972 INFO [restartedMain] 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-14 18:38:01.985 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:38:02.056 WARN [restartedMain] o.s.b.a.o.j.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-14 18:38:02.093 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@3ae0469e, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@155c270d, org.springframework.security.web.context.SecurityContextHolderFilter@1db1ef34, org.springframework.security.web.header.HeaderWriterFilter@57293c32, org.springframework.web.filter.CorsFilter@55a7086f, org.springframework.security.web.authentication.logout.LogoutFilter@7eba253a, com.boot.bootTemplate.security.JwtAuthenticationFilter@58cbdfa7, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@72347240, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6ce20898, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3af40b18, org.springframework.security.web.session.SessionManagementFilter@290530e1, org.springframework.security.web.access.ExceptionTranslationFilter@354b4436, org.springframework.security.web.access.intercept.AuthorizationFilter@53179566] +2026-03-14 18:38:02.130 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:38:02.136 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:38:02.138 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:38:02.140 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.625 seconds (process running for 106.39) +2026-03-14 18:38:02.140 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:38:03.573 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 18:38:03.575 INFO [Thread-7] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:38:03.578 INFO [Thread-7] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:38:03.579 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 18:38:03.580 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 18:38:03.637 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 11560 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:38:03.637 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:38:03.751 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:38:03.756 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 18:38:03.813 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:38:03.814 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:38:03.814 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:38:03.814 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:38:03.827 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:38:03.828 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 190 ms +2026-03-14 18:38:03.846 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:38:03.848 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:38:03.850 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:38:03.851 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Starting... +2026-03-14 18:38:03.884 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@2f211f2e +2026-03-14 18:38:03.884 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Start completed. +2026-03-14 18:38:03.889 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:38:03.909 INFO [restartedMain] 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-14 18:38:03.919 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:38:03.978 WARN [restartedMain] o.s.b.a.o.j.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-14 18:38:04.013 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@2b1f6b06, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@49a7079c, org.springframework.security.web.context.SecurityContextHolderFilter@37e62312, org.springframework.security.web.header.HeaderWriterFilter@2aa90759, org.springframework.web.filter.CorsFilter@54f6a24b, org.springframework.security.web.authentication.logout.LogoutFilter@65c0e34a, com.boot.bootTemplate.security.JwtAuthenticationFilter@62f93891, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2836ecb5, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4ac7a525, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@75e5de6b, org.springframework.security.web.session.SessionManagementFilter@355380b9, org.springframework.security.web.access.ExceptionTranslationFilter@54396edd, org.springframework.security.web.access.intercept.AuthorizationFilter@d9594fa] +2026-03-14 18:38:04.052 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:38:04.059 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:38:04.061 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:38:04.063 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.441 seconds (process running for 108.313) +2026-03-14 18:38:04.064 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:38:13.012 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 2 class path changes (1 addition, 0 deletions, 1 modification) +2026-03-14 18:38:13.014 INFO [Thread-11] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:38:13.017 INFO [Thread-11] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:38:13.017 INFO [Thread-11] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated... +2026-03-14 18:38:13.018 INFO [Thread-11] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed. +2026-03-14 18:38:13.063 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 11560 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:38:13.063 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:38:13.176 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:38:13.181 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:38:13.233 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:38:13.234 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:38:13.234 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:38:13.234 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:38:13.245 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:38:13.245 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 181 ms +2026-03-14 18:38:13.264 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:38:13.266 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:38:13.268 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:38:13.269 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Starting... +2026-03-14 18:38:13.301 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-4 - Added connection org.postgresql.jdbc.PgConnection@b4ea278 +2026-03-14 18:38:13.301 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Start completed. +2026-03-14 18:38:13.306 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:38:13.328 INFO [restartedMain] 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-14 18:38:13.339 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:38:13.395 WARN [restartedMain] o.s.b.a.o.j.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-14 18:38:13.431 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@1c7d68ed, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@72baf6e2, org.springframework.security.web.context.SecurityContextHolderFilter@59a82548, org.springframework.security.web.header.HeaderWriterFilter@3a924730, org.springframework.web.filter.CorsFilter@5a9c69b6, org.springframework.security.web.authentication.logout.LogoutFilter@e8c04a4, com.boot.bootTemplate.security.JwtAuthenticationFilter@16464371, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1b65455c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@33e63ac7, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@613215b0, org.springframework.security.web.session.SessionManagementFilter@1396d868, org.springframework.security.web.access.ExceptionTranslationFilter@286d4c45, org.springframework.security.web.access.intercept.AuthorizationFilter@3dc0caa7] +2026-03-14 18:38:13.472 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:38:13.478 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:38:13.480 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:38:13.482 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.434 seconds (process running for 117.732) +2026-03-14 18:38:13.483 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:38:15.394 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:38:15.394 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:38:15.395 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:38:15.414 DEBUG [http-nio-8080-exec-1] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:38:33.574 ERROR [http-nio-8080-exec-2] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null + at com.boot.bootTemplate.controller.AuthenticationController$1.(AuthenticationController.java:37) + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:36) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:38:33.576 WARN [http-nio-8080-exec-2] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null] +2026-03-14 18:40:25.198 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:40:25.198 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown initiated... +2026-03-14 18:40:25.200 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown completed. +2026-03-14 18:40:27.567 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 17716 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:40:27.568 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:40:27.595 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 18:40:27.595 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 18:40:28.043 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:40:28.077 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 29 ms. Found 1 JPA repository interface. +2026-03-14 18:40:28.399 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:40:28.406 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:40:28.407 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:40:28.407 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:40:28.436 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:40:28.437 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 841 ms +2026-03-14 18:40:28.504 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:40:28.536 INFO [restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final +2026-03-14 18:40:28.555 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:40:28.686 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:40:28.701 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 18:40:28.798 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@d77c1f0 +2026-03-14 18:40:28.801 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 18:40:28.823 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:40:29.308 INFO [restartedMain] 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-14 18:40:29.341 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:40:29.652 WARN [restartedMain] o.s.b.a.o.j.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-14 18:40:29.789 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@39be0238, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@d6767de, org.springframework.security.web.context.SecurityContextHolderFilter@7390cb8a, org.springframework.security.web.header.HeaderWriterFilter@198db195, org.springframework.web.filter.CorsFilter@2c00a7f4, org.springframework.security.web.authentication.logout.LogoutFilter@1bf3f9e0, com.boot.bootTemplate.security.JwtAuthenticationFilter@56a4a2ad, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6eba4a12, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3a5ba895, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6c6c5306, org.springframework.security.web.session.SessionManagementFilter@4c3d48cc, org.springframework.security.web.access.ExceptionTranslationFilter@1c4ac77e, org.springframework.security.web.access.intercept.AuthorizationFilter@b97ef4e] +2026-03-14 18:40:29.949 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:40:29.962 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:40:29.972 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:40:29.979 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.711 seconds (process running for 3.089) +2026-03-14 18:40:36.432 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:40:36.432 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:40:36.433 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:40:36.460 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null + at com.boot.bootTemplate.controller.AuthenticationController$1.(AuthenticationController.java:37) + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:36) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:40:36.495 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null] +2026-03-14 18:40:38.293 ERROR [http-nio-8080-exec-4] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null + at com.boot.bootTemplate.controller.AuthenticationController$1.(AuthenticationController.java:37) + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:36) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:40:38.295 WARN [http-nio-8080-exec-4] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null] +2026-03-14 18:40:39.011 ERROR [http-nio-8080-exec-3] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null + at com.boot.bootTemplate.controller.AuthenticationController$1.(AuthenticationController.java:37) + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:36) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:40:39.013 WARN [http-nio-8080-exec-3] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null] +2026-03-14 18:40:39.603 ERROR [http-nio-8080-exec-2] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null + at com.boot.bootTemplate.controller.AuthenticationController$1.(AuthenticationController.java:37) + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:36) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:40:39.604 WARN [http-nio-8080-exec-2] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null] +2026-03-14 18:41:48.424 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:41:48.427 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:41:48.432 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:41:48.436 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 18:41:48.436 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 18:41:48.505 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 17716 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:41:48.505 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:41:48.641 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:41:48.647 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 18:41:48.708 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:41:48.709 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:41:48.709 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:41:48.709 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:41:48.720 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:41:48.720 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 213 ms +2026-03-14 18:41:48.738 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:41:48.740 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:41:48.743 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:41:48.743 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 18:41:48.776 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@113056cc +2026-03-14 18:41:48.776 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 18:41:48.780 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:41:48.805 INFO [restartedMain] 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-14 18:41:48.815 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:41:48.877 WARN [restartedMain] o.s.b.a.o.j.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-14 18:41:48.915 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@322f41ae, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5006dfad, org.springframework.security.web.context.SecurityContextHolderFilter@79f1214, org.springframework.security.web.header.HeaderWriterFilter@4188d822, org.springframework.web.filter.CorsFilter@6bf77cd, org.springframework.security.web.authentication.logout.LogoutFilter@59977b95, com.boot.bootTemplate.security.JwtAuthenticationFilter@297cf303, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@629f0a00, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@655197b9, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@149b472f, org.springframework.security.web.session.SessionManagementFilter@5a132cc0, org.springframework.security.web.access.ExceptionTranslationFilter@c8d2d1a, org.springframework.security.web.access.intercept.AuthorizationFilter@2a470e23] +2026-03-14 18:41:48.952 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:41:48.957 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:41:48.959 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:41:48.961 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.476 seconds (process running for 82.07) +2026-03-14 18:41:48.962 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:41:50.872 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:41:50.872 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 18:41:50.873 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 18:41:52.943 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9628 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:41:52.944 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:41:52.972 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 18:41:52.973 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 18:41:53.421 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:41:53.453 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 28 ms. Found 1 JPA repository interface. +2026-03-14 18:41:53.779 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:41:53.785 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:41:53.786 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:41:53.786 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:41:53.819 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:41:53.819 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 846 ms +2026-03-14 18:41:53.887 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:41:53.917 INFO [restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final +2026-03-14 18:41:53.936 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:41:54.082 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:41:54.097 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 18:41:54.189 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@2a00d9b3 +2026-03-14 18:41:54.191 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 18:41:54.212 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:41:54.711 INFO [restartedMain] 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-14 18:41:54.742 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:41:55.038 WARN [restartedMain] o.s.b.a.o.j.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-14 18:41:55.173 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@531e919a, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@66ffe0a2, org.springframework.security.web.context.SecurityContextHolderFilter@6f782e6f, org.springframework.security.web.header.HeaderWriterFilter@5bb839b2, org.springframework.web.filter.CorsFilter@ffb8ff0, org.springframework.security.web.authentication.logout.LogoutFilter@20f20dd2, com.boot.bootTemplate.security.JwtAuthenticationFilter@6c794bbe, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6d589e08, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1934b1d1, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2b09f627, org.springframework.security.web.session.SessionManagementFilter@6bc97956, org.springframework.security.web.access.ExceptionTranslationFilter@5943d949, org.springframework.security.web.access.intercept.AuthorizationFilter@4daf1f64] +2026-03-14 18:41:55.330 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:41:55.343 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:41:55.352 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:41:55.359 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.713 seconds (process running for 3.112) +2026-03-14 18:41:57.929 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:41:57.929 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:41:57.930 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:41:57.957 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null + at com.boot.bootTemplate.controller.AuthenticationController$1.(AuthenticationController.java:37) + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:36) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:41:57.996 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null] +2026-03-14 18:42:00.826 ERROR [http-nio-8080-exec-5] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null + at com.boot.bootTemplate.controller.AuthenticationController$1.(AuthenticationController.java:37) + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:36) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:42:00.828 WARN [http-nio-8080-exec-5] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "this.val$user" is null] +2026-03-14 18:42:25.375 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:42:25.380 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:42:25.387 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:42:25.391 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 18:42:25.393 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 18:42:25.458 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9628 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:42:25.459 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:42:25.585 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:42:25.592 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 7 ms. Found 1 JPA repository interface. +2026-03-14 18:42:25.663 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:42:25.663 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:42:25.663 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:42:25.663 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:42:25.676 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:42:25.676 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 216 ms +2026-03-14 18:42:25.696 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:42:25.698 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:42:25.701 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:42:25.702 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 18:42:25.734 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@6964b75c +2026-03-14 18:42:25.734 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 18:42:25.739 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:42:25.764 INFO [restartedMain] 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-14 18:42:25.776 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:42:25.848 WARN [restartedMain] o.s.b.a.o.j.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-14 18:42:25.887 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@6889cdb4, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@19aac1c, org.springframework.security.web.context.SecurityContextHolderFilter@4a1e7a6b, org.springframework.security.web.header.HeaderWriterFilter@5936b2c6, org.springframework.web.filter.CorsFilter@576e683f, org.springframework.security.web.authentication.logout.LogoutFilter@120f6eaf, com.boot.bootTemplate.security.JwtAuthenticationFilter@120eb029, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7d027ed6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@114e5332, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@42365aa2, org.springframework.security.web.session.SessionManagementFilter@565d8a48, org.springframework.security.web.access.ExceptionTranslationFilter@7819f648, org.springframework.security.web.access.intercept.AuthorizationFilter@1fa14d95] +2026-03-14 18:42:25.926 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:42:25.931 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:42:25.933 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:42:25.935 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.494 seconds (process running for 33.688) +2026-03-14 18:42:25.936 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:42:37.372 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:42:37.372 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:42:37.373 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 18:42:37.479 DEBUG [http-nio-8080-exec-1] org.hibernate.SQL : insert into _user (email,password,role) values (?,?,?) +2026-03-14 18:42:37.486 WARN [http-nio-8080-exec-1] o.h.e.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 23505 +2026-03-14 18:42:37.486 ERROR [http-nio-8080-exec-1] o.h.e.jdbc.spi.SqlExceptionHelper : ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists. +2026-03-14 18:42:37.492 WARN [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 資料衝突(可能 Email 重複): could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx] +2026-03-14 18:42:37.494 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx]] +2026-03-14 18:42:39.082 DEBUG [http-nio-8080-exec-6] org.hibernate.SQL : insert into _user (email,password,role) values (?,?,?) +2026-03-14 18:42:39.083 WARN [http-nio-8080-exec-6] o.h.e.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 23505 +2026-03-14 18:42:39.083 ERROR [http-nio-8080-exec-6] o.h.e.jdbc.spi.SqlExceptionHelper : ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists. +2026-03-14 18:42:39.084 WARN [http-nio-8080-exec-6] c.b.b.handler.GlobalExceptionHandler : 資料衝突(可能 Email 重複): could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx] +2026-03-14 18:42:39.085 WARN [http-nio-8080-exec-6] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx]] +2026-03-14 18:42:40.455 DEBUG [http-nio-8080-exec-10] org.hibernate.SQL : insert into _user (email,password,role) values (?,?,?) +2026-03-14 18:42:40.456 WARN [http-nio-8080-exec-10] o.h.e.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 23505 +2026-03-14 18:42:40.456 ERROR [http-nio-8080-exec-10] o.h.e.jdbc.spi.SqlExceptionHelper : ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists. +2026-03-14 18:42:40.456 WARN [http-nio-8080-exec-10] c.b.b.handler.GlobalExceptionHandler : 資料衝突(可能 Email 重複): could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" + 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx] +2026-03-14 18:42:40.457 WARN [http-nio-8080-exec-10] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement [ERROR: duplicate key value violates unique constraint "ukk11y3pdtsrjgy8w9b6q4bjwrx" 詳細:Key (email)=(temp) already exists.] [insert into _user (email,password,role) values (?,?,?)]; SQL [insert into _user (email,password,role) values (?,?,?)]; constraint [ukk11y3pdtsrjgy8w9b6q4bjwrx]] +2026-03-14 18:45:16.867 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 2 class path changes (0 additions, 2 deletions, 0 modifications) +2026-03-14 18:45:16.871 INFO [Thread-7] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:45:16.876 INFO [Thread-7] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:45:16.877 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 18:45:16.878 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 18:45:16.927 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9628 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:45:16.928 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:45:17.044 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:45:17.049 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:45:17.116 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:45:17.117 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:45:17.117 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:45:17.117 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:45:17.130 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:45:17.130 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 201 ms +2026-03-14 18:45:17.153 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:45:17.155 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:45:17.157 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:45:17.158 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Starting... +2026-03-14 18:45:17.192 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@727fa39 +2026-03-14 18:45:17.192 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Start completed. +2026-03-14 18:45:17.197 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:45:17.220 INFO [restartedMain] 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-14 18:45:17.233 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:45:17.299 WARN [restartedMain] o.s.b.a.o.j.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-14 18:45:17.338 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@ca1edc0, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@26f7f9a0, org.springframework.security.web.context.SecurityContextHolderFilter@d6a4b24, org.springframework.security.web.header.HeaderWriterFilter@27863018, org.springframework.web.filter.CorsFilter@323fec3c, org.springframework.security.web.authentication.logout.LogoutFilter@af4011d, com.boot.bootTemplate.security.JwtAuthenticationFilter@60d6de19, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@73c90e42, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6559f6d3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@20080db5, org.springframework.security.web.session.SessionManagementFilter@2af35051, org.springframework.security.web.access.ExceptionTranslationFilter@669319c2, org.springframework.security.web.access.intercept.AuthorizationFilter@1bb1228c] +2026-03-14 18:45:17.377 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:45:17.383 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:45:17.385 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:45:17.387 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.477 seconds (process running for 205.14) +2026-03-14 18:45:17.388 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:45:57.539 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 18:45:57.541 INFO [Thread-11] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:45:57.546 INFO [Thread-11] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:45:57.547 INFO [Thread-11] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated... +2026-03-14 18:45:57.547 INFO [Thread-11] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed. +2026-03-14 18:45:57.606 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9628 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:45:57.607 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:45:57.718 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:45:57.723 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:45:57.778 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:45:57.779 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:45:57.779 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:45:57.779 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:45:57.790 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:45:57.791 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 183 ms +2026-03-14 18:45:57.809 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:45:57.811 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:45:57.813 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:45:57.813 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Starting... +2026-03-14 18:45:57.961 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-4 - Added connection org.postgresql.jdbc.PgConnection@37b81bf4 +2026-03-14 18:45:57.961 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Start completed. +2026-03-14 18:45:57.966 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:45:57.988 INFO [restartedMain] 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-14 18:45:57.999 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:45:58.061 WARN [restartedMain] o.s.b.a.o.j.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-14 18:45:58.097 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@63c43a20, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5f8d11d3, org.springframework.security.web.context.SecurityContextHolderFilter@34b820af, org.springframework.security.web.header.HeaderWriterFilter@4d1764d4, org.springframework.web.filter.CorsFilter@679c599c, org.springframework.security.web.authentication.logout.LogoutFilter@24230ac9, com.boot.bootTemplate.security.JwtAuthenticationFilter@5b09ffc8, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@c8d56e7, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7a4ab266, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@42fb66f1, org.springframework.security.web.session.SessionManagementFilter@429d22fe, org.springframework.security.web.access.ExceptionTranslationFilter@3fe0fdb2, org.springframework.security.web.access.intercept.AuthorizationFilter@6d09197f] +2026-03-14 18:45:58.134 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:45:58.140 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:45:58.141 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:45:58.143 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.553 seconds (process running for 245.896) +2026-03-14 18:45:58.144 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:45:59.922 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:45:59.923 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:45:59.923 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:45:59.925 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:41) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:45:59.929 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:46:00.728 ERROR [http-nio-8080-exec-2] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:41) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:46:00.729 WARN [http-nio-8080-exec-2] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:46:01.417 ERROR [http-nio-8080-exec-8] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:41) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:46:01.419 WARN [http-nio-8080-exec-8] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:46:02.183 ERROR [http-nio-8080-exec-4] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:41) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:46:02.184 WARN [http-nio-8080-exec-4] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:46:03.091 ERROR [http-nio-8080-exec-5] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:41) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:46:03.092 WARN [http-nio-8080-exec-5] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:46:06.725 ERROR [http-nio-8080-exec-6] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:41) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:46:06.726 WARN [http-nio-8080-exec-6] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:49:21.849 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 1 deletion, 0 modifications) +2026-03-14 18:49:21.850 INFO [Thread-15] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:49:21.853 INFO [Thread-15] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:49:21.853 INFO [Thread-15] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown initiated... +2026-03-14 18:49:21.855 INFO [Thread-15] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown completed. +2026-03-14 18:49:21.912 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9628 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:49:21.912 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:49:22.025 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:49:22.030 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:49:22.090 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:49:22.090 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:49:22.090 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:49:22.091 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:49:22.102 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:49:22.102 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 189 ms +2026-03-14 18:49:22.124 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:49:22.126 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:49:22.129 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:49:22.129 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Starting... +2026-03-14 18:49:22.165 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-5 - Added connection org.postgresql.jdbc.PgConnection@64d45bfa +2026-03-14 18:49:22.165 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Start completed. +2026-03-14 18:49:22.170 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:49:22.191 INFO [restartedMain] 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-14 18:49:22.206 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:49:22.288 WARN [restartedMain] o.s.b.a.o.j.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-14 18:49:22.332 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@677c30bf, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4ca66fef, org.springframework.security.web.context.SecurityContextHolderFilter@30c33b85, org.springframework.security.web.header.HeaderWriterFilter@42d37171, org.springframework.web.filter.CorsFilter@4db05775, org.springframework.security.web.authentication.logout.LogoutFilter@1a55a8d, com.boot.bootTemplate.security.JwtAuthenticationFilter@2c986a6e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@39b5d4ad, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@60346213, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@31ddddd4, org.springframework.security.web.session.SessionManagementFilter@257da25e, org.springframework.security.web.access.ExceptionTranslationFilter@58ca36b6, org.springframework.security.web.access.intercept.AuthorizationFilter@55452a95] +2026-03-14 18:49:22.373 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:49:22.379 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:49:22.381 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:49:22.383 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.486 seconds (process running for 450.136) +2026-03-14 18:49:22.384 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:49:41.401 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:49:41.401 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown initiated... +2026-03-14 18:49:41.402 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown completed. +2026-03-14 18:49:43.812 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:49:43.813 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:49:43.843 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 18:49:43.843 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 18:49:44.311 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:49:44.349 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 32 ms. Found 1 JPA repository interface. +2026-03-14 18:49:44.711 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:49:44.718 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:49:44.719 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:49:44.720 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:49:44.753 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:49:44.753 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 910 ms +2026-03-14 18:49:44.819 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:49:44.851 INFO [restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final +2026-03-14 18:49:44.870 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:49:45.017 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:49:45.035 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 18:49:45.243 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@2a00d9b3 +2026-03-14 18:49:45.244 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 18:49:45.266 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:49:45.771 INFO [restartedMain] 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-14 18:49:45.802 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:49:46.136 WARN [restartedMain] o.s.b.a.o.j.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-14 18:49:46.252 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@34a20e96, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@531e919a, org.springframework.security.web.context.SecurityContextHolderFilter@34efac8, org.springframework.security.web.header.HeaderWriterFilter@59233b9b, org.springframework.web.filter.CorsFilter@66ffe0a2, org.springframework.security.web.authentication.logout.LogoutFilter@312ab701, com.boot.bootTemplate.security.JwtAuthenticationFilter@6d17d27f, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4f5be91f, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6d589e08, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@ffb8ff0, org.springframework.security.web.session.SessionManagementFilter@82c9ed0, org.springframework.security.web.access.ExceptionTranslationFilter@2b7ec263, org.springframework.security.web.access.intercept.AuthorizationFilter@2fc9125a] +2026-03-14 18:49:46.411 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:49:46.423 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:49:46.432 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:49:46.440 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.927 seconds (process running for 3.308) +2026-03-14 18:50:32.803 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 1 deletion, 0 modifications) +2026-03-14 18:50:32.806 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:50:32.811 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:50:32.812 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 18:50:32.814 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 18:50:32.880 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:50:32.881 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:50:33.024 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:50:33.030 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 1 JPA repository interface. +2026-03-14 18:50:33.102 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:50:33.102 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:50:33.102 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:50:33.103 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:50:33.115 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:50:33.115 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 233 ms +2026-03-14 18:50:33.135 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:50:33.137 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:50:33.140 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:50:33.141 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 18:50:33.174 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@2f6507c9 +2026-03-14 18:50:33.175 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 18:50:33.180 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:50:33.205 INFO [restartedMain] 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-14 18:50:33.217 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:50:33.295 WARN [restartedMain] o.s.b.a.o.j.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-14 18:50:33.330 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@21bf620f, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@888c02e, org.springframework.security.web.context.SecurityContextHolderFilter@7a48cdd3, org.springframework.security.web.header.HeaderWriterFilter@658b2a4f, org.springframework.web.filter.CorsFilter@2d90503d, org.springframework.security.web.authentication.logout.LogoutFilter@775bc8ae, com.boot.bootTemplate.security.JwtAuthenticationFilter@48c44fc2, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5cdd8d56, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@60b80dd0, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1a715cd8, org.springframework.security.web.session.SessionManagementFilter@41dd41e6, org.springframework.security.web.access.ExceptionTranslationFilter@15566ca0, org.springframework.security.web.access.intercept.AuthorizationFilter@67aa0f98] +2026-03-14 18:50:33.372 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:50:33.377 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:50:33.379 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:50:33.382 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.521 seconds (process running for 50.249) +2026-03-14 18:50:33.383 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:50:34.412 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:50:34.412 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:50:34.413 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:50:34.434 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:39) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:50:34.468 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:50:34.809 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) +2026-03-14 18:50:34.811 INFO [Thread-7] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:50:34.814 INFO [Thread-7] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:50:34.814 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 18:50:34.816 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 18:50:34.875 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:50:34.875 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:50:34.986 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:50:34.992 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 1 JPA repository interface. +2026-03-14 18:50:35.051 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:50:35.052 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:50:35.052 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:50:35.052 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:50:35.065 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:50:35.065 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 189 ms +2026-03-14 18:50:35.084 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:50:35.086 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:50:35.089 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:50:35.090 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Starting... +2026-03-14 18:50:35.122 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@72abdcb +2026-03-14 18:50:35.122 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Start completed. +2026-03-14 18:50:35.127 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:50:35.148 INFO [restartedMain] 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-14 18:50:35.159 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:50:35.231 WARN [restartedMain] o.s.b.a.o.j.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-14 18:50:35.260 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@52aeaced, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@42c966ca, org.springframework.security.web.context.SecurityContextHolderFilter@6505bddf, org.springframework.security.web.header.HeaderWriterFilter@539ad446, org.springframework.web.filter.CorsFilter@2fe155f3, org.springframework.security.web.authentication.logout.LogoutFilter@7c8d8f55, com.boot.bootTemplate.security.JwtAuthenticationFilter@6012f3e5, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@411f9341, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@44a257c0, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@461a6705, org.springframework.security.web.session.SessionManagementFilter@12dc540a, org.springframework.security.web.access.ExceptionTranslationFilter@58df9c32, org.springframework.security.web.access.intercept.AuthorizationFilter@177fddaf] +2026-03-14 18:50:35.302 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:50:35.309 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:50:35.311 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:50:35.313 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.454 seconds (process running for 52.181) +2026-03-14 18:50:35.314 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:50:39.013 INFO [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 18:50:39.014 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 18:50:39.014 INFO [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 18:50:39.266 INFO [http-nio-8080-exec-6] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 114 ms +2026-03-14 18:50:44.147 ERROR [http-nio-8080-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null + at com.boot.bootTemplate.controller.AuthenticationController.sayHello(AuthenticationController.java:39) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:925) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 18:50:44.151 WARN [http-nio-8080-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "com.boot.bootTemplate.entities.User.getEmail()" because "user" is null] +2026-03-14 18:51:11.724 DEBUG [http-nio-8080-exec-3] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:51:11.792 DEBUG [http-nio-8080-exec-3] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:51:22.264 DEBUG [http-nio-8080-exec-2] org.hibernate.SQL : select u1_0.id,u1_0.email,u1_0.password,u1_0.role from _user u1_0 where u1_0.email=? +2026-03-14 18:52:09.062 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 2 class path changes (0 additions, 0 deletions, 2 modifications) +2026-03-14 18:52:09.064 INFO [Thread-11] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:52:09.068 INFO [Thread-11] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:52:09.069 INFO [Thread-11] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated... +2026-03-14 18:52:09.071 INFO [Thread-11] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed. +2026-03-14 18:52:09.118 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:52:09.119 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:52:09.218 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:52:09.223 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:52:09.273 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:52:09.273 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:52:09.273 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:52:09.273 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:52:09.284 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:52:09.284 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 164 ms +2026-03-14 18:52:09.303 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:52:09.305 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:52:09.308 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:52:09.308 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Starting... +2026-03-14 18:52:09.340 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-4 - Added connection org.postgresql.jdbc.PgConnection@7638bcd2 +2026-03-14 18:52:09.341 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Start completed. +2026-03-14 18:52:09.346 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:52:09.367 INFO [restartedMain] 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-14 18:52:09.377 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:52:09.441 WARN [restartedMain] o.s.b.a.o.j.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-14 18:52:09.467 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@50063ec9, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@66f06d98, org.springframework.security.web.context.SecurityContextHolderFilter@159a01ac, org.springframework.security.web.header.HeaderWriterFilter@6c4e0bf2, org.springframework.web.filter.CorsFilter@6bad72b3, org.springframework.security.web.authentication.logout.LogoutFilter@448e49d8, com.boot.bootTemplate.security.JwtAuthenticationFilter@4ced7c3d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@67f8a32c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7bf535ba, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6171eba4, org.springframework.security.web.session.SessionManagementFilter@6b62263c, org.springframework.security.web.access.ExceptionTranslationFilter@53d43893, org.springframework.security.web.access.intercept.AuthorizationFilter@3447d230] +2026-03-14 18:52:09.497 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:52:09.503 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] +2026-03-14 18:52:09.505 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' +2026-03-14 18:52:09.507 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.404 seconds (process running for 146.374) +2026-03-14 18:52:09.510 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + None + + +Negative matches: +----------------- + + SpringDocConfigProperties: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + + SpringDocConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocPageableConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Pageable' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocSecurityConfiguration: + Did not match: + - @ConditionalOnExpression (#{${springdoc.api-docs.enabled:true} and ${springdoc.enable-spring-security:true}}) resulted in false (OnExpressionCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.security.web.SecurityFilterChain' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocSortConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Sort' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocUIConfiguration: + Did not match: + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) did not find any beans of type org.springdoc.core.configuration.SpringDocConfiguration (OnBeanCondition) + Matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + + SpringDocWebMvcConfiguration: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.enabled) found different value in property 'springdoc.api-docs.enabled' (OnPropertyCondition) + Matched: + - found 'session' scope (OnWebApplicationCondition) + + SwaggerConfig: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + Matched: + - found 'session' scope (OnWebApplicationCondition) + + SwaggerUiConfigParameters: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + + SwaggerUiConfigProperties: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + + SwaggerUiOAuthProperties: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) found different value in property 'springdoc.swagger-ui.enabled' (OnPropertyCondition) + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:53:13.192 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 2 class path changes (1 addition, 1 deletion, 0 modifications) +2026-03-14 18:53:13.195 INFO [Thread-15] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-8080"] +2026-03-14 18:53:13.200 INFO [Thread-15] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:53:13.201 INFO [Thread-15] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown initiated... +2026-03-14 18:53:13.202 INFO [Thread-15] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown completed. +2026-03-14 18:53:13.255 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:53:13.255 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:53:13.362 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:53:13.366 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:53:13.418 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:53:13.419 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:53:13.420 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:53:13.420 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:53:13.429 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:53:13.430 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 174 ms +2026-03-14 18:53:13.438 ERROR [restartedMain] o.s.b.w.e.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'jwtAuthenticationFilter' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\security\JwtAuthenticationFilter.class]: Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'applicationConfig' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\config\ApplicationConfig.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userRepository' defined in com.boot.bootTemplate.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaSharedEM_entityManagerFactory' while setting bean property 'entityManager' +2026-03-14 18:53:13.448 INFO [restartedMain] o.a.catalina.core.StandardService : Stopping service [Tomcat] +2026-03-14 18:53:13.450 WARN [restartedMain] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server +2026-03-14 18:53:13.452 INFO [restartedMain] o.s.b.a.l.ConditionEvaluationReportLogger : + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2026-03-14 18:53:13.463 ERROR [restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. + +Reason: Failed to determine a suitable driver class + + +Action: + +Consider the following: + If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. + If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active). + +2026-03-14 18:53:30.160 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:53:30.160 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:53:30.258 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:53:30.258 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:53:30.305 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:53:30.305 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:53:30.305 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:53:30.305 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:53:30.321 INFO [restartedMain] o.a.c.c.C.[Tomcat-1].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:53:30.321 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 160 ms +2026-03-14 18:53:30.321 ERROR [restartedMain] o.s.b.w.e.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'jwtAuthenticationFilter' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\security\JwtAuthenticationFilter.class]: Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'applicationConfig' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\config\ApplicationConfig.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userRepository' defined in com.boot.bootTemplate.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaSharedEM_entityManagerFactory' while setting bean property 'entityManager' +2026-03-14 18:53:30.337 INFO [restartedMain] o.a.catalina.core.StandardService : Stopping service [Tomcat] +2026-03-14 18:53:30.337 WARN [restartedMain] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server +2026-03-14 18:53:30.337 INFO [restartedMain] o.s.b.a.l.ConditionEvaluationReportLogger : + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2026-03-14 18:53:30.337 ERROR [restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. + +Reason: Failed to determine a suitable driver class + + +Action: + +Consider the following: + If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. + If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active). + +2026-03-14 18:53:40.941 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:53:40.941 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:53:41.052 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:53:41.056 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:53:41.103 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:53:41.103 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:53:41.103 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:53:41.103 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:53:41.112 INFO [restartedMain] o.a.c.c.C.[Tomcat-2].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:53:41.112 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 170 ms +2026-03-14 18:53:41.118 ERROR [restartedMain] o.s.b.w.e.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'jwtAuthenticationFilter' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\security\JwtAuthenticationFilter.class]: Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'applicationConfig' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\config\ApplicationConfig.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userRepository' defined in com.boot.bootTemplate.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaSharedEM_entityManagerFactory' while setting bean property 'entityManager' +2026-03-14 18:53:41.121 INFO [restartedMain] o.a.catalina.core.StandardService : Stopping service [Tomcat] +2026-03-14 18:53:41.122 WARN [restartedMain] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server +2026-03-14 18:53:41.124 INFO [restartedMain] o.s.b.a.l.ConditionEvaluationReportLogger : + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2026-03-14 18:53:41.125 ERROR [restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. + +Reason: Failed to determine a suitable driver class + + +Action: + +Consider the following: + If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. + If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active). + +2026-03-14 18:54:32.448 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:54:32.449 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:54:32.549 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:54:32.549 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:54:32.596 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:54:32.596 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:54:32.596 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:54:32.596 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:54:32.611 INFO [restartedMain] o.a.c.c.C.[Tomcat-3].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:54:32.611 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 161 ms +2026-03-14 18:54:32.611 ERROR [restartedMain] o.s.b.w.e.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'jwtAuthenticationFilter' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\security\JwtAuthenticationFilter.class]: Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'applicationConfig' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\config\ApplicationConfig.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userRepository' defined in com.boot.bootTemplate.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaSharedEM_entityManagerFactory' while setting bean property 'entityManager' +2026-03-14 18:54:32.611 INFO [restartedMain] o.a.catalina.core.StandardService : Stopping service [Tomcat] +2026-03-14 18:54:32.611 WARN [restartedMain] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server +2026-03-14 18:54:32.611 INFO [restartedMain] o.s.b.a.l.ConditionEvaluationReportLogger : + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2026-03-14 18:54:32.611 ERROR [restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. + +Reason: Failed to determine a suitable driver class + + +Action: + +Consider the following: + If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. + If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active). + +2026-03-14 18:56:10.703 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:56:10.703 INFO [restartedMain] c.b.b.BootTemplateApplication : No active profile set, falling back to 1 default profile: "default" +2026-03-14 18:56:10.808 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:56:10.808 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:56:10.855 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2026-03-14 18:56:10.855 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] +2026-03-14 18:56:10.855 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:56:10.855 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:56:10.871 INFO [restartedMain] o.a.c.c.C.[Tomcat-4].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:56:10.871 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 168 ms +2026-03-14 18:56:10.871 ERROR [restartedMain] o.s.b.w.e.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'jwtAuthenticationFilter' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\security\JwtAuthenticationFilter.class]: Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'applicationConfig' defined in file [C:\project\bootTemplate\target\classes\com\boot\bootTemplate\config\ApplicationConfig.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userRepository' defined in com.boot.bootTemplate.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaSharedEM_entityManagerFactory' while setting bean property 'entityManager' +2026-03-14 18:56:10.871 INFO [restartedMain] o.a.catalina.core.StandardService : Stopping service [Tomcat] +2026-03-14 18:56:10.871 WARN [restartedMain] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server +2026-03-14 18:56:10.871 INFO [restartedMain] o.s.b.a.l.ConditionEvaluationReportLogger : + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2026-03-14 18:56:10.871 ERROR [restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. + +Reason: Failed to determine a suitable driver class + + +Action: + +Consider the following: + If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. + If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active). + +2026-03-14 18:56:16.393 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:56:16.393 INFO [restartedMain] c.b.b.BootTemplateApplication : The following 1 profile is active: "dev" +2026-03-14 18:56:16.477 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:56:16.477 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:56:16.524 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 51888 (http) +2026-03-14 18:56:16.524 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-51888"] +2026-03-14 18:56:16.524 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:56:16.524 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:56:16.540 INFO [restartedMain] o.a.c.c.C.[Tomcat-5].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:56:16.540 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 146 ms +2026-03-14 18:56:16.555 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:56:16.555 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:56:16.555 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:56:16.555 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Starting... +2026-03-14 18:56:16.586 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-5 - Added connection org.postgresql.jdbc.PgConnection@5baaaf7a +2026-03-14 18:56:16.586 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Start completed. +2026-03-14 18:56:16.602 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:56:16.618 INFO [restartedMain] 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-14 18:56:16.618 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:56:16.688 WARN [restartedMain] o.s.b.a.o.j.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-14 18:56:16.704 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@7d53cefb, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@21569f60, org.springframework.security.web.context.SecurityContextHolderFilter@36122009, org.springframework.security.web.header.HeaderWriterFilter@1b3dbbe3, org.springframework.web.filter.CorsFilter@363b8574, org.springframework.security.web.authentication.logout.LogoutFilter@79e4a7a6, com.boot.bootTemplate.security.JwtAuthenticationFilter@5cadbf6d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4c2863fb, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3abc3b3e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@fc7e2e3, org.springframework.security.web.session.SessionManagementFilter@4e554b97, org.springframework.security.web.access.ExceptionTranslationFilter@13ad2db5, org.springframework.security.web.access.intercept.AuthorizationFilter@2d6294e4] +2026-03-14 18:56:16.739 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:56:16.739 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-51888"] +2026-03-14 18:56:16.739 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 51888 (http) with context path '' +2026-03-14 18:56:16.755 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.371 seconds (process running for 393.622) +2026-03-14 18:56:16.755 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:56:25.305 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:56:25.305 INFO [Thread-19] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-51888"] +2026-03-14 18:56:25.305 INFO [Thread-19] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:56:25.305 INFO [Thread-19] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown initiated... +2026-03-14 18:56:25.305 INFO [Thread-19] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown completed. +2026-03-14 18:56:25.367 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:56:25.367 INFO [restartedMain] c.b.b.BootTemplateApplication : The following 1 profile is active: "dev" +2026-03-14 18:56:25.485 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:56:25.485 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:56:25.532 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 51888 (http) +2026-03-14 18:56:25.532 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-51888"] +2026-03-14 18:56:25.532 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:56:25.532 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:56:25.547 INFO [restartedMain] o.a.c.c.C.[Tomcat-5].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:56:25.547 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 180 ms +2026-03-14 18:56:25.563 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:56:25.563 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:56:25.563 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:56:25.563 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Starting... +2026-03-14 18:56:25.594 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-6 - Added connection org.postgresql.jdbc.PgConnection@59dc3c7 +2026-03-14 18:56:25.594 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Start completed. +2026-03-14 18:56:25.610 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:56:25.626 INFO [restartedMain] 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-14 18:56:25.626 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:56:25.702 WARN [restartedMain] o.s.b.a.o.j.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-14 18:56:25.736 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@4af7f8a9, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6a814d9c, org.springframework.security.web.context.SecurityContextHolderFilter@2c74cd87, org.springframework.security.web.header.HeaderWriterFilter@4356e79, org.springframework.web.filter.CorsFilter@43b6a8b, org.springframework.security.web.authentication.logout.LogoutFilter@1746f211, com.boot.bootTemplate.security.JwtAuthenticationFilter@6d2bd125, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@31bca961, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1ed55f89, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@37764c9f, org.springframework.security.web.session.SessionManagementFilter@3900258, org.springframework.security.web.access.ExceptionTranslationFilter@3f3c4cc, org.springframework.security.web.access.intercept.AuthorizationFilter@77f890db] +2026-03-14 18:56:25.779 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:56:25.788 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-51888"] +2026-03-14 18:56:25.789 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 51888 (http) with context path '' +2026-03-14 18:56:25.791 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.439 seconds (process running for 402.659) +2026-03-14 18:56:25.792 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta: + + +========================== +CONDITION EVALUATION DELTA +========================== + + +Positive matches: +----------------- + + SpringDocConfigProperties matched: + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocConfiguration matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + + SpringDocConfiguration#fileSupportConverter matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.FileSupportConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#openAPIBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.OpenAPIService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#operationBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.OperationService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#parameterBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.GenericParameterService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#polymorphicModelConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.polymorphic-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.PolymorphicModelConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#requestBodyBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.RequestBodyService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#responseSupportConverter matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.ResponseSupportConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#schemaPropertyDeprecatingConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.deprecating-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.SchemaPropertyDeprecatingConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#securityParser matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.SecurityService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#springDocCustomizers matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.SpringDocCustomizers; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#springDocProviders matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringDocProviders; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration#springdocObjectMapperProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.ObjectMapperProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration.QuerydslProvider matched: + - @ConditionalOnClass found required class 'org.springframework.data.querydsl.binding.QuerydslBindingsFactory' (OnClassCondition) + + SpringDocConfiguration.QuerydslProvider#queryDslQuerydslPredicateOperationCustomizer matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.QuerydslPredicateOperationCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration.SpringDocSpringDataWebPropertiesProvider matched: + - @ConditionalOnClass found required class 'org.springframework.boot.autoconfigure.data.web.SpringDataWebProperties' (OnClassCondition) + + SpringDocConfiguration.SpringDocSpringDataWebPropertiesProvider#springDataWebPropertiesProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringDataWebPropertiesProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocConfiguration.WebConversionServiceConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.boot.autoconfigure.web.format.WebConversionService' (OnClassCondition) + + SpringDocPageableConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Pageable' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocPageableConfiguration#delegatingMethodParameterCustomizer matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.DelegatingMethodParameterCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocPageableConfiguration#pageableOpenAPIConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.pageable-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.PageableOpenAPIConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocSecurityConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.security.web.SecurityFilterChain' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnExpression (#{${springdoc.api-docs.enabled:true} and ${springdoc.enable-spring-security:true}}) resulted in true (OnExpressionCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocSecurityConfiguration.SpringSecurityLoginEndpointConfiguration matched: + - @ConditionalOnClass found required class 'jakarta.servlet.Filter' (OnClassCondition) + + SpringDocSortConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.data.domain.Sort' (OnClassCondition) + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocSortConfiguration#sortOpenAPIConverter matched: + - @ConditionalOnProperty (springdoc.model-converters.sort-converter.enabled) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.core.converters.SortOpenAPIConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocUIConfiguration matched: + - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocWebMvcConfiguration matched: + - found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.api-docs.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SpringDocWebMvcConfiguration#openApiResource matched: + - @ConditionalOnProperty (springdoc.use-management-port=false) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.api.OpenApiWebMvcResource; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration#requestBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.core.service.RequestService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration#responseBuilder matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.service.GenericResponseService; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration#springWebProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringWebProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SpringDocWebMvcConfiguration.SpringDocWebMvcRouterConfiguration matched: + - @ConditionalOnClass found required class 'org.springframework.web.servlet.function.RouterFunction' (OnClassCondition) + + SpringDocWebMvcConfiguration.SpringDocWebMvcRouterConfiguration#routerFunctionProvider matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.core.providers.RouterFunctionWebMvcProvider; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig matched: + - found 'session' scope (OnWebApplicationCondition) + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SwaggerConfig#indexPageTransformer matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerIndexTransformer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerConfigResource matched: + - @ConditionalOnProperty (springdoc.use-management-port=false) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerConfigResource; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerResourceResolver matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerResourceResolver; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerWebMvcConfigurer matched: + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerWebMvcConfigurer; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerConfig#swaggerWelcome matched: + - @ConditionalOnProperty (springdoc.use-management-port=false) matched (OnPropertyCondition) + - @ConditionalOnMissingBean (types: org.springdoc.webmvc.ui.SwaggerWelcomeWebMvc; SearchStrategy: all) did not find any beans (OnBeanCondition) + + SwaggerUiConfigParameters matched: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SwaggerUiConfigProperties matched: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + SwaggerUiOAuthProperties matched: + - @ConditionalOnProperty (springdoc.swagger-ui.enabled) matched (OnPropertyCondition) + - @ConditionalOnBean (types: org.springdoc.core.configuration.SpringDocConfiguration; SearchStrategy: all) found bean 'org.springdoc.core.configuration.SpringDocConfiguration' (OnBeanCondition) + + +Negative matches: +----------------- + + MultipleOpenApiSupportConfiguration.SpringDocWebMvcActuatorDifferentConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping' (OnClassCondition) + - Ancestor org.springdoc.webmvc.core.configuration.MultipleOpenApiSupportConfiguration did not match (ConditionEvaluationReport.AncestorsMatchedCondition) + + SpringDocConfiguration#propertiesResolverForSchema: + Did not match: + - @ConditionalOnProperty (springdoc.api-docs.resolve-schema-properties) did not find property 'springdoc.api-docs.resolve-schema-properties' (OnPropertyCondition) + + SpringDocConfiguration#propertyCustomizingConverter: + Did not match: + - @ConditionalOnBean (types: org.springdoc.core.customizers.PropertyCustomizer; SearchStrategy: all) did not find any beans of type org.springdoc.core.customizers.PropertyCustomizer (OnBeanCondition) + + SpringDocConfiguration#springdocBeanFactoryPostProcessor: + Did not match: + - AnyNestedCondition 0 matched 2 did not; NestedCondition on CacheOrGroupedOpenApiCondition.OnCacheDisabled found non-matching nested conditions @ConditionalOnProperty (springdoc.cache.disabled) did not find property 'springdoc.cache.disabled'; NestedCondition on CacheOrGroupedOpenApiCondition.OnMultipleOpenApiSupportCondition AnyNestedCondition 0 matched 2 did not; NestedCondition on MultipleOpenApiSupportCondition.OnActuatorDifferentPort @ConditionalOnProperty (springdoc.show-actuator) did not find property 'springdoc.show-actuator'; NestedCondition on MultipleOpenApiSupportCondition.OnMultipleOpenApiSupportCondition AnyNestedCondition 0 matched 2 did not; NestedCondition on MultipleOpenApiGroupsCondition.OnGroupConfigProperty @ConditionalOnProperty (springdoc.group-configs[0].group) did not find property 'springdoc.group-configs[0].group'; NestedCondition on MultipleOpenApiGroupsCondition.OnGroupedOpenApiBean @ConditionalOnBean (types: org.springdoc.core.models.GroupedOpenApi; SearchStrategy: all) did not find any beans of type org.springdoc.core.models.GroupedOpenApi (CacheOrGroupedOpenApiCondition) + Matched: + - @ConditionalOnClass found required class 'org.springframework.boot.context.properties.bind.BindResult' (OnClassCondition) + + SpringDocConfiguration#springdocBeanFactoryPostProcessor2: + Did not match: + - @ConditionalOnMissingClass found unwanted class 'org.springframework.boot.context.properties.bind.BindResult' (OnClassCondition) + + SpringDocConfiguration.SpringDocActuatorConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties' (OnClassCondition) + + SpringDocConfiguration.SpringDocRepositoryRestConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.data.rest.core.config.RepositoryRestConfiguration' (OnClassCondition) + + SpringDocConfiguration.SpringDocWebFluxSupportConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) + + SpringDocSecurityConfiguration.SpringDocSecurityOAuth2Configuration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService' (OnClassCondition) + + SpringDocSecurityConfiguration.SpringSecurityLoginEndpointConfiguration#springSecurityLoginEndpointCustomiser: + Did not match: + - @ConditionalOnProperty (springdoc.show-login-endpoint) did not find property 'springdoc.show-login-endpoint' (OnPropertyCondition) + + SpringDocSortConfiguration#delegatingMethodParameterCustomizer: + Did not match: + - @ConditionalOnMissingBean (types: org.springdoc.core.customizers.DelegatingMethodParameterCustomizer; SearchStrategy: all) found beans of type 'org.springdoc.core.customizers.DelegatingMethodParameterCustomizer' delegatingMethodParameterCustomizer (OnBeanCondition) + + SpringDocWebMvcConfiguration.SpringDocWebMvcActuatorConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping' (OnClassCondition) + + SwaggerConfig#springWebProvider: + Did not match: + - @ConditionalOnMissingBean (types: org.springdoc.core.providers.SpringWebProvider; SearchStrategy: all) found beans of type 'org.springdoc.core.providers.SpringWebProvider' springWebProvider (OnBeanCondition) + + SwaggerConfig#swaggerUiConfigParameters: + Did not match: + - @ConditionalOnMissingBean (types: org.springdoc.core.properties.SwaggerUiConfigParameters; SearchStrategy: all) found beans of type 'org.springdoc.core.properties.SwaggerUiConfigParameters' org.springdoc.core.properties.SwaggerUiConfigParameters (OnBeanCondition) + + SwaggerConfig#swaggerUiHome: + Did not match: + - @ConditionalOnProperty (springdoc.swagger-ui.use-root-path=true) did not find property 'springdoc.swagger-ui.use-root-path' (OnPropertyCondition) + + SwaggerConfig.SwaggerActuatorWelcomeConfiguration: + Did not match: + - @ConditionalOnClass did not find required class 'org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping' (OnClassCondition) + + +Exclusions: +----------- + + None + + +Unconditional classes: +---------------------- + + None + + + +2026-03-14 18:56:49.571 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:56:49.571 INFO [Thread-38] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-51888"] +2026-03-14 18:56:49.571 INFO [Thread-38] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:56:49.571 INFO [Thread-38] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Shutdown initiated... +2026-03-14 18:56:49.571 INFO [Thread-38] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Shutdown completed. +2026-03-14 18:56:49.634 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 4024 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:56:49.634 INFO [restartedMain] c.b.b.BootTemplateApplication : The following 1 profile is active: "dev" +2026-03-14 18:56:49.742 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:56:49.747 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 18:56:49.794 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 51888 (http) +2026-03-14 18:56:49.794 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-51888"] +2026-03-14 18:56:49.795 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:56:49.795 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:56:49.805 INFO [restartedMain] o.a.c.c.C.[Tomcat-5].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:56:49.805 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 171 ms +2026-03-14 18:56:49.822 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:56:49.823 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:56:49.825 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:56:49.826 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Starting... +2026-03-14 18:56:49.846 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-7 - Added connection org.postgresql.jdbc.PgConnection@41b9f78a +2026-03-14 18:56:49.846 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Start completed. +2026-03-14 18:56:49.862 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:56:49.877 INFO [restartedMain] 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-14 18:56:49.877 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:56:49.954 WARN [restartedMain] o.s.b.a.o.j.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-14 18:56:49.980 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@20105896, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3a7cc859, org.springframework.security.web.context.SecurityContextHolderFilter@57245f65, org.springframework.security.web.header.HeaderWriterFilter@41069d5b, org.springframework.web.filter.CorsFilter@6408d181, org.springframework.security.web.authentication.logout.LogoutFilter@22270a3f, com.boot.bootTemplate.security.JwtAuthenticationFilter@49d3a789, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2ff5c393, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5a6c7f73, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@703f5666, org.springframework.security.web.session.SessionManagementFilter@78eeb042, org.springframework.security.web.access.ExceptionTranslationFilter@5e94d7ad, org.springframework.security.web.access.intercept.AuthorizationFilter@1ae1c85e] +2026-03-14 18:56:50.016 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:56:50.022 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-51888"] +2026-03-14 18:56:50.023 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 51888 (http) with context path '' +2026-03-14 18:56:50.025 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.407 seconds (process running for 426.893) +2026-03-14 18:56:50.026 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 18:57:57.554 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:57:57.554 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Shutdown initiated... +2026-03-14 18:57:57.555 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-7 - Shutdown completed. +2026-03-14 18:57:59.664 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9488 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:57:59.665 INFO [restartedMain] c.b.b.BootTemplateApplication : The following 1 profile is active: "dev" +2026-03-14 18:57:59.693 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 18:57:59.693 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 18:58:00.135 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:58:00.169 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 30 ms. Found 1 JPA repository interface. +2026-03-14 18:58:00.515 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 51888 (http) +2026-03-14 18:58:00.523 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-51888"] +2026-03-14 18:58:00.524 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:58:00.524 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:58:00.561 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:58:00.561 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 868 ms +2026-03-14 18:58:00.647 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:58:00.684 INFO [restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final +2026-03-14 18:58:00.704 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:58:00.852 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:58:00.868 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 18:58:00.960 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@541b8705 +2026-03-14 18:58:00.961 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 18:58:00.984 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:58:01.475 INFO [restartedMain] 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-14 18:58:01.507 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:58:01.835 WARN [restartedMain] o.s.b.a.o.j.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-14 18:58:01.951 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@926312, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@72d4751f, org.springframework.security.web.context.SecurityContextHolderFilter@49648e32, org.springframework.security.web.header.HeaderWriterFilter@2712fb32, org.springframework.web.filter.CorsFilter@1754b837, org.springframework.security.web.authentication.logout.LogoutFilter@2b09f627, com.boot.bootTemplate.security.JwtAuthenticationFilter@56d23a8c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7ba6bdc4, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7fee17d0, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3677e979, org.springframework.security.web.session.SessionManagementFilter@4347bac5, org.springframework.security.web.access.ExceptionTranslationFilter@1934b1d1, org.springframework.security.web.access.intercept.AuthorizationFilter@7c61daad] +2026-03-14 18:58:02.109 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:58:02.122 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-51888"] +2026-03-14 18:58:02.131 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 51888 (http) with context path '' +2026-03-14 18:58:02.139 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.774 seconds (process running for 3.158) +2026-03-14 18:59:10.928 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 18:59:10.931 INFO [Thread-5] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-51888"] +2026-03-14 18:59:10.936 INFO [Thread-5] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:59:10.938 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 18:59:10.939 INFO [Thread-5] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 18:59:11.002 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9488 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 18:59:11.002 INFO [restartedMain] c.b.b.BootTemplateApplication : The following 1 profile is active: "dev" +2026-03-14 18:59:11.127 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 18:59:11.134 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 1 JPA repository interface. +2026-03-14 18:59:11.198 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 51888 (http) +2026-03-14 18:59:11.198 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-51888"] +2026-03-14 18:59:11.198 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 18:59:11.199 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 18:59:11.210 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 18:59:11.210 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 206 ms +2026-03-14 18:59:11.229 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 18:59:11.231 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 18:59:11.233 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 18:59:11.234 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... +2026-03-14 18:59:11.266 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@6ceb7e4d +2026-03-14 18:59:11.267 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. +2026-03-14 18:59:11.272 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 18:59:11.295 INFO [restartedMain] 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-14 18:59:11.305 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 18:59:11.374 WARN [restartedMain] o.s.b.a.o.j.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-14 18:59:11.403 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@5dab94d7, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6b3ce7e1, org.springframework.security.web.context.SecurityContextHolderFilter@951adbf, org.springframework.security.web.header.HeaderWriterFilter@752624cd, org.springframework.web.filter.CorsFilter@1cebbaf5, org.springframework.security.web.authentication.logout.LogoutFilter@4a6f89da, com.boot.bootTemplate.security.JwtAuthenticationFilter@14787799, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6b3eb579, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2ffaf49f, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2190afa4, org.springframework.security.web.session.SessionManagementFilter@14eea44e, org.springframework.security.web.access.ExceptionTranslationFilter@14aec468, org.springframework.security.web.access.intercept.AuthorizationFilter@2c42208c] +2026-03-14 18:59:11.444 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 18:59:11.449 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-51888"] +2026-03-14 18:59:11.451 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 51888 (http) with context path '' +2026-03-14 18:59:11.453 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.469 seconds (process running for 72.472) +2026-03-14 18:59:11.454 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 19:00:02.704 INFO [http-nio-51888-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 19:00:02.704 INFO [http-nio-51888-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 19:00:02.705 INFO [http-nio-51888-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 19:00:02.970 INFO [http-nio-51888-exec-9] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 93 ms +2026-03-14 19:00:23.847 INFO [File Watcher] o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener : Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2026-03-14 19:00:23.849 INFO [Thread-7] o.a.coyote.http11.Http11NioProtocol : Stopping ProtocolHandler ["http-nio-51888"] +2026-03-14 19:00:23.852 INFO [Thread-7] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 19:00:23.852 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated... +2026-03-14 19:00:23.853 INFO [Thread-7] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed. +2026-03-14 19:00:23.907 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 9488 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 19:00:23.908 INFO [restartedMain] c.b.b.BootTemplateApplication : The following 1 profile is active: "dev" +2026-03-14 19:00:24.032 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 19:00:24.036 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 1 JPA repository interface. +2026-03-14 19:00:24.097 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 51888 (http) +2026-03-14 19:00:24.098 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-51888"] +2026-03-14 19:00:24.098 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 19:00:24.098 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 19:00:24.109 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 19:00:24.109 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 200 ms +2026-03-14 19:00:24.132 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 19:00:24.134 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 19:00:24.137 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 19:00:24.138 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Starting... +2026-03-14 19:00:24.169 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-3 - Added connection org.postgresql.jdbc.PgConnection@6a5bb631 +2026-03-14 19:00:24.169 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Start completed. +2026-03-14 19:00:24.174 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 19:00:24.196 INFO [restartedMain] 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-14 19:00:24.206 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 19:00:24.282 WARN [restartedMain] o.s.b.a.o.j.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-14 19:00:24.308 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@23702c15, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@662d2b91, org.springframework.security.web.context.SecurityContextHolderFilter@2e8bc834, org.springframework.security.web.header.HeaderWriterFilter@4eaa9e0e, org.springframework.web.filter.CorsFilter@435c73db, org.springframework.security.web.authentication.logout.LogoutFilter@19fdec37, com.boot.bootTemplate.security.JwtAuthenticationFilter@19ef92d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@11ceba0b, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@b0e1cd2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4132c1a3, org.springframework.security.web.session.SessionManagementFilter@78c34d15, org.springframework.security.web.access.ExceptionTranslationFilter@33519563, org.springframework.security.web.access.intercept.AuthorizationFilter@559afec5] +2026-03-14 19:00:24.347 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 19:00:24.353 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-51888"] +2026-03-14 19:00:24.355 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 51888 (http) with context path '' +2026-03-14 19:00:24.358 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 0.472 seconds (process running for 145.377) +2026-03-14 19:00:24.358 INFO [restartedMain] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged +2026-03-14 19:00:30.173 INFO [http-nio-51888-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 19:00:30.173 INFO [http-nio-51888-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 19:00:30.174 INFO [http-nio-51888-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 19:00:30.311 INFO [http-nio-51888-exec-9] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 57 ms +2026-03-14 19:00:51.092 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 19:00:51.093 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated... +2026-03-14 19:00:51.094 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed. +2026-03-14 19:00:53.013 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 16904 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 19:00:53.014 INFO [restartedMain] c.b.b.BootTemplateApplication : The following 1 profile is active: "prod" +2026-03-14 19:00:53.044 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 19:00:53.044 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 19:00:53.453 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 19:00:53.488 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 30 ms. Found 1 JPA repository interface. +2026-03-14 19:00:53.840 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 51888 (http) +2026-03-14 19:00:53.846 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-51888"] +2026-03-14 19:00:53.847 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 19:00:53.848 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 19:00:53.880 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 19:00:53.880 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 835 ms +2026-03-14 19:00:53.953 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 19:00:53.984 INFO [restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final +2026-03-14 19:00:54.003 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 19:00:54.137 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 19:00:54.153 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 19:00:54.256 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@213340f4 +2026-03-14 19:00:54.257 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 19:00:54.786 INFO [restartedMain] 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-14 19:00:54.787 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 19:00:55.083 WARN [restartedMain] o.s.b.a.o.j.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-14 19:00:55.197 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@3e4dda38, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@58cad24f, org.springframework.security.web.context.SecurityContextHolderFilter@2d52f9d6, org.springframework.security.web.header.HeaderWriterFilter@40e9d39f, org.springframework.web.filter.CorsFilter@2ffcee84, org.springframework.security.web.authentication.logout.LogoutFilter@4c28293d, com.boot.bootTemplate.security.JwtAuthenticationFilter@587d1dfc, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1e84ad90, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6b41be7c, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@50808ff3, org.springframework.security.web.session.SessionManagementFilter@77e1400a, org.springframework.security.web.access.ExceptionTranslationFilter@7372d1a7, org.springframework.security.web.access.intercept.AuthorizationFilter@7913fe40] +2026-03-14 19:00:55.321 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 19:00:55.333 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-51888"] +2026-03-14 19:00:55.343 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 51888 (http) with context path '' +2026-03-14 19:00:55.348 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.635 seconds (process running for 3.008) +2026-03-14 19:01:00.424 INFO [http-nio-51888-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 19:01:00.424 INFO [http-nio-51888-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 19:01:00.425 INFO [http-nio-51888-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2026-03-14 19:01:00.446 ERROR [http-nio-51888-exec-1] c.b.b.handler.GlobalExceptionHandler : 伺服器崩潰!原因: +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui/index.html. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at com.boot.bootTemplate.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-03-14 19:01:00.480 WARN [http-nio-51888-exec-1] o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger-ui/index.html.] +2026-03-14 19:01:04.670 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 19:01:04.672 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 19:01:04.673 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2026-03-14 19:01:09.323 INFO [restartedMain] c.b.b.BootTemplateApplication : Starting BootTemplateApplication using Java 21.0.10 with PID 15344 (C:\project\bootTemplate\target\classes started by xup65 in C:\project\bootTemplate) +2026-03-14 19:01:09.324 INFO [restartedMain] c.b.b.BootTemplateApplication : The following 1 profile is active: "dev" +2026-03-14 19:01:09.354 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2026-03-14 19:01:09.354 INFO [restartedMain] o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2026-03-14 19:01:09.793 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2026-03-14 19:01:09.827 INFO [restartedMain] o.s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 30 ms. Found 1 JPA repository interface. +2026-03-14 19:01:10.162 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat initialized with port 51888 (http) +2026-03-14 19:01:10.168 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-51888"] +2026-03-14 19:01:10.169 INFO [restartedMain] o.a.catalina.core.StandardService : Starting service [Tomcat] +2026-03-14 19:01:10.169 INFO [restartedMain] o.a.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.19] +2026-03-14 19:01:10.201 INFO [restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2026-03-14 19:01:10.201 INFO [restartedMain] o.s.b.w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 847 ms +2026-03-14 19:01:10.272 INFO [restartedMain] o.h.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2026-03-14 19:01:10.301 INFO [restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final +2026-03-14 19:01:10.320 INFO [restartedMain] o.h.c.i.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2026-03-14 19:01:10.456 INFO [restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2026-03-14 19:01:10.472 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2026-03-14 19:01:10.566 INFO [restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@77b8a1fe +2026-03-14 19:01:10.567 INFO [restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2026-03-14 19:01:10.588 WARN [restartedMain] org.hibernate.orm.deprecation : HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2026-03-14 19:01:11.111 INFO [restartedMain] 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-14 19:01:11.142 INFO [restartedMain] o.s.o.j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 19:01:11.470 WARN [restartedMain] o.s.b.a.o.j.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-14 19:01:11.581 INFO [restartedMain] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@444f0405, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3fc00997, org.springframework.security.web.context.SecurityContextHolderFilter@6d0f9872, org.springframework.security.web.header.HeaderWriterFilter@15a5b8c0, org.springframework.web.filter.CorsFilter@6cf7fef5, org.springframework.security.web.authentication.logout.LogoutFilter@191a2e54, com.boot.bootTemplate.security.JwtAuthenticationFilter@28aac9a9, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@640f1229, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3285d3e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@49f6f340, org.springframework.security.web.session.SessionManagementFilter@27938df3, org.springframework.security.web.access.ExceptionTranslationFilter@1a606295, org.springframework.security.web.access.intercept.AuthorizationFilter@27f216a] +2026-03-14 19:01:11.740 INFO [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 +2026-03-14 19:01:11.752 INFO [restartedMain] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-51888"] +2026-03-14 19:01:11.761 INFO [restartedMain] o.s.b.w.e.tomcat.TomcatWebServer : Tomcat started on port 51888 (http) with context path '' +2026-03-14 19:01:11.767 INFO [restartedMain] c.b.b.BootTemplateApplication : Started BootTemplateApplication in 2.736 seconds (process running for 3.11) +2026-03-14 19:01:17.507 INFO [http-nio-51888-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2026-03-14 19:01:17.507 INFO [http-nio-51888-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2026-03-14 19:01:17.508 INFO [http-nio-51888-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms +2026-03-14 19:01:17.764 INFO [http-nio-51888-exec-8] o.s.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 131 ms +2026-03-14 19:02:52.914 INFO [SpringApplicationShutdownHook] o.s.o.j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2026-03-14 19:02:52.916 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2026-03-14 19:02:52.917 INFO [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. diff --git a/mvnw b/mvnw new file mode 100644 index 0000000..bd8896b --- /dev/null +++ b/mvnw @@ -0,0 +1,295 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.4 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +scriptDir="$(dirname "$0")" +scriptName="$(basename "$0")" + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"$scriptDir/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${scriptName#mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c - >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +actualDistributionDir="" + +# First try the expected directory name (for regular distributions) +if [ -d "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" ]; then + if [ -f "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/bin/$MVN_CMD" ]; then + actualDistributionDir="$distributionUrlNameMain" + fi +fi + +# If not found, search for any directory with the Maven executable (for snapshots) +if [ -z "$actualDistributionDir" ]; then + # enable globbing to iterate over items + set +f + for dir in "$TMP_DOWNLOAD_DIR"/*; do + if [ -d "$dir" ]; then + if [ -f "$dir/bin/$MVN_CMD" ]; then + actualDistributionDir="$(basename "$dir")" + break + fi + fi + done + set -f +fi + +if [ -z "$actualDistributionDir" ]; then + verbose "Contents of $TMP_DOWNLOAD_DIR:" + verbose "$(ls -la "$TMP_DOWNLOAD_DIR")" + die "Could not find Maven distribution directory in extracted archive" +fi + +verbose "Found extracted Maven distribution directory: $actualDistributionDir" +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$actualDistributionDir/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$actualDistributionDir" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..92450f9 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,189 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.4 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" ("%__MVNW_CMD__%" %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND -eq $False) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace "^.*$MVNW_REPO_PATTERN",'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' + +$MAVEN_M2_PATH = "$HOME/.m2" +if ($env:MAVEN_USER_HOME) { + $MAVEN_M2_PATH = "$env:MAVEN_USER_HOME" +} + +if (-not (Test-Path -Path $MAVEN_M2_PATH)) { + New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null +} + +$MAVEN_WRAPPER_DISTS = $null +if ((Get-Item $MAVEN_M2_PATH).Target[0] -eq $null) { + $MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists" +} else { + $MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists" +} + +$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain" +$MAVEN_HOME_NAME = ([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +$actualDistributionDir = "" + +# First try the expected directory name (for regular distributions) +$expectedPath = Join-Path "$TMP_DOWNLOAD_DIR" "$distributionUrlNameMain" +$expectedMvnPath = Join-Path "$expectedPath" "bin/$MVN_CMD" +if ((Test-Path -Path $expectedPath -PathType Container) -and (Test-Path -Path $expectedMvnPath -PathType Leaf)) { + $actualDistributionDir = $distributionUrlNameMain +} + +# If not found, search for any directory with the Maven executable (for snapshots) +if (!$actualDistributionDir) { + Get-ChildItem -Path "$TMP_DOWNLOAD_DIR" -Directory | ForEach-Object { + $testPath = Join-Path $_.FullName "bin/$MVN_CMD" + if (Test-Path -Path $testPath -PathType Leaf) { + $actualDistributionDir = $_.Name + } + } +} + +if (!$actualDistributionDir) { + Write-Error "Could not find Maven distribution directory in extracted archive" +} + +Write-Verbose "Found extracted Maven distribution directory: $actualDistributionDir" +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$actualDistributionDir" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..0131e81 --- /dev/null +++ b/pom.xml @@ -0,0 +1,123 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.4 + + + com.boot + bootTemplate + 0.0.1-SNAPSHOT + bootTemplate + Standard Spring Boot Template with JWT, Swagger, and Logging + + + 21 + 0.12.5 + 2.3.0 + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.postgresql + postgresql + runtime + + + + org.projectlombok + lombok + 1.18.32 true + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + + io.jsonwebtoken + jjwt-api + ${jjwt.version} + + + io.jsonwebtoken + jjwt-impl + ${jjwt.version} + runtime + + + io.jsonwebtoken + jjwt-jackson + ${jjwt.version} + runtime + + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc.version} + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.security + spring-security-test + test + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + ${java.version} + ${java.version} + + + org.projectlombok + lombok + 1.18.32 + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/boot/bootTemplate/BootTemplateApplication.java b/src/main/java/com/boot/bootTemplate/BootTemplateApplication.java new file mode 100644 index 0000000..08b16b1 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/BootTemplateApplication.java @@ -0,0 +1,13 @@ +package com.boot.bootTemplate; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class BootTemplateApplication { + + public static void main(String[] args) { + SpringApplication.run(BootTemplateApplication.class, args); + } + +} diff --git a/src/main/java/com/boot/bootTemplate/Role.java b/src/main/java/com/boot/bootTemplate/Role.java new file mode 100644 index 0000000..3185981 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/Role.java @@ -0,0 +1,7 @@ +package com.boot.bootTemplate; + +public enum Role { + USER, + VIP, + ADMIN +} diff --git a/src/main/java/com/boot/bootTemplate/config/ApplicationConfig.java b/src/main/java/com/boot/bootTemplate/config/ApplicationConfig.java new file mode 100644 index 0000000..e5f1369 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/config/ApplicationConfig.java @@ -0,0 +1,47 @@ +package com.boot.bootTemplate.config; + + +import com.boot.bootTemplate.repository.UserRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.authentication.dao.DaoAuthenticationProvider; +import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; + +@Configuration +@RequiredArgsConstructor +public class ApplicationConfig { + + private final UserRepository userRepository; // 確保你有建立 UserRepository + + @Bean + public UserDetailsService userDetailsService() { + return username -> userRepository.findByEmail(username) + .orElseThrow(() -> new UsernameNotFoundException("User not found")); + } + + @Bean + public AuthenticationProvider authenticationProvider() { + DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider(); + authProvider.setUserDetailsService(userDetailsService()); + // 正確:這裡必須呼叫 passwordEncoder() 這個 Bean + authProvider.setPasswordEncoder(passwordEncoder()); + return authProvider; + } + + @Bean + public PasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(); + } + + @Bean + public AuthenticationManager authenticationManager(AuthenticationConfiguration config) throws Exception { + return config.getAuthenticationManager(); + } +} diff --git a/src/main/java/com/boot/bootTemplate/config/OpenApiConfig.java b/src/main/java/com/boot/bootTemplate/config/OpenApiConfig.java new file mode 100644 index 0000000..b254053 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/config/OpenApiConfig.java @@ -0,0 +1,33 @@ +package com.boot.bootTemplate.config; + + +import io.swagger.v3.oas.models.Components; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.security.SecurityRequirement; +import io.swagger.v3.oas.models.security.SecurityScheme; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class OpenApiConfig { + + @Bean + public OpenAPI customOpenAPI() { + final String securitySchemeName = "bearerAuth"; + return new OpenAPI() + .info(new Info() + .title("Boot Template API") + .version("1.0") + .description("這是我的 Spring Boot 範本專案 API 文件")) + // 設定 JWT 認證框 + .addSecurityItem(new SecurityRequirement().addList(securitySchemeName)) + .components(new Components() + .addSecuritySchemes(securitySchemeName, + new SecurityScheme() + .name(securitySchemeName) + .type(SecurityScheme.Type.HTTP) + .scheme("bearer") + .bearerFormat("JWT"))); + } +} diff --git a/src/main/java/com/boot/bootTemplate/controller/AuthenticationController.java b/src/main/java/com/boot/bootTemplate/controller/AuthenticationController.java new file mode 100644 index 0000000..60cd698 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/controller/AuthenticationController.java @@ -0,0 +1,37 @@ +package com.boot.bootTemplate.controller; + +import com.boot.bootTemplate.dto.auth.AuthenticationRequest; +import com.boot.bootTemplate.dto.auth.AuthenticationResponse; +import com.boot.bootTemplate.dto.auth.RegisterRequest; +import com.boot.bootTemplate.entities.User; +import com.boot.bootTemplate.service.AuthenticationService; +import lombok.RequiredArgsConstructor; +import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.web.bind.annotation.*; + + +@RestController +@RequestMapping("/auth") +@RequiredArgsConstructor +public class AuthenticationController { + + private final AuthenticationService service; + + @PostMapping("/register") + public AuthenticationResponse register(@RequestBody RegisterRequest request) { + // 沒錯,直接回傳物件就好,攔截器會自動幫你包上 status, message, timestamp + return service.register(request); + } + + @PostMapping("/authenticate") + public AuthenticationResponse authenticate(@RequestBody AuthenticationRequest request) { + return service.authenticate(request); + } + + @GetMapping("/me") + public String sayHello(@AuthenticationPrincipal User user) { + // 使用 Map 是最快且最安全的方式,Spring 會自動把它轉成 JSON 物件 + System.out.println(user.getEmail()); + return "你好!你的 Email 是 %s,你的角色是 %s。"; + } +} diff --git a/src/main/java/com/boot/bootTemplate/dto/api/ApiResponse.java b/src/main/java/com/boot/bootTemplate/dto/api/ApiResponse.java new file mode 100644 index 0000000..c36aee5 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/dto/api/ApiResponse.java @@ -0,0 +1,17 @@ +package com.boot.bootTemplate.dto.api; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ApiResponse { + private int status; // HTTP 狀態碼 (如 200, 400, 403) + private String message; // 訊息說明 + private T data; // 實際資料內容 + private long timestamp; // 發生時間 +} diff --git a/src/main/java/com/boot/bootTemplate/dto/auth/AuthenticationRequest.java b/src/main/java/com/boot/bootTemplate/dto/auth/AuthenticationRequest.java new file mode 100644 index 0000000..bf2edc7 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/dto/auth/AuthenticationRequest.java @@ -0,0 +1,15 @@ +package com.boot.bootTemplate.dto.auth; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AuthenticationRequest { + private String email; + String password; +} diff --git a/src/main/java/com/boot/bootTemplate/dto/auth/AuthenticationResponse.java b/src/main/java/com/boot/bootTemplate/dto/auth/AuthenticationResponse.java new file mode 100644 index 0000000..48e484a --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/dto/auth/AuthenticationResponse.java @@ -0,0 +1,15 @@ +package com.boot.bootTemplate.dto.auth; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AuthenticationResponse { + private String token; +} \ No newline at end of file diff --git a/src/main/java/com/boot/bootTemplate/dto/auth/RegisterRequest.java b/src/main/java/com/boot/bootTemplate/dto/auth/RegisterRequest.java new file mode 100644 index 0000000..aee9579 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/dto/auth/RegisterRequest.java @@ -0,0 +1,17 @@ +package com.boot.bootTemplate.dto.auth; + + + +import com.boot.bootTemplate.Role; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data @Builder @AllArgsConstructor @NoArgsConstructor +public class RegisterRequest { + private String email; + private String password; + private Role role; // 或者你在 Service 裡面寫死預設為 USER +} diff --git a/src/main/java/com/boot/bootTemplate/entities/User.java b/src/main/java/com/boot/bootTemplate/entities/User.java new file mode 100644 index 0000000..06c9c57 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/entities/User.java @@ -0,0 +1,74 @@ +package com.boot.bootTemplate.entities; + + +import com.boot.bootTemplate.Role; +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; + +import java.util.Collection; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Entity +@Table(name = "_user") // 'user' 在 PostgreSQL 是保留字,建議加底線或改名 +public class User implements UserDetails { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + + @Column(unique = true, nullable = false) + private String email; + + private String password; + + @Enumerated(EnumType.STRING) + private Role role; + + // --- UserDetails 介面實作方法 --- + + @Override + public Collection getAuthorities() { + // 將 Role 轉換為 Spring Security 識別的 Authority + return List.of(new SimpleGrantedAuthority(role.name())); + } + + @Override + public String getUsername() { + return email; // 我們使用 email 作為登入帳號 + } + + @Override + public String getPassword() { + return password; + } + + @Override + public boolean isAccountNonExpired() { + return true; + } + + @Override + public boolean isAccountNonLocked() { + return true; + } + + @Override + public boolean isCredentialsNonExpired() { + return true; + } + + @Override + public boolean isEnabled() { + return true; + } +} diff --git a/src/main/java/com/boot/bootTemplate/handler/GlobalExceptionHandler.java b/src/main/java/com/boot/bootTemplate/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..d56f26a --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/handler/GlobalExceptionHandler.java @@ -0,0 +1,68 @@ +package com.boot.bootTemplate.handler; + +import com.boot.bootTemplate.dto.api.ApiResponse; // 確保有建立這個類別 +import lombok.extern.slf4j.Slf4j; +import org.springframework.dao.DataIntegrityViolationException; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +import java.time.Instant; +import java.util.NoSuchElementException; + +@RestControllerAdvice +@Slf4j // 為了記錄 log 到檔案中 +public class GlobalExceptionHandler { + + // 1. 處理 Email 重複(常見於註冊) + @ExceptionHandler(DataIntegrityViolationException.class) + public ResponseEntity> handleConflict(DataIntegrityViolationException ex) { + log.warn("資料衝突(可能 Email 重複): {}", ex.getMessage()); + return buildResponse(HttpStatus.CONFLICT, "該帳號已被註冊!"); + } + + // 2. 處理找不到資料的情況 + @ExceptionHandler(NoSuchElementException.class) + public ResponseEntity> handleNotFound(NoSuchElementException ex) { + log.warn("資源不存在: {}", ex.getMessage()); + return buildResponse(HttpStatus.NOT_FOUND, "找不到該資源"); + } + + // 3. 捕捉所有未預期的錯誤(兜底) + @ExceptionHandler(Exception.class) + public ResponseEntity> handleGeneral(Exception ex) { + // ERROR 級別會觸發你在 logback-spring.xml 設定的錯誤記錄 + log.error("伺服器崩潰!原因: ", ex); + return buildResponse(HttpStatus.INTERNAL_SERVER_ERROR, "伺服器發生錯誤,請聯絡管理員"); + } + + // 4. 處理登入失敗 (密碼錯誤或帳號不存在) + @ExceptionHandler(org.springframework.security.authentication.BadCredentialsException.class) + public ResponseEntity> handleBadCredentials(org.springframework.security.authentication.BadCredentialsException ex) { + log.warn("登入失敗: 帳號或密碼錯誤"); + return buildResponse(HttpStatus.UNAUTHORIZED, "帳號或密碼錯誤"); // 回傳 401 + } + + // 處理沒權限或未登入 (403) + @ExceptionHandler(org.springframework.security.access.AccessDeniedException.class) + public ResponseEntity> handleAccessDenied(org.springframework.security.access.AccessDeniedException ex) { + log.warn("權限不足,請重新登入"); + return ResponseEntity.status(403).body(ApiResponse.builder() + .status(403) + .message("權限不足,請重新登入") + .timestamp(System.currentTimeMillis()) + .build()); + } + + // 輔助方法:統一建構回傳格式 + private ResponseEntity> buildResponse(HttpStatus status, String message) { + ApiResponse response = ApiResponse.builder() + .status(status.value()) + .message(message) + .data(null) + .timestamp(Instant.now().toEpochMilli()) + .build(); + return new ResponseEntity<>(response, status); + } +} \ No newline at end of file diff --git a/src/main/java/com/boot/bootTemplate/handler/ResponseHandler.java b/src/main/java/com/boot/bootTemplate/handler/ResponseHandler.java new file mode 100644 index 0000000..ece9370 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/handler/ResponseHandler.java @@ -0,0 +1,61 @@ +package com.boot.bootTemplate.handler; + +import com.boot.bootTemplate.dto.api.ApiResponse; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.core.MethodParameter; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.StringHttpMessageConverter; +import org.springframework.http.server.ServerHttpRequest; +import org.springframework.http.server.ServerHttpResponse; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; + +import java.time.Instant; + +@RestControllerAdvice(basePackages = "com.boot.bootTemplate") +@RequiredArgsConstructor // 自動注入建構子,這會幫你注入 objectMapper +public class ResponseHandler implements ResponseBodyAdvice { + + // 必須注入這個,才能處理 String 轉 JSON 的問題 + private final ObjectMapper objectMapper; + + @Override + public boolean supports(MethodParameter returnType, Class> converterType) { + // 如果原本回傳就是 ApiResponse,就不再包裝 + return !returnType.getParameterType().equals(ApiResponse.class); + } + + @Override + public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, + Class> selectedConverterType, + ServerHttpRequest request, ServerHttpResponse response) { + + // 1. 排除 Swagger 與 已經包裝過的 ApiResponse + if (body instanceof ApiResponse || request.getURI().getPath().contains("/v3/api-docs")) { + return body; + } + + // 2. 建立統一的包裝物件 + ApiResponse apiResponse = ApiResponse.builder() + .status(200) + .message("success") + .data(body) + .timestamp(Instant.now().toEpochMilli()) + .build(); + + // 3. 處理 String 型態的特殊情況 (一勞永逸法) + if (selectedConverterType.equals(StringHttpMessageConverter.class) || body instanceof String) { + try { + // 強制回傳 JSON 字串,避免 StringHttpMessageConverter 報錯 + return objectMapper.writeValueAsString(apiResponse); + } catch (JsonProcessingException e) { + return "{\"status\": 500, \"message\": \"JSON package error\"}"; + } + } + + return apiResponse; + } +} \ No newline at end of file diff --git a/src/main/java/com/boot/bootTemplate/repository/UserRepository.java b/src/main/java/com/boot/bootTemplate/repository/UserRepository.java new file mode 100644 index 0000000..5318a2c --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/repository/UserRepository.java @@ -0,0 +1,10 @@ +package com.boot.bootTemplate.repository; + + +import com.boot.bootTemplate.entities.User; +import org.springframework.data.jpa.repository.JpaRepository; +import java.util.Optional; + +public interface UserRepository extends JpaRepository { + Optional findByEmail(String email); +} diff --git a/src/main/java/com/boot/bootTemplate/security/JwtAuthenticationFilter.java b/src/main/java/com/boot/bootTemplate/security/JwtAuthenticationFilter.java new file mode 100644 index 0000000..6fd0e88 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/security/JwtAuthenticationFilter.java @@ -0,0 +1,69 @@ +package com.boot.bootTemplate.security; + +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import org.springframework.lang.NonNull; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; +import org.springframework.stereotype.Component; +import org.springframework.web.filter.OncePerRequestFilter; + +import java.io.IOException; + +@Component +@RequiredArgsConstructor +public class JwtAuthenticationFilter extends OncePerRequestFilter { + + private final JwtService jwtService; + private final UserDetailsService userDetailsService; + + @Override + protected void doFilterInternal( + @NonNull HttpServletRequest request, + @NonNull HttpServletResponse response, + @NonNull FilterChain filterChain + ) throws ServletException, IOException { + + // 1. 取得 Header 中的 Authorization + final String authHeader = request.getHeader("Authorization"); + final String jwt; + final String userEmail; + + // 2. 【關鍵點】如果沒有 Token,直接交給下一個過濾器,不做後續驗證 + if (authHeader == null || !authHeader.startsWith("Bearer ")) { + filterChain.doFilter(request, response); + return; + } + + // 3. 提取 Token (去除 "Bearer " 這 7 個字元) + jwt = authHeader.substring(7); + userEmail = jwtService.extractUsername(jwt); + + // 4. 如果有 email 且目前 Security 上下文還沒被驗證過 + if (userEmail != null && SecurityContextHolder.getContext().getAuthentication() == null) { + UserDetails userDetails = this.userDetailsService.loadUserByUsername(userEmail); + + // 5. 驗證 Token 是否合法 + if (jwtService.isTokenValid(jwt, userDetails)) { + UsernamePasswordAuthenticationToken authToken = new UsernamePasswordAuthenticationToken( + userDetails, + null, + userDetails.getAuthorities() + ); + authToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); + + // 6. 更新 Security 上下文,後續請求就代表「已登入」 + SecurityContextHolder.getContext().setAuthentication(authToken); + } + } + + // 7. 繼續執行過濾鏈 + filterChain.doFilter(request, response); + } +} diff --git a/src/main/java/com/boot/bootTemplate/security/JwtService.java b/src/main/java/com/boot/bootTemplate/security/JwtService.java new file mode 100644 index 0000000..7ecc685 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/security/JwtService.java @@ -0,0 +1,80 @@ +package com.boot.bootTemplate.security; + +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.io.Decoders; +import io.jsonwebtoken.security.Keys; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.stereotype.Service; + +import javax.crypto.SecretKey; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.function.Function; + +@Service +public class JwtService { + + // 注意:這是一個 Base64 編碼過的 256-bit 密鑰範例 + // 實際開發建議放在 application.yml 並確保長度足夠 + private static final String SECRET_KEY = "404E635266556A586E3272357538782F413F4428472B4B6250645367566B5970"; + + // 1. 從 Token 中提取使用者名稱 (Subject) + public String extractUsername(String token) { + return extractClaim(token, Claims::getSubject); + } + + // 2. 泛型方法:提取 Token 內的特定資訊 (Claim) + public T extractClaim(String token, Function claimsResolver) { + final Claims claims = extractAllClaims(token); + return claimsResolver.apply(claims); + } + + // 3. 產生 Token (僅含 UserDetails) + public String generateToken(UserDetails userDetails) { + return generateToken(new HashMap<>(), userDetails); + } + + // 4. 產生 Token (含自定義 Claims) + public String generateToken(Map extraClaims, UserDetails userDetails) { + return Jwts.builder() + .claims(extraClaims) + .subject(userDetails.getUsername()) + .issuedAt(new Date(System.currentTimeMillis())) + .expiration(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24)) // 24小時效期 + .signWith(getSignInKey()) + .compact(); + } + + // 5. 驗證 Token 是否合法 (使用者名稱相符且未過期) + public boolean isTokenValid(String token, UserDetails userDetails) { + final String username = extractUsername(token); + return (username.equals(userDetails.getUsername())) && !isTokenExpired(token); + } + + // 6. 檢查 Token 是否過期 + private boolean isTokenExpired(String token) { + return extractExpiration(token).before(new Date()); + } + + // 7. 提取過期時間 + private Date extractExpiration(String token) { + return extractClaim(token, Claims::getExpiration); + } + + // 8. 解析 Token 取得所有 Claims + private Claims extractAllClaims(String token) { + return Jwts.parser() + .verifyWith(getSignInKey()) + .build() + .parseSignedClaims(token) + .getPayload(); + } + + // 9. 獲取簽名用的 Key + private SecretKey getSignInKey() { + byte[] keyBytes = Decoders.BASE64.decode(SECRET_KEY); + return Keys.hmacShaKeyFor(keyBytes); + } +} \ No newline at end of file diff --git a/src/main/java/com/boot/bootTemplate/security/SecurityConfig.java b/src/main/java/com/boot/bootTemplate/security/SecurityConfig.java new file mode 100644 index 0000000..23cc11a --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/security/SecurityConfig.java @@ -0,0 +1,60 @@ +package com.boot.bootTemplate.security; + +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; +import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; + +@Configuration +@EnableWebSecurity +@RequiredArgsConstructor +public class SecurityConfig { + + private final JwtAuthenticationFilter jwtAuthFilter; + private final AuthenticationProvider authenticationProvider; + + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { + http + // 1. 關閉 CSRF (因為我們使用 JWT) + .csrf(AbstractHttpConfigurer::disable) + + // 2. 設定權限控管 + .authorizeHttpRequests(auth -> auth + // 這裡放完全公開的 API + .requestMatchers("/auth/**").permitAll() + + // 這裡放 Swagger / OpenAPI 相關的所有資源路徑 + .requestMatchers( + "/v3/api-docs", + "/v3/api-docs/**", + "/swagger-ui/**", + "/swagger-ui.html", + "/swagger-resources/**", + "/webjars/**" + ).permitAll() + + // 其餘所有請求都需要驗證 (Token) + .anyRequest().authenticated() + ) + + // 3. 設定 Session 策略為「無狀態」 (Stateless) + .sessionManagement(session -> + session.sessionCreationPolicy(SessionCreationPolicy.STATELESS) + ) + + // 4. 設定認證提供者 + .authenticationProvider(authenticationProvider) + + // 5. 在標準過濾器之前加入我們的 JWT 過濾器 + .addFilterBefore(jwtAuthFilter, UsernamePasswordAuthenticationFilter.class); + + return http.build(); + } +} diff --git a/src/main/java/com/boot/bootTemplate/service/AuthenticationService.java b/src/main/java/com/boot/bootTemplate/service/AuthenticationService.java new file mode 100644 index 0000000..2cea132 --- /dev/null +++ b/src/main/java/com/boot/bootTemplate/service/AuthenticationService.java @@ -0,0 +1,51 @@ +package com.boot.bootTemplate.service; + +import com.boot.bootTemplate.dto.auth.AuthenticationRequest; +import com.boot.bootTemplate.dto.auth.AuthenticationResponse; +import com.boot.bootTemplate.dto.auth.RegisterRequest; +import com.boot.bootTemplate.security.JwtService; +import com.boot.bootTemplate.entities.User; +import com.boot.bootTemplate.repository.UserRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class AuthenticationService { + private final UserRepository repository; + private final PasswordEncoder passwordEncoder; + private final JwtService jwtService; + private final AuthenticationManager authenticationManager; + + public AuthenticationResponse register(RegisterRequest request) { + var user = User.builder() + .email(request.getEmail()) + .password(passwordEncoder.encode(request.getPassword())) + .role(request.getRole()) + .build(); + repository.save(user); + var jwtToken = jwtService.generateToken(user); + return AuthenticationResponse.builder() + .token(jwtToken) + .build(); + } + + public AuthenticationResponse authenticate(AuthenticationRequest request) { + // 這行會自動去資料庫比對密碼 + authenticationManager.authenticate( + new UsernamePasswordAuthenticationToken( + request.getEmail(), + request.getPassword() + ) + ); + var user = repository.findByEmail(request.getEmail()) + .orElseThrow(); + var jwtToken = jwtService.generateToken(user); + return AuthenticationResponse.builder() + .token(jwtToken) + .build(); + } +} \ No newline at end of file diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties new file mode 100644 index 0000000..c9e0ec4 --- /dev/null +++ b/src/main/resources/application-dev.properties @@ -0,0 +1,14 @@ +# ????? (????) +spring.datasource.url=jdbc:postgresql://localhost:58677/temp +spring.datasource.username=postgres +spring.datasource.password=Zaneanan0101+ +spring.datasource.driver-class-name=org.postgresql.Driver + +# JPA ???????????????? (?????) +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect + +# Swagger?????????????? +springdoc.api-docs.enabled=true +springdoc.swagger-ui.enabled=true \ No newline at end of file diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties new file mode 100644 index 0000000..c54a777 --- /dev/null +++ b/src/main/resources/application-prod.properties @@ -0,0 +1,12 @@ +# ????? (???? - ????????????????) +spring.datasource.url=jdbc:postgresql://localhost:58677/temp +spring.datasource.username=postgres +spring.datasource.password=Zaneanan0101+ + +# JPA ??????????????????????????? +spring.jpa.hibernate.ddl-auto=none +spring.jpa.show-sql=false + +# Swagger?????????? API ??? (????????????) +springdoc.api-docs.enabled=false +springdoc.swagger-ui.enabled=false \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..75f5f19 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,15 @@ +# ???? +spring.application.name=bootTemplate +server.port=51888 + +# ?????? (????? dev??????? prod) +spring.profiles.active=dev + +# Log ?? (??????) +logging.file.path=./logs +logging.file.name=${logging.file.path}/application.log + +# Swagger ?????? +springdoc.swagger-ui.path=/swagger-ui.html +springdoc.api-docs.path=/v3/api-docs +springdoc.writer-with-default-pretty-printer=true \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..6651ba4 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + UTF-8 + + + + + ${LOG_FILE} + + + ${LOG_PATH}/archived/application.%d{yyyy-MM-dd}.%i.log.gz + + 100MB + + 30 + + 3GB + + + + ${FILE_LOG_PATTERN} + UTF-8 + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/java/com/boot/bootTemplate/BootTemplateApplicationTests.java b/src/test/java/com/boot/bootTemplate/BootTemplateApplicationTests.java new file mode 100644 index 0000000..58abff5 --- /dev/null +++ b/src/test/java/com/boot/bootTemplate/BootTemplateApplicationTests.java @@ -0,0 +1,13 @@ +package com.boot.bootTemplate; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class BootTemplateApplicationTests { + + @Test + void contextLoads() { + } + +}