반응형

개발/Spring 6

Spring Framework_컨테이너 & 빈 관리

#1 컨테이너 종류 및 역할1. 서블릿 컨테이너 (웹 서버, 톰캣)내장 서버(설치 xx)Servlet 클래스를 new(생성) 해줌 (ex. FrontController)2. 스프링 컨테이너POJO 클래스를 new 해줌 (ex. DAO, DTO, Action류)코드 내에서 new 역할을 담당하는 컨테이너3. 루트(최상위) 컨테이너.jar(라이브러리)를 관리스프링에서 제공해주다보니까 스프링 컨테이너라고 불리기도함설정에 대한 이야기를하면 루트 컨테이너를 말한다고 알아들으면 됨 #2-1 XML 설정 파일: 컨테이너가 구동되려면 설정 파일(.xml)이 필요함: 스프링은 XML 기반의 설정 파일을 사용해서 컨테이너를 구성하고 빈들을 정의함: 개발자는 XML 설정 파일에 빈의 정의를 작성해 컨테이너가 해당 빈을 생성..

개발/Spring 2024.07.16

Spring Framework_의존성 주입(Dependency Injection, DI)

제어의 역행 (Inversion of Control, IoC)객체 간의 의존 관계를 직접 연결하는 대신 컨테이너를 통해 관리하는 방식어떤 객체를 사용할지에 대한 책임은 프레임워크에게 넘기고, 자신은 수동적으로 주입받는 객체를 사용제어의 주체가 개발자에서 프레임워크에 넘어감, 제어가 역전됐다는 의미Spring Framework에서 IoC는 주로 DI를 통해 구현 의존성 주입 (Dependency Injection, DI)DI는 IoC의 한 형태객체가 자신의 의존성(다른 객체와의 관계)을 직접 생성하거나 관리하지 않고, 외부로부터 주입받는 방식의존성 주입은 원래 개발자가 했어야하는데, Spring 컨테이너가 진행할 예정이 의존성 주입은 생성자 주입, Setter 주입 등 다양한 방식으로 이뤄질 수 있음DI를..

개발/Spring 2024.07.16

Spring Framework_설치

https://spring.io/#1Spring Starter ProjectImport Spring Getting Started Content #2Name : 프로젝트 이름Location : 지정해둔 위치 기본 설정Type : Gradle(부트 방식) / Maven(자바기반 Spring 레거시 프레임워크가 기본제공)Packaging : War(웹 배포) / Jar(자바 아카이브 배포)Group : 프로젝트를 진행하는 담당파트나 회사명Package : 패키지 경로; com.Group명.Project명 #3New Spring Starter Project Dependencies.jar를 말하는 것으로 최상위 루트 컨테이너라이브러리를 여기서 다운받아서 관리할 수 있음

개발/Spring 2024.07.16

Spring Framework_ApplicationContext, <bean></bean>

[ 스프링 컨테이너_ApplicationContext ] 1. 컨테이너 설정파일확장자 : .xml서블릿 컨테이너 : web.xml스프링 컨테이너 : applicationContext.xml 2. applicationContext.xml 루트 엘리먼트 : 루트 엘리먼트(root element) : XML 문서의 최상위 요소. 즉, XML 문서의 시작과 끝을 나타내는 요소로서 다른 모든 요소는 루트 엘리먼트 안에 포함되어야 함. 보통 루트 엘리먼트는 하나의 XML 문서에 한 번만 나타남applicationContext.xml 파일에서는 가 주로 루트 엘리먼트가 됨이 파일에서 설정이 작성되는 주요 위치이기 때문에 루트 엘리먼트의 역할을 하게 됨따라서  태그 사이에 스프링의 각종 설정이 태그로 작성됨많이 들어가..

개발/Spring 2024.07.16

Spring Framework_결합도(Coupling)

[ 결합도 - Coupling ]: 모듈 간의 상호 의존성을 나타내는 개념높은 결합도는 한 요소의 변경이 다른 요소에 미치는 영향이 크다는 것을 의미, 유지보수 불리따라서 낮은 결합도가 유지보수성을 향상시키는데 도움을 줌!결합도를 낮추기 위한 방법 ↓ 1. 인터페이스 활용 : DTO: 객체가 변경되어도, 메서드를 추가 변경하지 않아도됨 > 다형성 구현! Interface - Phone.java Class - IPhone.java , GalaxyPhone.java 2. 팩토리 패턴 활용 : HandlerMapping : 코드에 new가 있었는데, new가 없어짐 >>> 코드에 new가 없을수록 결합도가 낮음Spring 컨테이너 코드에 BeanFactory 타입은 무조건 있음원래 객체를 받아오려면 new 했..

개발/Spring 2024.07.16

Spring Framework_개념

[ Spring Framework ]: IoC와 AOP를 지원하는 경량의 프레임워크제어의 역행 : 개발자가 객체를 생성(new)하지 않고, 컨테이너가 객체를 생성하고 관리하는 기능을 제공관점 지향 프로그래밍 : 공통로직을 별도의 클래스로 모듈화해 올바른 시기에 호출하는 기능을 수행경량의 POJO를 다루는 컨테이너를 통해 AOP 기능을 구현하고 적용할수 있도록 도와주는 프레임워크  제어의 역행 (Inversion of Control, IoC)코드에서 객체를 생성(new)하는 부분을 개발자가 담당하지 않고 프레임워크나 컨테이너에게 맡기는 것을 말함ex) 웹에서 요청을 처리하기 위해 사용하는 각각의 액션(Action)을 개발자가 직접 생성하고 관리하는 것이 아니라, 프레임워크나 컨테이너에게 필요한 액션을 맡기..

개발/Spring 2024.07.16
반응형