no image
[풀스택 과정] Spring Core : Spring IoC 및 DI(3)
8. Setter Injection vs Constructor Injection 생성자 주입은 컴포넌트를 사용하기 전에 의존 해야하는 클래스의 인스턴스를 가지고 있어야 할 때 유용하며 세터주입은 부모 컴포넌트의 새 인스턴스를 생성하지 않고 동적으로 각기 다른 구현을 사용해 의존성을 대체할 수 있다. 즉 의존성을 인터페이스로 선언할 수 있다는 점이 장점이며 덜 강압적인 주입이라 할 수 있다. 기본 생성자만 있는 클래스에 생성자 주입을 정의하면 비 IoC 환경에서 해당 클래스를 사용하는 모든 클래스에 영향을 주게 된다. 하지만 세터 주입의 경우 다른 클래스가 이 클래스와 상호작용 하는데 있어 영향을 덜 주게 된다. 일반적으로 세터 주입을 이용하는 것이 좋다. 이 방식은 비 IoC 설정에서 코드를 사용하는데 ..
2023.03.22
no image
[풀스택 과정] Spring Core : Spring IoC 및 DI(2)
3. IoC 컨테이너 분류체계 DL(Dependency Lookup) 모든 IoC 컨테이너는 각 컨테이너에서 관리해야 하는 객체들을 관리하기 위한 별도의 저장소를 가진다. Bean에 접근하기 위하여 컨테이너에서 제공하는 API를 이용하여 사용하고자 하는 Bean을 Lookup 하는 것으로 컨테이너 API와 의존관계를 많이 가지면 가질수록 어플리케이션 컨테이너에 종속되는 단점이 있다. DI(Dependency Injection) DI는 Spring에서 새롭게 지원하는 IOC의 한 형태이다.각 계층 사이, 각 class 사이에 필요로 하는 의존관계가 있다면 이를 컨테이너가 자동 적으로 연결시켜 주는 것으로 각 class 사이의 의존관계를 Bean 설정 정보를 바탕으로 컨테이너가 자동적으로 연결해 주는 것이다..
2023.03.22
no image
[풀스택 과정] Spring Core : Spring IoC 및 DI
1. CONCEPT 마틴 파울러는 2004년의글에서 제어의 어떤 측면이 역행되는 것인지에 대한 의문을 제기하고 의존하는 객체를 역행적으로 취득하는 것이라는 결론을 내렸다. 그는 그와 같은 정의에 기초하여 제어 역행이라는 용어에 좀더 참신한 ‘의존성 주입(DI,dependency injection)’이라는 이름을 지어줬다. 모든 어플리케이션은 비지니스 로직을 수행하기 위해 서로 협업하는 둘 또는 그 이상의 클래스들로 이뤄진다. 전통적으로 각 객체는 협업할 객체의 참조를 취득해야 하는 책임이 있다. 이것이 의존성이다. 이는 결합도가 높으며 테스트하기 어려운 코드를 만들어 낸다. IoC를 적용함으로써 객체들은 시스템 내의 각 객체를 조정하는 어떤 외부의 존재에 의해 생성 시점에서 의존성을 부여 받는데, 의존성..
2023.03.22
no image
[풀스택 과정] Spring Core : Spring이란?
1. Model 1 Developnemt 문제점 • 프리젠테이션 로직과 비지니스 로직의 혼재로 JSP 복잡성증가 • 비지니스 로직과 화면로직은 분리되어야 함 • JSP의 목적은 VIEW에 있는데 너무 많은 일을 함 • 유지보수의 어려움 2. Model2 사용의 필요성 제기 모델 2의 특징 • Model-View-Controller 역할에 기반한 구조 • 모델과 view의 분리 • View 와 Model의 연결역할을 Controller가 담당 • 비즈니스 로직과 화면로직의 분리 프레임워크의 등장 • 프레임워크를 이용하면 프로그램의 작성 분량을 줄임 • 프로그램의 작성방법에 대한 관습을 강제로 제어 • 가이드와 표준에 의한 개발을 따르도록 제어 • 읽기 쉬운 프로그램 작성 → MVC 기반의 Struts Fr..
2023.03.22
no image
[풀스택 과정] Spring 설치(STS 3.9.4 version)
이번 글에서는 Spring에서 legacy project를 생성하기 위해 spring이 제공하는 STS(Spring Tool Suite) 3.9.4 version을 설치해보겠습니다. 먼저 Spring Legacy Project는 일반적인 스프링 프레임워크의 프로젝트를 말하며, 어느 책에서나 말하지만 라이브러리 설정을 자유롭게 할 수 있는데, 초반 설정 양이 엄청엄청 많습니다....... 그 중 가장 많이 쓰이는 Spring MVC Project는 Maven과 여러 라이브러리가 세팅되어 생성되는 애플리케이션인데 이것은 차후 과정을 배우면서 정리할 수 있도록 하겠습니다. 간단하게 설치과정을 살펴보자면 1. chrome 검색창에서 spring 3.9.4만 검색하면 해당 페이지에 올수 있습니다. 해당 페이지까지..
2023.03.16
728x90
300x250