Spring MVC项目中的空指针异常

Spring MVC项目中的空指针异常,spring,spring-boot,spring-mvc,model-view-controller,nullpointerexception,Spring,Spring Boot,Spring Mvc,Model View Controller,Nullpointerexception,我正在创建一个包含教授字段的表单,这些字段是id(long)、nome(string)、username(string)、email(string)和curso_-coord(curso),因为curso是课程的参考变量 在表单中,输入用户名、名称和电子邮件字段供用户填写,如果用户是该课程的协调员,则该课程是供用户选择该课程的选项,如果不是,则为-1 我尝试使用curso.get(0).getId()来解决这个问题,但这还不够 @Controller @RequestMapping(value

我正在创建一个包含教授字段的表单,这些字段是id(long)、nome(string)、username(string)、email(string)和curso_-coord(curso),因为curso是课程的参考变量

在表单中,输入用户名、名称和电子邮件字段供用户填写,如果用户是该课程的协调员,则该课程是供用户选择该课程的选项,如果不是,则为-1

我尝试使用curso.get(0).getId()来解决这个问题,但这还不够

@Controller
@RequestMapping(value = { "/professor" })
public class ProfessorController {
    @Autowired
    ProfessorRepository pr;
    CursoRepository c;

    @GetMapping(value = "")
    @ResponseBody
    public ModelAndView professorInicio() {
        ModelAndView form = new ModelAndView("/form");
        form.addObject("professor", new Professor());
        List<Curso> curso = c.findAll();
        curso.get(0).getId();
        form.addObject("curso", curso);
        return form;
    }

    @PostMapping(value = "")
    @ResponseBody
    public ModelAndView cadastraProfessor(@ModelAttribute ("professor") Professor professor){
        //Professor prof = new Professor();
        ModelAndView index = new ModelAndView("/index");
        professor.getUsername();
        professor.getEmail();
        professor.getNome();
        professor.getCursoCoord();
        pr.save(professor);

        return index;
    }

 ....
}

<form th:action="@{/professor}" th:object = "${professor}" method="POST">

            <div class = "form-group">
                <label for = "username">Username</label>
                <input type = "text" th:field = "*{username}" autofocus = "autofocus"/>
            </div>
            <div class = "form-group">
                    <label for = "nome">Nome</label>
                    <input type = "text" th:field = "*{nome}" autofocus = "autofocus"/>
            </div>
            <div class = "form-group">
                    <label for = "email">Email</label>
                    <input type = "hidden" name="email" value="">
                    <input type = "text" th:field = "*{email}" autofocus = "autofocus"/>
            </div>
            <div class = "form-group">
                <select th:field = "*{curso_coord}">
                    <option 
                    th:each = "c: ${cursos}"
                    th:value = "${c.id}">Cursos
                    </option>
                    <option value = -1> Não Coordenador
                    </option>
                </select>"
            </div>
            <button type = "submit" class = "btn btn-success ">Salvar</button>
        </form>
@控制器
@请求映射(值={“/”教授“})
公开课教授兼主任{
@自动连线
公共关系学教授;
粗略推断c;
@GetMapping(值=“”)
@应答器
公共模型和视图教授(){
ModelAndView form=newmodelandview(“/form”);
form.addObject(“professor”,newprofessor());
List curso=c.findAll();
curso.get(0.getId();
form.addObject(“curso”,curso);
申报表;
}
@后映射(值=“”)
@应答器
公共模型和视图地籍教授(@modeldattribute(“教授”)教授){
//教授=新教授();
ModelAndView索引=新ModelAndView(“/index”);
professor.getUsername();
getEmail()教授;
格诺姆教授();
getcursocord()教授;
公共关系主任(教授);
收益指数;
}
....
}
用户名
诺姆
电子邮件
库索斯
Não Coordenador
"
萨尔瓦多
2019-10-04 15:37:00.700错误17580---[nio-8081-exec-1] c、 p.p.controller.ErrorController:Algum erro ocorreu

java.lang.NullPointerException:null 在com.planoensino.planoensino.controller.ProfessorController.professorInicio(ProfessorController.java:35) ~[main/:na] 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.8.0_181] 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_181] 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 ~[na:1.8.0_181] 在java.lang.reflect.Method.invoke(Method.java:498)~[na:1.8.0_181] 位于org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) ~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) ~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974) [spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866) [spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [javax.servlet-api-3.1.0.jar:3.1.0] 位于org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851) [spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0] 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-8.5.32.jar:8.5.32] 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.32.jar:8.5.32] 位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-websocket-8.5.32.jar:8.5.32] 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.32.jar:8.5.32] 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.32.jar:8.5.32] 位于org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) [spring-security-web-5.0.7.RELEASE.jar:5.0.7.RELEASE] 位于org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) [spring-security-web-5.0.7.RELEASE.jar:5.0.7.RELEASE] 位于org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) [spring-security-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
CursoRepository c;
@Autowired
ProfessorRepository pr;

@Autowired
CursoRepository c;
@Autowired
CursoRepository c;
@Autowired
CursoRepository c;