프레임워크12 의존성 주입(Dependency Injection)(강하고 느슨한 결합 관계) 우선 의존성에 대해 알아보자. 예를 들어 A와 B가 있다고 했을 때, A가 수정되었을 때, B 또한 이 영향을 받는다는 것. 이것이 바로 의존성을 갖는 것이다. 의존성을 갖는 관계에서는 또 강한 결합과 느슨한 결합이라는 관계로 나뉜다. 강한 결합 관계는 구현 클래스를 직접 참고하는 것이다. public class Desktop{ public void CodingDesktop(){}; } public class Programmer { private Desktop Computer; public void code(){ Desktop.CodingDesktop(); } } 위와 같이 Programmer 클래스는 Desktop이라는 구현된 클래스를 직접 참조하고 있기 때문에 강한 결합 상태라고 할 수 있다. 하지만.. 2023. 4. 11. 제어의 역전(Inversion of Control) 제어의 역전, 멋있는 문장이다. 스프링을 공부하다보면 자주 등장하는 것이 Spring IoC Container다. 여기서 IoC가 바로 제어의 역전을 의미한다. 이 멋있는 문장, '제어의 역전'이란 무엇일까? 의존성 주입을 이해하기 위해서는 우선 제어의 역전에 대해 알아야 한다. 자바에서는 new 연산자를 통해 객체를 생성하고, 객체 간의 결합 관계를 형성하고, 초기화를 해주는 등, 개발자가 직접 객체를 제어해야 했다. 하지만 Spring에서는 다양한 방식으로 객체를 등록하면 이를 스프링 컨테이너에서 생명주기를 전부 관리해주게 되었다. 여기서 Spring에 등록한 객체가 바로 Bean!! 이고, 이 Bean의 생명주기는 다음과 같다. 스프링 컨테이너 생성 -> 빈 생성 -> 의존성 주입 -> 초기화 롤백.. 2023. 4. 11. Spring에서 Bean이란? 스프링 관련 글을 보다면 Bean 또는 빈 이라는 단어를 자주 접할 수 있다. 가끔은 한글로 빈이라고 해서 나는 또 빈(Empty) 설정, 빈(Empty) 스캐너랑 헷갈리던데. 암튼 스프링에서 Bean 또는 빈은 무엇일까? Bean이란 Spring Ioc 컨테이너가 관리하는 자바 객체로, 컨테이너에 의해서 생명 주기가 관리되는 객체를 말한다. IoC 컨테이너에 의해서 인스턴스화 되고 조립, 관리되는 객체라고 생각하면 될까 자바에서는 new 연산으로 객체를 생성했다면, 이제는 의존성을 주입하는 것을 외부에게 맡겼기 때문에, 즉, 제어의 역전이 일어났기 때문에 Spring IoC 컨테이너에서 객체를 관리하게끔 객체를 Bean화 시킨 것이다. 원래는 그냥 알아서 의존했는데 이 의존관계를 스프링 IoC 컨테이너.. 2023. 4. 11. Spring FrameWork 프레임 워크란 소프트웨어에서의 특정 문제르 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합이라고 할 수 있다. 기본적으로 웹 어플리케이션을 개발하기 위해서는 요청 처리, 세션 관리, 리소스 관리 등 많은 기본 기능을 설계, 작성해야 한다. 여기서 공통으로 사용되는 기본 기능들을 일관되게 사용할 수 있으면 개발에서의 생산성이 높아질 수 있다. 따라서 프레임 워크는 생산성을 높이기 위해 구성된 완성된 구조의 집합이다. 그중에서 Spring 프레임 워크에 대해 공부한다. Spring의 특징으로는 다음을 들 수 있다. - POJO 방식의 프레임 워크 - 의존성 주입을 통한 객체 관계 구성 - 관점 지향 프로그래밍 - 제어 역전 -높은 확장성과 다양한 라이브러리 등과 같은 특징을 가진다. POJO(Pla.. 2023. 4. 11. 이전 1 2 3 다음