[Spring] JPA - @MappedSuperclass
·
Back end/Spring Project
JPA를 사용하다 보면 여러 엔티티에서 공통으로 쓰이는 컬럼이 반복적으로 등장합니다.예를 들어, id, 생성일, 수정일, 작성자 같은 필드는 대부분의 엔티티에서 공통적으로 관리됩니다.이럴 때 JPA에서 제공하는 @MappedSuperclass를 사용하면 중복을 줄이고 깔끔하게 관리할 수 있습니다. 📖 @MappedSuperclass란?공통 매핑 정보를 모아두는 클래스엔티티가 아니며, 테이블과 직접 매핑되지 않음단순히 자식 엔티티에게 매핑 정보만 제공하는 역할따라서 em.find(BaseEntity) 같은 직접 조회는 불가능@MappedSuperclasspublic abstract class BaseEntity { @Id @GeneratedValue private Long id; p..
[Spring] AnnotationConfigApplicationContext로 알아보는 스프링 컨테이너 생성 과정
·
Back end/Spring Project
📌 스프링 컨테이너의 생성 과정스프링에서는 AnnotationConfigApplicationContext를 사용하면 자바 기반 설정으로 스프링 컨테이너를 구성할 수 있습니다. 이번 글에서는 생성자 주입 방식으로 스프링 빈을 설정하고,AnnotationConfigApplicationContext가 내부적으로 어떤 과정을 거쳐빈을 생성하고 의존관계를 주입하는지 단계별로 정리해보겠습니다.✅ 스프링 컨테이너란?객체(Bean)를 관리하는 IoC(Inversion of Control) 컨테이너입니다.개발자가 직접 객체를 생성하고 연결하지 않고, 스프링이 대신 객체를 생성하고 의존성을 주입해줍니다.✅ 컨테이너 생성 과정ApplicationContext context = new AnnotationConfigAppli..
[Java] static import 활용법
·
Back end/Java
테스트 코드를 작성하다 보면 Assertions.assertThat(...) 같은 코드가 반복됩니다. 이럴 때 static import를 사용하면, 훨씬 간결하고 깔끔한 테스트 코드를 만들 수 있습니다.🔍 예제 전후 비교📌 Before: 일반 import 사용import org.assertj.core.api.Assertions;...Assertions.assertThat(discount).isEqualTo(1000);📌 After: static import 사용import static org.assertj.core.api.Assertions.assertThat;...assertThat(discount).isEqualTo(1000);✅ assertThat을 바로 사용할 수 있어서 코드가 훨씬 깔끔해졌..
[Java] 자바 데이터 타입 (기본형, 참조형)
·
Back end/Java
자바는 정적 타입 언어로, 변수를 선언할 때 데이터 타입을 명시해야 합니다.자바의 데이터 타입은 크게 다음 두 가지로 나뉩니다.기본형 (Primitive Type)참조형 (Reference Type)🔢 기본형 타입 (Primitive Type)기본형 타입은 값 자체를 메모리에 저장합니다.자바에는 총 8가지 기본형 타입이 있으며, 성능이 중요한 영역에서 자주 사용됩니다.분류 타입 크기 예시논리형boolean1 bytetrue, false문자형char2 byte'a', '1'정수형byte, short, int, long1~8 byteint x = 59;, long big = 123L;실수형float, double4, 8 bytefloat f = 3.14f;, double d = 3.14;📌 Tip: 숫자..
[Java] 변수(variable)
·
Back end/Java
✅ 변수란? 변수(variable)는 값을 저장할 수 있는 메모리 공간입니다.자바에서는 데이터를 저장하고 처리하기 위해 변수를 반드시 선언해야 하며,변수에 저장된 값은 언제든 변경할 수 있습니다. ✅ 변수 선언 방법 자바에서 변수를 사용하려면 선언(Declaration)이 필요합니다.int count; // 정수를 저장할 수 있는 변수 count 선언double average; // 실수를 저장할 수 있는 변수 average 선언형식은 다음과 같습니다.타입 변수명;타입(type)은 변수에 저장될 값의 종류(예: 정수, 실수 등)를 지정하며, 변수명은 메모리 공간을 구분짓는 이름입니다. 이러한 이름은 식별자(identifier)라고 하며, 클래스, 메서드, 변수 등에 붙는 이름입니다.🔐 ..
[Java] 주석의 종류 (구현 주석, 문서화 주석)
·
Back end/Java
💡 주석이란?주석은 코드에 대한 설명을 작성하기 위한 용도로, 프로그램의 실행에는 영향을 주지 않습니다.가독성을 높이고, 협업 시 의도를 명확하게 전달하거나 문서를 생성하는 데 사용됩니다.📝 주석의 종류1. 구현 주석 (Implementation Comment)코드의 흐름을 이해하기 쉽도록 설명을 덧붙이는 주석으로, 두 가지 방식이 있습니다. 📌 행 단위 주석 (//)한 줄에 대한 주석을 작성할 때 사용합니다.int score = 90; // 학생의 점수를 저장하는 변수💡 단축키 팁대부분의 IDE(예: IntelliJ, Eclipse, VS Code)에서는 Ctrl + / 단축키를 사용하여 해당 줄을 주석 처리하거나 해제할 수 있습니다.Mac 사용자의 경우 Command + / 를 사용하세요. ?..
[Java] CMD에서 Java 파일 컴파일 및 실행하기 (HelloWorld.java 예제)
·
Back end/Java
Java를 처음 접하는 분들을 위해 HelloWorld 프로그램을 작성하고, 컴파일하고, 실행하는 전 과정을 소개합니다. ✅ 1. 소스코드 작성c:\test 디렉토리에 HelloWorld.java 파일을 생성합니다.아래와 같이 Java 소스 코드를 작성합니다.public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }}💡 클래스 이름과 파일명은 반드시 동일해야 합니다. (HelloWorld.java)✅ 2. 컴파일 하기1. Windows 키를 눌러 cmd를 입력 후 명령 프롬프트(cmd)를 실행합니다.2. 아래 명령어를 입력해 소스 파일이 위치한 폴더로 이..
[Java] 환경변수 설정하기 (windows)
·
Back end/Java
1. 환경 변수 설정 창 열기 [내 PC]에서 마우스 우클릭한 후 "속성" 을 클릭합니다. "고급 시스템 설정" 을 클릭합니다. 시스템 속성 창이 열리면, 하단의 "환경 변수" 버튼을 클릭합니다. 2. 시스템 변수 생성 환경 변수 창의 하단 [시스템 변수] 영역에서 "새로 만들기" 를 클릭합니다. 2.1. JAVA_HOME 변수 생성 변수 이름: JAVA_HOME변수 값: JDK가 설치된 경로예시: C:\Program Files\Java\jdk-192.2. CLASSPATH 변수 생성 자바는 클래스 단위로 실행되므로, 클래스의 위치를 지정하는 경로가 필요합니다. 변수 이름: CLASSPATH변수 값: .,%JAVA_HOME%\lib\tools.jar (현재 디렉토리와 JDK의 tools.jar 파일..