[Spring Boot] 스프링 부트 설치 및 초기 세팅
·
Java/Spring Boot
1. JDK 11 설치https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html Java Archive Downloads - Java SE 11WARNING: Older versions of the JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production. For production use Oracle recommends downloading the latewww.oracle.com 2. ..
[Spring Boot] JPA 기초 개념
·
Java/Spring Boot
JPA (Java Persistence API)  - Java 기반의 ORM 프레임워크를 쉽게 사용하기 위한 인터페이스의 모음  - ORM (Object Relational Mapping 객체-관계 매핑)      : Java 객체를 DB 테이블로 변환하는 것 #  영속성 컨텍스트  - 영속성 : 프로그램이 종료되더라도 데이터가 사라지지 않는 특성  - 영속성 컨텍스트 : 데이터를 영구 저장하는 논리적인 환경  - 영속화 : 영속성 컨텍스트에 저장하는 것 #  엔티티 매니저  - 엔티티 : 테이블에 대응하는 하나의 클래스  - 엔티티 매니저 : 엔티티들을 영속성 컨텍스트에 저장해두고, 해당 엔티티들의 생명주기를 관리함  - 엔티티 생명주기      i. 비영속 : 영속성 컨텍스트에 저장되지 않음     ..
[Spring Boot] CSRF (사이트 간 요청 위조)
·
Java/Spring Boot
CSRF (사이트 간 요청 위조, Cross Site Request Forgery)  - 웹사이트 취약점 공격  - 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격  - 특정 웹사이트가 사용자의 웹 브라우저를 신용하는 상태임을 노린 공격 방식  - 사용자가 웹사이트에 로그인한 상태에서, CSRF 공격 코드가 삽입된 페이지를 열음      → 공격 대상이 되는 웹사이트는 위조된 공격 명령이 믿을 수 있는 사용자로부터 발송된 것으로 판단함      → 공격에 노출됨
[Java] 어노테이션 (Annotation)
·
Java/Base
어노테이션 (Annotation)  - 프로그램의 코드에 메타데이터를 추가하는 기능을 제공하는 것  - 컴파일러 or 런타임 시점에 코드를 처리하는 도구들에게 추가적인 정보를 제공함  - 주로 클래스, 메서드, 변수, 매개변수 등에 부착해서 사용됨  - 형식 : @어노테이션(속성1=값1, 속성2=값2, ...)  - 코드 가독성 향상  - 자동화된 코드 생성, 테스트, 디버깅 등에 활용 #  빌트인 어노테이션 (Built-in Annotation)  - @Override      : 상위 클래스나 인터페이스의 메서드를 오버라이드함을 나타냄  - @Deprecated      : 해당 요소가 더 이상 사용되지 않음을 나타냄  - @SuppressWarnings      : 컴파일러의 경고를 무시하도록 지정..
[Java] 리플렉션 (Reflection)
·
Java/Base
리플렉션 (Reflection)  - 프로그램 실행 중에 클래스의 정보를 분석/조작할 수 있는 부분  - 런타임 시점에 동작으로 클래스의 메서드/필드/생성자 등에 접근하고 호출할 수 있음  - 자바의 핵심 기능  - java.lang.reflect 패키지 #  클래스 정보 가져오기123456789// 1) Class.forName() 사용 Class<?> clazz = Class.forName("com.example.MyClass"); // 2) 객체.getClass() 사용 MyClass obj = new MyClass();Class<?>&..