SPRING 썸네일형 리스트형 [스프링| 스프링 핵심 원리 | 기본편 | 스프링 핵심 원리 이해1 - 예제 만들기] 도메인 개발 package hello.core.member;// 이 줄은 패키지 이름을 선언합니다. 패키지는 Java에서 관련된 클래스와 인터페이스를 조직화하는 데 사용됩니다.public enum Grade {// 이 줄은 'public' 접근 제어자로 선언된 'enum' Grade를 정의합니다. 'enum'은 열거형으로, 한정된 상수 값만을 멤버로 가지는 특수한 클래스 타입입니다. BASIC, // 'BASIC'은 Grade 열거형의 첫 번째 상수입니다. 이는 회원 등급 중 기본 등급을 나타냅니다. VIP // 'VIP'는 Grade 열거형의 두 번째 상수입니다. 이는 회원 등급 중 높은 등급을 나타냅니다.}package hello.core.member;// 이 줄은 패키지 이름을 선언합니다... 더보기 [스프링| 스프링 핵심 원리 | 기본편 | 스프링 핵심 원리 이해1 - 예제 만들기] 프로젝트 개발 환경과 요구사항 더보기 [스프링| 스프링 핵심 원리 | 기본편 | 객체 지향 설계와 스프링] SOLID SOLID 원칙은 객체 지향 설계를 위한 다섯 가지 기본 원칙으로, 소프트웨어 설계의 품질을 향상시키고 유지보수를 용이하게 하며 확장성을 높이는 데 목적이 있습니다. 각 원칙은 소프트웨어 아키텍처의 결함을 줄이고, 유연성과 재사용성을 증가시키기 위해 고안되었습니다. 다음은 SOLID 원칙의 각 요소를 설명합니다:1. Single Responsibility Principle (단일 책임 원칙)하나의 클래스는 하나의 책임만 가져야 합니다. 즉, 클래스를 변경하는 이유는 오직 하나여야 합니다. 이 원칙을 적용하면 클래스가 변경되는 이유를 명확히 알 수 있으며, 시스템의 다른 부분에 영향을 미치지 않고 독립적으로 클래스를 개선하거나 수정할 수 있습니다.2. Open/Closed Principle (개방-폐쇄 원.. 더보기 [스프링| 스프링 핵심 원리 | 기본편 | 객체 지향 설계와 스프링] 다형성 스프링 프레임워크에서 다형성(Polymorphism)은 객체 지향 프로그래밍의 핵심 개념 중 하나로, 스프링에서 특히 유용하게 사용됩니다. 다형성을 통해 여러 클래스의 객체들이 하나의 인터페이스나 기본 클래스의 참조 타입으로 다루어질 수 있습니다. 이를 활용하면 유연하고 확장성 있는 애플리케이션을 구축할 수 있습니다.스프링에서의 다형성의 예인터페이스를 통한 다형성: 스프링에서는 다양한 컴포넌트나 서비스를 인터페이스로 정의하고, 이 인터페이스를 구현하는 다양한 클래스를 생성할 수 있습니다. 예를 들어, 데이터 접근 객체(Data Access Object, DAO) 인터페이스가 있고, 이를 여러 DB 기술(MySQL, PostgreSQL 등)을 사용해 구현할 수 있습니다.빈(Bean) 설정과 다형성: 스프링.. 더보기 [스프링| 스프링 핵심 원리 | 기본편 | 객체 지향 설계와 스프링] 스프링 스프링 프레임워크는 자바 플랫폼을 위한 강력하고 광범위하게 사용되는 개발 프레임워크입니다. 이는 엔터프라이즈급 응용 프로그램을 구축하는 데 필요한 광범위한 프로그래밍 및 구성 모델을 제공합니다. 여기에는 몇 가지 핵심 기술이 포함되어 있습니다:IoC(Inversion of Control) 컨테이너: 스프링의 핵심을 이루는 기능 중 하나는 제어의 역전이라는 개념입니다. 이는 객체의 생성과 객체 간의 의존성 연결 같은 제어권이 사용자 코드에서 프레임워크로 넘어갔음을 의미합니다. 스프링 컨테이너는 ApplicationContext 인터페이스를 통해 애플리케이션 컴포넌트의 생명주기와 구성을 관리합니다.AOP(Aspect-Oriented Programming): 스프링은 관점 지향 프로그래밍을 지원하여 공통의 문.. 더보기 [스프링| 스프링 입문 | 코드로 배우는 스프링] 스프링 데이터 JPA package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.springframework.data.jpa.repository.JpaRepository;import java.util.Optional;public interface SpringDataJpaMemberRepository extends JpaRepository, MemberRepository{ @Override Optional findByName(String name);} package hello.hellospring;import hello.hellospring.repository.MemberRepository;import hello.hell.. 더보기 [스프링| 스프링 입문 | 코드로 배우는 스프링] JPA package hello.hellospring.repository; // 패키지 선언import hello.hellospring.domain.Member; // Member 도메인 클래스 임포트import jakarta.persistence.EntityManager; // JPA의 EntityManager 임포트import java.util.List; // List 컬렉션 임포트import java.util.Optional; // Optional 클래스 임포트public class JpaMemberRepository implements MemberRepository{ // MemberRepository 인터페이스를 구현하는 JpaMemberRepository 클래스 선언 private final E.. 더보기 [스프링| 스프링 입문 | 코드로 배우는 스프링] 스프링 통합 테스트 package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemberRepository;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import static org.assertj.core.api.Assertions.assertThat;import static org.junit.jupiter.api.Assertions.assertThrows.. 더보기 이전 1 ··· 4 5 6 7 8 9 10 다음