티스토리 뷰

개발/WIL

10.16 WIL

욱스다 2022. 10. 17. 02:26

지난 한주동안에는 Spring security를 사용한 

기본 CRUD API를 작성해 그 API형식데로 view에서 요청시

Controller - Service - Repository의 순으로 정보를 담아서 로직처리 후 db에 커밋하는 순으로 돌아가게된다.

 

여기서 Spring security는 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. Spring Security는 '인증'과 '권한'에 대한 부분을 Filter 흐름에 따라 처리하고 있다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller사이에 위치한다는 점에서 적용 시기의 차이가 있다. Spring Security는 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있다.

 

그리고 JPA를 사용해서 데이터베이스와 소통하기때문에 ORM이라는 개념이 중요하다고 생각한다.

여기서 ORM은 Object Relational Mapping 객체 관계 매핑

객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
- 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다.
- 객체 모델과 관계형 모델 간에 불일치가 존재한다.
- ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.

 

Repository에서 쿼리를 작성해봤는데,

// 특정 게시글의 모든 댓글 조회
@Query(value = "Select * From comment WHERE article_id = :articleId", nativeQuery = true)
List<Comment> findByArticleId(@Param("articleId") Long articleId);

특정 게시판을 조회함에 있어서 sql문법을 사용해서 동적으로? 받아올 수 있게 처리해봤다. 

이 받아온 데이터를 MVC패턴을 사용해서 컨트롤러 상에서 model.addAttribute를 사용해 뷰딴에 전달해주어 처리해주는 과정을 가졌다.

@GetMapping("/articles/{id}")
public String show(@PathVariable Long id, Model model) {
    log.info("id =" + id);

    // 1. id로 데이터를 가져온다
    Article articleEntity = articleRepository.findById(id).orElse(null);
    List<CommentDto> commentDtos = commentService.comments(id);

    // 2. 가져온 데이터를 모델에 등록
    model.addAttribute("article", articleEntity);
    model.addAttribute("commentDtos",commentDtos);

    // 3. 보여줄 페이지 설정
    return "articles/show";
}

 

 

한주동안 Spring security를 배웠는데 아직도 모르는게 많은거같다. 기본 설정부터 해서 JWT관련해서 더 공부를 해야겠다는 필요성이 느껴진다. 배울게 너무 많았던 한주를 마무리해본다. 다음주도 화이팅! 

 

 

'개발 > WIL' 카테고리의 다른 글

10.30 WIL  (0) 2022.10.30
10.23 WIL  (0) 2022.10.24
10.9 한주의 회고  (0) 2022.10.09
10.2 한주의 회고  (0) 2022.10.02
9.25 한주의 회고  (0) 2022.09.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함