Java/Spring 5

HTTP 요청 데이터 처리 방법 3가지

HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법 3가지 GET - 쿼리 파라미터 POST - HTML Form HTTP message body에 데이터를 직접 담아서 요청 GET - 쿼리 파라미터 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달한다. 검색, 필터, 페이징 처리할 때 많이 사용하는 방식이다. ex) http://url?username=genie&age=20 클라이언트에서 서버로 데이터를 전송할 때, 쿼리 파라미터는 URL에 데이터를 넣어서 전송한다. http://localhost:8080/request-param?username=hello&age=20&username=kim 이런식으로 ? 를 시작으로 데이터를 넣고, 파라미터들은 &로 구분한다. ..

Java/Spring 2023.10.12

좋은 객체 지향 설계의 5가지 원칙 (SOLID)

SOLID 란? -> 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리한 것이다. SRP (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open/Closed Principle) : 개방-폐쇄 원칙 LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 ISP (Interface Segregation Principle) : 인터페이스 분리 원칙 DIP (Dependecy Inversion Principle) : 의존관계 역전 원칙 SRP (Single Responsibility Principle) : 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다 ( 클 수 있고, ..

Java/Spring 2023.07.27

[Spring Security] 스프링 시큐리티 초기 세팅 및 로그인 권한 설정

오늘 수업내용 내가 알아보기 쉽게 정리. 1) 시큐리티가 필요한 URI 설계 게시판 글쓰기는 인증(로그인)해야만 사용가능 게시글 작성자는 인증받은 ID 로 사용가능 게시글 수정/삭제는 작성자 확인 후 가능 그 외는 인증받지 않아도 모두가 사용가능. 2) 시큐리티 개요 인증(Authentication)과 권한(==인가)(Authorization) 스프링 시큐리티 구조 시큐리티 개요 AuthenticationManager - 인증관리자 가장 중요한 역할, 다양한 방식의 인증을 처리할 수 있도록 구조 설계됨. (인터페이스) ProviderManager - 제공관리자 인증처리를 AuthenticationProvider 객체를 이용해서 처리를 위임하는 역할 (인터페이스) AuthenticationProvider ..

Java/Spring 2023.07.05

[Spring] Annotation 정리

@GetMapping url 치는 것. 주소창에 경로 나와있는 것. // 조회할 때 주로 쓴다. @PostMapping 데이터를 Form 같은 것에 넣어서 전달할 때 쓴다. @JacksonXmlRootElement(localName="xmember") localName으로 설정한 값을 루트 요소로 지정한다. localName을 지정하지 않으면 클래스명이 지정된다. @JacksonXmlProperty 루트 요소 안에 들어갈 하위 요소들을 지정한다. 이때, 위의 id 처럼 isAttribute = true 를 지정하면 루트 태그의 속성으로 들어가게 된다. localName 속성을 지정하면 지정한 값으로 요소가 표기된다. getter, setter 가 자동으로 돌아가게 해서 getter, setter 선언 안..

Java/Spring 2022.11.28