첫번째 작성한 글에서 Controller를 호출하려 했는데 문제가 발생했다.
존재하지도 않는 login 페이지가 계속 뜨고 RequestMapping 된 url을 호출 하여도 계속 login 페이지가 뜨는거였다.
개린이 spring boot 입문의 첫 장벽이다. 필자는 이 문제로 3시간은 날린것 같다.
결론은 1번 spring boot 게시물에 프로젝트 생성시 spring security를 선택하고 프로젝트를 생성하였고 pom.xml에 추가되있던것이 문제의 원인으로 밝혀졌다. spring security를 추가하는 것만으로도 이러한 결과가 나올지 상상도 못했다.
이래서 뭔지 알고 써야 한다는게 맞는 말인것 같다.
결론적으로 나는 이 문제를 해결하기 전까지 여러 블로그들을 찾아보았고 그 과정에서 gradle 이란 것을 접하게 된다.
gradle 이란?
- 많은 프로젝트에서 pom.xml에 dependencies를 추가하고 java 버전을 맞춰주는 작업을 해보셨을 것이다. 그리고 Maven Update와 Maven install, Maven Build를 통해 dependencies에 추가한 라이브러리들을 프로젝트 환경에 빌드 했을 것이다. 이것을 Maven 프로젝트 라고 나는 말해왔었다. 그런데 프로젝트 생성시 Maven외에도 gradle 이란것이 있었고 다른 블로그에서는 spring boot 프로젝트를 gradle로 생성한것을 보았다. 결론적으로 gradle이란 Maven과 비슷한 역할을 하는 프로젝트로 프로젝트 환경을 설정하고 라이브러리를 받아 build해주는 역할을 한다. 다만 장점들만 말하자면 가독성이 좋고 build속도가 maven에 비해 2배 가까이 빠르다는것이다. 그리고 실제로 해본결과 불편한점도 없었다. 결론적으로 나는 앞으로 Maven프로젝트를 지우고 gradle을 사용하여 프로젝트를 만들려고 한다.
만약 1번 게시물을 보고 maven프로젝트를 생성하였고 maven으로 진행하실 분들은 그대로 진행해주셔도 문제는 없을것 같다.
1.프로젝트 생성
2.프로젝트 세팅
필자는 java버전을 11로 하였고 build.gradle의 환경을 위와같이 세팅하였다.
DB연결은 바로 하지 않을거기에 DB연결을 필수로하는 boot-starter를 주석처리하고 사용할지 안할지도 모르는 security관련 부분도 모두 주석처리 하였다. (security는 추후에 알아볼 예정)
세팅 완료 후 새로고침을 통해 build를 다시하는데 maven과 확연하게 다른 빌드속도를 보여준다... 너무 좋다.
3. 환경세팅
4.Controller 호출
5. 서버 시작
6. 호출
*사용후기
Spring Boot 1번 개시물에서 우리는 maven으로 프로젝트를 생성했었다. 그리고 오늘은 gradle로 프로젝트를 생성하였다. 결론적으로 너무 다른 이질감을 느끼지도 못하였고 잘 사용할것 같다. 그리고 dependencies에 jdbc를 주석처리하면 db연결 없이도 localhost 내부 톰켓서버가 에러 없이 잘 구동된다는 것을 알았고 springSecurity를 추가하면 인증을 통과하지 못하면 계속해서 login페이지가 호출된다는 것도 알게되었다.
1번 게시물에서 그대로 사용하실 분들은 SpringSecurity만 주석처리해서 Controller java 추가 후 url을 호출하도록 하자
본 게시물은 Spring Boot를 처음 사용하는 개린이의 일기장 같은 형식입니다. 틀린부분도 있을 수 있습니다.
'Spring' 카테고리의 다른 글
1.Spring Boot - 프로젝트 생성하기 (0) | 2021.07.23 |
---|---|
Spring, Spring Boot에 관하여 일지 시작 (0) | 2021.07.23 |