본문 바로가기

Spring38

Spring. Form input값 DTO 자동 주입 일반적으로 스프링 프레임워크 사용시 웹페이지에서 form을 POST방식으로 전송할때 form elements의 name 속성과 데이터 전송 객체(DTO: Data Transfer Object 또는 VO: Value Object)의 변수명을 일치시켜주면(모든 변수가 같을 필요는 없다) 자동으로 해당 객체로 변환되어 Controller로 전송되게 됩니다. // DTO public class CuteDTO { private String first; private String second; private Integer third; // Getter and Setter } 예를 들어, 위와 같은 DTO가 있고 // HTML... 위와 같은 웹페이지에서 cutePage로 매핑된 Controller로 폼을 전송하면,.. 2022. 10. 8.
Spring. @AuthenticationPrincipal이란? 이전 방식 @LoginUser 커스텀 어노테이션을 이용해 로그인 세션 정보를 받아왔으나 null 일 때에도 세션에 정보가 담기는 에러가 있었다. 따라서 @AuthenticationPrincipal 애노테이션을 이용해 로그인 세션 정보를 받아오는 방법으로 변경했다. 아직 미해결한 점이 있다. user 엔티티가 아니라 userDto로 감싸려고 하는데 로그인 정보가 없을 때, 즉 비로그인 사용자일 때에는 null인데 이 null처리가 까다로웠다. 그래서 CustomUserDetails을 상속받은 UserAdapter 에 따로 getUserDto 메서드를 만들어 Controller에서 UserDetails가 기본적으로 제공하는 정보 외 로그인 유저 정보 (닉네임 등)를 getUserDto.getXXX 형식으로 .. 2022. 10. 7.
Spring. Model객체 / model.addAttribute Model Model은 HashMap 형태를 갖고 있으며, Key,Value값을 가지고 있습니다. addAttribute()와 같은 기능을 통해 모델에 원하는 속성과 그것에 대한 값을 주어 전달할 뷰에 데이터를 전달할 수 있습니다. 👉addAttribute는 Map의 put과 같은 기능과 같아서 이를 통해 해당 모델에 원하는 속성과 그것에 대한 값을 주어 전달할 뷰에 데이터를 전달할 수 있습니다. Spring에서 Controller의 메서드를 작성할 때는 특별하게 Model이라는 타입을 파라미터로 지정할 수 있습니다. Model 객체는 JSP에 컨트롤러에서 생성된 데이터를 담아서 전달하는 역할을 하는 존재입니다. 이를 이용해서 JSP와 뷰(View)로 전달해야 하는 데이터를 담아서 보낼 수 있습니다. 메.. 2022. 10. 7.
Spring Security. UserDetails / UserDetailsService란? 교육자료를 보면서 배우던 와중, 그동안 이게 일반적인 변수라고 생각했었다. 하지만 단단히 착각했었다. 아래 내용들은 모두 인터페이스였다. 내 시간!! [요약내용] UserDetails에 어카운트 계정을 넣어주기 위해서 UserDetailsService를 사용한다. UserDetails 란? Spring Security에서 사용자의 정보를 담는 인터페이스이다. Spring Security에서 사용자의 정보를 불러오기 위해서 구현해야 하는 인터페이스로 기본 오버라이드 메서드들은 아래와 같다. 메소드 리턴 타입 설명 기본값 getAuthorities() Collection 2022. 10. 7.
Spring. DI / IOC / Bean 이란? [핵심요약 내용] DI(Dependency Injection) DI(Dependency Injection)란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로, 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. DI(의존성 주입)를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. Ioc(Inversion of Control) IoC(Inversion of Control)란 "제어의 역전" 이라는 의미로, 말 그대로 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부에서 결정되는 것을 의미한다. IoC는 제어의 역전이라고 말하며, 간단히 말해 "제어의 흐름을 바꾼다"라고 한다. 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코.. 2022. 10. 6.
RESTful의 의미, REST API의 구성요소 및 설계규칙 REST (representational state transfer) => 표현적인 상태 전달 => 자원(리소스)의 표현에 의한 상태(정보) 전달 또한, HTTP를 잘 활용하기 위한 원칙이며, 네트워크 리소스를 정의하고 처리하는 방법을 설명하는 일련을 원칙을 기반으로 두는 아키텍처 스타일이다. REST 요약 1. HTTP를 잘 활용하기 위해서 만들어진 아키텍처이다. 2. URI와 HTTP Method를 사용해서 자원과 행위를 표현하다. 3. API의 의미를 표현하기 쉽고, 의미를 파악하기도 쉽다. 그럼 RESTful이란? REST를 잘 준수한 것... REST API 구성요소 자원(resource) : URI 행위(Verb) : HTTP METHOD 표현(Representations) REST API의 .. 2022. 10. 6.