본문 바로가기
반응형

BackEnd/Spring50

[Spring] Spring DB Access의 특징 # 목적Spring의 데이터베이스 액세스에 대한 이해📌 Spring DB Access의 특징1. DataSource를 이용한 데이터베이스 연결 제공다양한 방식의 데이터베이스 연결을 제공하고, 이에 대한 추상화 계층을 제공함으로써 업무로직과 데이터베이스 연결방식 간의 종속성을 배제한다.2. 다양한 데이터베이스 액세스 프레임워크와의 연동 지원mybatis, JPA, hibernate 등3. 오류에 대한 일괄된 예외 제공Spring은 DataAccessException 클래스를 제공한다.DataAccessException은 RuntimeException을 상속받은 Unchecked 예외다.Spring은 데이터베이스별 오류코드를 조사해서 오류 코드별로 일관된 예외를 발생시킨다.오류 코드별 예외는 DataAcc.. 2025. 1. 16.
[Spring] Spring을 통한 자동 의존성 주입(코드 작성 순서) 📌 애플리케이션의 확장성을 높이는 방법자신이 사용할 객체를 자신이 결정(생성)하지 않는다.인터페이스를 이용한 느슨한 결합을 유도한다.의존성 주입을 통해서 외부 모듈(제3자)로부터 자신이 사용할 객체를 주입받는다.* 클래스가 클래스를 의존하는 경우 : 결합이 높다.* 클래스가 인터페이스를 의존하는 경우 : 결합이 낮다.자동 의존성 주입스프링 컨테이너가 객체를 생성할 클래스를 자동으로 감지하도록 하기@Component@Controller@RestController@ControllerAdvice@RestControllerAdvice@Service@Repository1. Dao 생성 - @Repository1) Service에서 선언할 인터페이스 생성2) 위의 인터페이스를 구현할 Class를 생성 - @Rep.. 2025. 1. 16.
[Spring] Maven 빌드 도구 # 목적Maven 빌드 도구에 대한 이해빌드 도구(Build Tool) 란?프로젝트 생성, 컴파일, 테스트, 패키징, 배포 등의 작업을 위한 전용 프로그램💡 Maven자바용 프로젝트 관리 도구프로젝트의 전체 라이프 사이클을 관리하는 도구프로젝트의 생성, 컴파일, 빌드, 패키징, 배포 등의 작업을 수행할 수 있다.프로젝트 구조 및 빌드 단계를 표준화할 수 있고, 종속성(의존하는 라이브러리) 관리를 효율적으로 처리할 수 있다.Maven의 특징Project Object Model(POM)프로젝트의 구조, 라이브러리 의존성, 빌드 설정 등을 정의하는 XML 파일pom.xml은 프로젝트의 메타정보를 포함하고 있으며, maven은 이 정보를 바탕으로 프로젝트를 빌드하고 종속성을 관리한다.의존성 관리프로젝트가 필요.. 2025. 1. 16.
[Spring] Spring Container(스프링 컨테이너) # 목적Spring Container(스프링 컨테이너)에 대해 이해하고,Spring Container를 활용하기 이전에 Container를 통한 의존성 주입 코드를 작성해보기❓ Spring ContainerContainer(컨테이너) 란?객체의 라이프사이클을 관리하고, 객체를 제공하는 것* 객체의 라이프사이클 관리 : 객체의 생성/유지/폐기를 담당Spring Container(스프링 컨테이너) 란?IoC의 구현체객체의 생성, 객체의 의존관계를 파악해서 의존성을 주입설정정보(XML, 어노테이션으로 설정)를 읽어서 객체 생성 및 의존성 주입객체의 생성/유지/폐기/조립/제공 등의 기능 제공* 스프링 컨테이너 = 스프링 프레임워크의 기능🔎 스프링의 주요 컨테이너1. BeanFactory스프링 컨테이너의 가장 .. 2025. 1. 16.
[Spring] IoC(제어역전, Inversion of Control) # 목적IoC(제어역전, Inversion of Control)에 대한 이해❓ IoC(제어역전) 이란?자신이 사용할 객체에 대한 결정권이 자신에게 있지 않고, 외부(제 3자) 모듈에게 결정권을 위임한 것자신이 사용할 객체를 직접 생성하지 않는다.자신이 사용할 객체를 외부(제 3자) 모듈이 결정하는 것🔎 제어역전의 종류1. 의존성 검색(DL: Dependency Lookup, DP: Dependency Pull)자신이 사용할 객체를 자신이 직접 생성하지 않고, 미리 생성된 객체 중에서 적절한 객체를 찾아서 사용하는 것ex)내가 입을 옷을 백화점에 가서 구입하는 것 - 공장에서 미리 만들어놓은 옷 중에서 하나를 골라서 사용한다. (나에게는 결정권이 없고 제약이 있음. 나열된 옷 중에서만 골라야 함)내가 사.. 2025. 1. 16.
[Spring] Spring Framework란? # 목적Spring Framework에 대한 이해❓ Spring framework 란?서버용 자바 애플리케이션 개발을 지원하는 프레임워크Spring 생태계의 핵심 (보통 Spring 이라고 하면 Spring Framework를 의미함)POJO(Plain Old Java Object)를 사용해서 서버용 자바 애플리케이션 개발을 지원하는 프레임워크POJOPlain특정한 라이브러리나 프레임워크에 종속적이지 않다.애플리케이션을 실행하기 위해서 특정한 서버가 필요하지 않다.재사용성이 높다. 이식성이 높다.OldEJB가 등장하기 전 자바 클래스를 정의하고, 생성하고, 실행했던 그 옛날 방식EJB에서는 EJB서버가 제공하는 서비스를 사용하기 위해서는 특정한 인터페이스를 구현하고, 특정한 클래스를 상속받아서 개발해야 .. 2025. 1. 16.