TIL (48) 썸네일형 리스트형 231117_TIL 오늘한일 RestTemplate이란 무엇일지 공부 하였다. RestTemplate이란? Spring에서 지원하는 객체로 간편하게 Rest 방식 API를 호출할 수 있는 Spring 내장 클래스입니다. Spring 3.0부터 지원되었고, json, xml 응답을 모두 받을 수 있습니다. Rest API 서비스를 요청 후 응답 받을 수 있도록 설계되어있으며 HTTP 프로토콜의 메소드(ex. GET, POST, DELETE, PUT)들에 적합한 여러 메소드들을 제공합니다. ※ Spring Framework 5부터는 WebFlux 스택과 함께 Spring은 WebClient 라는 새로운 HTTP 클라이언트를 도입하여 기존의 동기식 API를 제공할 뿐 만 아니라 효율적인 비차단 및 비동기 접근 방식을 지원하여, .. 231110_TIL 오늘한일 회원가입 기능 개발에 데이터 검증 적용 시키기 유효성 검사 유효성 검사란, 요청한 데이터가 어떤 조건에 충족하는지 확인하는 작업입니다 Validation이란? Java는 null 값에 대한 접근에 대해 NullPointerException 오류가 발행하기 때문에 이러한 부분을 예방하기 위해 Validation 즉, 검증 과정이 필요합니다. Spring에서는 null 확인 뿐 아니라 문자의 길이 측정과 같은 다른 검증 과정도 쉽게 처리할 수 있도록 Bean Validation 제공하고 있습니다. Bean Validation 간편하게 사용할 수 있는 여러 애너테이션을 제공 해줍니다. build.gradle : validation implementation 'org.springframework.boo.. 231109_TIL 오늘한일 - Spring Security 공부 Spring Security 적용 Spring Security' 프레임워크 추가 // Security implementation 'org.springframework.boot:spring-boot-starter-security' 'Spring Security' 활성화 Spring Security 제외 해제 @SpringBootApplication public class SpringAuthApplication { public static void main(String[] args) { SpringApplication.run(SpringAuthApplication.class, args); } } 'Spring Security' 설정 WebSecurityConfi.. 231108_TIL 오늘한일 spring공부 JWT란 JWT란 JWT(Json Web Token)란 JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token 입니다. 즉, 토큰의 한 종류라고 생각하시면 됩니다. 일반적으로 쿠키 저장소를 사용하여 JWT를 저장합니다. JWT 장/단점 장점 동시 접속자가 많을 때 서버 측 부하 낮춤 Client, Sever 가 다른 도메인을 사용할 때 예) 카카오 OAuth2 로그인 시 JWT Token 사용 단점 구현의 복잡도 증가 JWT 에 담는 내용이 커질 수록 네트워크 비용 증가 (클라이언트 → 서버) 기 생성된 JWT 를 일부만 만료시킬 방법이 없음 Secret key 유출 시 JWT 조작 가능 JWT 생성 // 토큰 생성 public String c.. 231107_TIL 오늘한일 Spring 공부 IoC(제어의 역전), DI(의존성 주입) 이해하기 좋은 코드를 위한 Spring의 IoC와 DI 좋은 코드란 무엇일까? 논리가 간단해야 한다. 중복을 제거하고 표현을 명확하게 한다. 코드를 처음 보는 사람도 쉽게 이해하고 수정할 수 있어야 한다. 의존성을 최소화해야 한다. 새로운 기능을 추가 하더라도 크게 구조의 변경이 없어야 한다. DI(Dependency Injection) DI(Dependency Injection)란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로, 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. DI(의존성 주입)를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. 첫번째 방법은 A객체가 B와 .. 231106_TIL 오늘한일 spring boot 공부 JPA란 JPA: Java Persistence API 자바 ORM 기술에 대한 표준 명세 PA는 애플리케이션과 JDBC 사이에서 동작되고 있습니다. JPA를 사용하면 DB 연결 과정을 직접 개발하지 않아도 자동으로 처리해줍니다. 또한 객체를 통해 간접적으로 DB 데이터를 다룰 수 있기 때문에 매우 쉽게 DB 작업을 처리할 수 있습니다. Entity란 JPA에서 관리되는 클래스 즉, 객체를 의미합니다. Entity 클래스는 DB의 테이블과 매핑되어 JPA에 의해 관리됩니다 영속성 컨텍스트란 Persistence를 한글로 번역하면 영속성, 지속성 이라는 뜻이 됩니다. Persistence를 객체의 관점으로 해석해 보자면 ‘객체가 생명(객체가 유지되는 시간)이나 공간(객체.. 231102_TIL 오늘한일 spring공부 (JDBC) JDBC란 JDBC는 Java Database Connectivity로 DB에 접근할 수 있도록 Java에서 제공하는 API입니다. JDBC에 연결해야하는 DB의 JDBC 드라이버를 제공하면 DB 연결 로직을 변경할 필요없이 DB 변경이 가능합니다. DB 회사들은 자신들의 DB에 맞도록 JDBC 인터페이스를 구현한 후 라이브러리로 제공하는데 이를 JDBC 드라이버라 부릅니다. 따라서, MySQL 드라이버를 사용해 DB에 연결을 하다 PostgreSQL 서버로 변경이 필요할 때 드라이버만 교체하면 손쉽게 DB 변경이 가능합니다. INSERT String sql = "INSERT INTO memo (username, contents) VALUES (?, ?)"; jdbc.. 231101_TIL 오늘한일 spring 공부 Spring MVC란 무엇일까? MVC란 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나입니다. MVC 패턴은 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리합니다. Model 데이터와 비즈니스 로직을 담당합니다. 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행합니다. View 사용자 인터페이스를 담당합니다. 사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현합니다. Controller Model과 View 사이의 상호작용을 조정하고 제어합니다. 사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트합니다. Controller 이해.. 이전 1 2 3 4 5 6 다음