我是 Spring 新手,正在處理這個問題。
它拋出一個例外:
嘗試執行 CommandLineRunner 時失敗。
我嘗試了幾種方法,但控制臺中的結果仍然相同:
java.lang.IllegalStateException: Failed to execute CommandLineRunner
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:774) ~[spring-boot-2.7.4.jar:2.7.4]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:755) ~[spring-boot-2.7.4.jar:2.7.4]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.7.4.jar:2.7.4]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.4.jar:2.7.4]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.4.jar:2.7.4]
at io.getarrays.userservice.UserserviceApplication.main(UserserviceApplication.java:19) ~[classes/:na]
Caused by: java.lang.NullPointerException: Cannot invoke "io.getarrays.userservice.domain.User.getRoles()" because "user" is null
at io.getarrays.userservice.service.UserServiceImpl.addRoleToUser(UserServiceImpl.java:36) ~[classes/:na]
at io.getarrays.userservice.service.UserServiceImpl$$FastClassBySpringCGLIB$$cf86a147.invoke(<generated>) ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.23.jar:5.3.23]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) ~[spring-aop-5.3.23.jar:5.3.23]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.23.jar:5.3.23]
at `Datos en Consola`org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.23.jar:5.3.23]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.23.jar:5.3.23]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) ~[spring-aop-5.3.23.jar:5.3.23]
at io.getarrays.userservice.service.UserServiceImpl$$EnhancerBySpringCGLIB$$4c838cf9.addRoleToUser(<generated>) ~[classes/:na]
at io.getarrays.userservice.UserserviceApplication.lambda$run$0(UserserviceApplication.java:35) ~[classes/:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771) ~[spring-boot-2.7.4.jar:2.7.4]
... 5 common frames omitted
代碼:
@SpringBootApplication
public class UserserviceApplication {
public static void main(String[] args) {
SpringApplication.run(UserserviceApplication.class, args);
}
@Bean
CommandLineRunner run(UserService userService){
return args -> {
保存角色
userService.saveRole(new Role(null, "ROLE_USER"));
userService.saveRole(new Role(null, "ROLE_MANAGER"));
userService.saveRole(new Role(null, "ROLE_ADMIN"));
userService.saveRole(new Role(null, "ROLE_SUPER_ADMIN"));
保存用戶
userService.saveUser(new User(null,"John Travolta","jhon","1234", new ArrayList<>()));
userService.saveUser(new User(null,"Will Smith","will","1234", new ArrayList<>()));
userService.saveUser(new User(null,"Jim Carry","jim","1234", new ArrayList<>()));
userService.saveUser(new User(null,"Arnold Schwarzenegger","arnold","1234", new ArrayList<>()));
為用戶添加角色
userService.addRoleToUser("john","ROLE_USER");
userService.addRoleToUser("will","ROLE_MANAGER");
userService.addRoleToUser("jim","ROLE_ADMIN");
userService.addRoleToUser("arnold","ROLE_SUPER_ADMIN");
userService.addRoleToUser("arnold","ROLE_ADMIN");
userService.addRoleToUser("arnold","ROLE_USER");
};
}
}
uj5u.com熱心網友回復:
Caused by: java.lang.NullPointerException: Cannot invoke "io.getarrays.userservice.domain.User.getRoles()" because "user" is null at io.getarrays.userservice.service.UserServiceImpl.addRoleToUser(UserServiceImpl.java:36) ~[classes/:na]
所以問題出在第 36 行UserServiceImpl.java。我的猜測:由于該方法的第一個引數:addRoleToUser
...可能只是一個錯字:“john”與“jhon”
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/514373.html
標籤:爪哇弹簧靴行家智能理念
