본문 바로가기
코딩/TIL,WIL

항해 99 day24

by 내 멋대로 삶 2021. 11. 24.

항해 99 day23

 

-to do list

  • 로그인 기능 구현
  • 게시글에 댓글 추가
  • 댓글에 아이디 추가
  • 3주차 완강 ( 실패..)

로그인구현을 완료했지만 추가적인 사항들을 아직 고려하지 못했다. 

로그인/로그아웃은 스프링 시큐리티프레임워크를 사용해서 기능을 구현했다. 

스프링시큐리티에 관해서 

 

Spring securiy 작동원리

Spring securiy [ Spring Security란? ] Spring Security는 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. Spring Security는 '인증'과 '..

happiness1992.tistory.com


하나하나 수정해 나가는과정이 험난하다. 오류하나를 해결하면 하나가 생겨난다... 

이거저거 막 바꾸다가 되기도 하고 안되기도 하니 감이 조금씩 생겨나는거 같다. 확실히 코딩을 내가생각하면서 해봐야 조금씩 실력이 느는거 같지만..너무 답답하다

 

구글링을 해도 내 상황과 맞는 상황이 많지 않은것 같다.

1.실행오류처리

nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name

ConflictingBeanDefinitionException 에러인 것을 볼 수 있습니다. 즉, Bean 의 이름이 중복이라는 것입니다.

내 경우 같은 내용을 두번보내는 것으로 실행오류가 나서 1시간동안 찾아다녔다... 내1시간..ㅠㅜ

@GetMapping("/api/comments") public List<Comment> getComment(){
return commentRepository.findAllByOrderByModifiedAtDesc();
}

2. data오류 

let data = {'username':username,'comments':contents};
ajax- 포스트로 데이터를 전달하는 과정에 서버에서는 comments 로 저장을 받는데 클라이언트에서는  contents로 보내서 계속해서 null이 뜨는 것이다. 어디서 부터 잘못되었는지 개발자 검사부터 차근차근 뒤로 오다보니 어디서 오류가 났는지 발견할 수있는 좋은 경험이었다. 

3. 타임리프

let username = "[[ ${username} ]]";

타임리프를 변수로 받으려면 이렇게 하면 된다.

 

4. Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception

이 에러가 왜 생기는지는 모르겠으나, 로그인 첫번째 시도를 할때 자꾸 에러를 이르켜서 찾아봤다.

 

이 에러는 Service에서 Repository를 초기화하지 않았기 때문에 발생한 오류라고한다.

하지만 @RequiredArgsConstructor 롬복을 써서 final 멤버변수에 대한 생성자 초기화를 자동으로 하는데 

어디선가 오류가 나는것 같다.

생성자를  DI를 고려해 생성자를 만들었다.

  • @Autowired는 의존성 주입을 할 때 사용하는 Annotation으로 의존 객체의 타입에 해당하는 bean을 찾아 주입하는 역할을 한다.

'코딩 > TIL,WIL' 카테고리의 다른 글

항해99 day 26  (0) 2021.11.26
항해99 day25  (0) 2021.11.25
항해99 day23  (0) 2021.11.23
항해99 WIL(Weekly I Learned) day21  (0) 2021.11.22
항해99 day20  (0) 2021.11.20