그냥 기본 구조만 정리한 글입니다. 1. 프로젝트 생성IntelliJ 환경으로 가정!1) IntelliJ pro에서 생성 파일 > 새로 만들기 > 프로젝트 좌측 제너레이터 > Spring Boot 선택 이름, 프로젝트 위치, 사용할 언어, 종속성 타입, jdk 버전 선택 후 다음 2) Spring Initializr 사용 Intellij 무료 버전에서는 Spring Boot 프로젝트를 생성할 수 없다... 그러면 Spring Initializr 홈페이지에서 프로젝트를 만들 수 있다. 프로젝트 설정 후 GENERATE 버튼을 눌러 ZIP파일을 다운받는다.압축을 풀어주고 intelliJ로 열어주면 끝 2. 프로젝트 구조Spring Boot 프로젝트는 기본적으로 아래와 같은 디렉토리 구조를 가진다. proje..
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 등록 방..
1. 소개 JPA는 자바에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다.실제적으로 구현된 것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다.JPA를 사용하면 SQL을 직접 작성하지 않고도 엔티티(Entity) 객체를 이용해 데이터베이스와 상호작용할 수 있다.JPA를 구현한 대표적인 오픈소스로는 Hibernate가 있다. ORM( Object-Relational Mapping) 이란?우리가 일반적으로 알고 있는 애플리케이션 class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 애플리케이션의 객체를 RDB 테이블에 자동으로 영속화해주는 것이라고 보면 된다. 장점SQL문이 아..
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..