1. 소개관계 매핑 어노테이션이란? DB에서 원래 사용하던 개념을 Java 객체에서도 쉽게 사용할 수 있도록 해주는 도구 사용하는 이유 SQL 직접 작성 → 자동 변환원래라면 JOIN 같은 SQL을 직접 써야 하는데, JPA에서는 어노테이션만 붙이면 자동으로 처리됨.예를 들어, @OneToMany를 사용하면 내부적으로 JOIN을 사용한 SQL을 실행해 줌.객체 지향적인 개발을 가능하게 함DB는 테이블과 컬럼 기반인데, Java는 객체와 필드 기반이를 매끄럽게 연결해주기 위해 관계 매핑 어노테이션이 필요함.생산성 향상SQL을 일일이 작성하는 대신, JPA가 알아서 적절한 SQL을 실행해 주니까 개발 속도가 빨라짐.유지보수 용이비즈니스 로직이 변경되더라도, 관계 매핑을 어노테이션으로 관리하면 SQL을 직..
HTTP 상태 코드란?HTTP 상태 코드는 특정 HTTP 요청이 어떻게 처리되었는지 알려준다.기본적으로 응답은 5개의 그룹으로 나누어진다.1XX: 정보 제공2XX: 성공3XX: 리다이렉트4XX: 클라이언트 에러5XX: 서버 에러상태 코드에 대해 더 자세한 내용은 여기로 그런데 이런 기본적인 상황말고 개발자가 더 많은 상황에 대한 응답을 하고 싶을 수도 있지않을까?그리고 성공이나 에러와 함께 값도 전달하고 싶다면?그럴때 사용하는 것이 ResponseEntity이다. ResponseEntity란?ResponseEntity는 HTTP 응답을 나타내는 Spring Framework의 클래스. 이 클래스는 요청에 대한 응답의 HttpHeader, HttpBody 및 Status Code를 포함하여 클라이언트에게..
1.소개Bean은 Spring 컨테이너에서 관리하는 객체를 의미한다.일반적으로 @Component, @Service, @Repository, @Controller 등의 어노테이션을 사용하면 Spring이 자동으로 빈을 생성하고 관리한다. 2. 특징Spring 컨테이너에서 관리개발자가 직접 객체를 생성하는 것이 아닌 Spring이 생성하고 관리함.싱글턴이 기본 적용기본적으로 Spring Bean은 싱글턴(애플리케이션 실행 중 하나의 인스턴스만 생성)으로 관리된다.의존성 주입 (DI) 지원@Autowired 등을 사용하여 필요한 곳에 자동으로 빈을 주입할 수 있다. 그냥 Spring Framework에서 대신 객체를 생성해주고 필요한 곳에 할당해주는 거라고 생각하면된다. 객체 == 빈 3. Bean 등록 방..
Spring Boot의 목적은 여러가지 기술을 이용하여 복잡한 요소들은 스프링 프레임워크에 위임하고, 개발자는 비즈니스 로직 개발에만 집중하는 것이다.그중 핵심 개념인 IoC(제어의 역전), DI(의존성 주입), AOP(관점 지향 프로그래밍) 에 대해서 알아보쟈 1. IoC (Inversion of Control) : 제어의 역전 개념 IoC는 사용할 객체를 직접 생성하지 않고, 객체의 생명주기 관리를 외부(스프링 컨테이너)에 위임하는 것이다. 일반적으로 자바에서는 아래와 같이 객체를 생성했다.@RestControllerpublic class NoneDIController { private MyService service = new MyServiceImpl();} 위와 같이 객체를 직접 생성한 ..
1. 소개스프링 부트에서 제공하는 애플리케이션 실행 시, 특정 패키지 내의 스프링 빈(Bean)을 자동으로 검색하고 등록하는 기능 목적수동으로 Bean을 등록하는 번거로움을 줄여서 생산성을 높이는것 2. 작동원리기본 동작@SpringBootApplication이 선언된 기본 패키지(애플리케이션이 시작되는 패키지)를 기준으로 하위 패키지에서 특정 애노테이션이 붙은 클래스들을 찾아 스프링 빈으로 등록합니다. 주요 애노테이션애노테이션 설명@Component기본적인 스프링 컴포넌트(빈)로 등록@ControllerSpring MVC의 컨트롤러 (웹 요청 처리)@Service서비스 계층(비즈니스 로직)으로 사용@Repository데이터 접근 계층 (DAO 역할)@Configuration설정 관련 빈 등록 @Com..
1. 소개Spring Framework을 더 사용하기 쉽게 기본값으로 여러 라이브러리들을 추가해 준 버전스프링 부트와 스프링 프레임워크는 다르다! Spring Framework?2002년에 자바 기반의 엔터프라이즈 애플리케이션을 개발하기 위해 나온 프레임워크IOC (Inversion of Control), DI (Dependency Injection), AOP (Aspect-Oriented Programming) 등의 개념을 도입하여 객체 간 결합도를 낮추고 유지보수성을 높임스프링을 활용하면 웹, 데이터베이스, 보안, 메시징 등 다양한 기능을 통합하여 개발할 수 있음특징의존성 주입 (DI, Dependency Injection) 지원객체간의 의존 관계를 XML, Java Config, 어노테이션을 통해..