목록Programing (46)
꾸준한 개발일기

Lombok이란?Lombok은 자바 코드에서 보일러플레이트(boilerplate) 코드를 줄여주는 라이브러리로 Getter, Setter, toString, 생성자 등을 자동으로 생성함코드를 더 간결하게 만들고 유지보수를 쉽게 할 수 있도록 도와줌@RequiredArgsConstructor란?@RequiredArgsConstructor는 final이 붙은 필드나 @NonNull이 붙은 필드를 매개변수로 받는 생성자를 자동으로 생성.즉, 필수 필드만 받는 생성자를 만들 때 사용함사용 예시import lombok.RequiredArgsConstructor;@RequiredArgsConstructorpublic class MemberService { private final MemberRepository..

오류(에러)는 크게 컴파일 오류(Compile Error), 런타임 오류(Runtime Error), 논리 오류(Logic Error) 세 가지로 나뉨.1️⃣ 컴파일 오류(Compile Error)코드 작성 후 컴파일 과정에서 발생하는 오류문법(Syntax) 오류, 타입(Type) 오류, 클래스/변수 미존재 오류 등이 있음실행 자체가 불가능함예제int number = "Hello"; // 타입 불일치 오류 (컴파일 오류)error: incompatible types: String cannot be converted to int2️⃣ 런타임 오류(Runtime Error)프로그램 실행 중에 발생하는 오류컴파일은 성공하지만 실행 도중 문제가 발생하여 비정상 종료됨대표적인 예로 NullPointerExcep..

🔍 스프링 의존관계 자동 주입 4가지 방법주입 방식설명장점단점생성자 주입생성자를 이용한 주입불변성 보장, 테스트 용이의존성이 많아지면 코드가 길어질 수 있음수정자(setter) 주입setXxx() 메서드를 이용한 주입선택적 의존성 주입 가능필수 의존성을 보장할 수 없음필드 주입@Autowiredㄹ르 필드에 직접 사용코드가 짧고 간단테스트 및 유지보수 어려움(지양)일반 메서드 주입특정 메서드를 호출하여 주입여러 의존성을 한 번에 주입 가능필수 의존성이 보장되지 않음✅ 1️⃣ 생성자 주입 (Constructor Injection) [권장]생성자를 통해 의존성을 주입하는 방식주입할 객체를 final로 선언 가능 → 불변성 보장순수한 Java 코드로도 테스트 가능✔ 예제 코드@Servicepublic clas..

비즈니스 로직(Business Logic) 은👉 애플리케이션이 수행해야 하는 핵심 기능이나 규칙을 처리하는 코드예를 들어,사용자가 회원가입하면 중복 검사를 해야 한다주문하면 할인 정책을 적용해야 한다결제할 때 포인트 적립 규칙이 있어야 한다이런 업무 로직(비즈니스 요구사항) 을 처리하는 코드가 비즈니스 로직📌 @Service란?@Service는 스프링에서 "서비스 계층"을 나타내는 애노테이션비즈니스 로직을 담당하는 클래스에 붙임자동으로 스프링 빈으로 등록되어 DI(의존성 주입)를 받을 수 있음✔ 비즈니스 로직이 포함된 @Service 예제@Servicepublic class MemberService { private final MemberRepository memberRepository; ..

🛠 1️⃣ 스프링(Spring)스프링 프레임워크(Spring Framework) 의 핵심 기능을 제공하는 프레임워크DI(의존성 주입), AOP(관점 지향 프로그래밍), 트랜잭션 관리 등을 지원웹 애플리케이션 개발 시 Spring MVC 를 이용하여 개발 가능설정이 복잡하며, XML 설정 또는 JavaConfig(@Configuration)을 직접 관리해야 함✔ 예시: 스프링에서 수동 설정@Configurationpublic class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public MemberRe..