개발용사 준기 Dev Warrior Jungi
Spring Contrainer & Bean 1) 스프링 컨테이너의 개념 스프링 프레임워크에서 객체(Bean)를 생성, 배포, 관리하기위해 커다란 박스를 만드는데 그것을 스프링 컨테이너라고 합니다. 2) Bean의 개념 스프링 프레임워크에서 관리되는 객체를 의미합니다. Bean은 크게 두가지로 나눌 수 있다. 일반적인 Java 클래스로서 특정한 인터페이스를 구현하거나 클래스를 상속받을 필요가 없습니다. 스프링에서는 POJO 클래스를 Bean으로 인식하고 스프링 컨테이너에 등록할 수 있습니다. 메타데이터는 XML, Annotation 또는 JavaConfig 형식으로 작성될 수 있습니다. 메타데이터는 Bean의 속성, 의존성, 라이프사이클 등을 정의하고, 스프링 컨테이너는 해당 메타데이터를 기반으로 Bea..
의존성 역전 1) 의존성 역전(IoC, Inversion of Control)의 개념 소프트웨어 개발에서 컴퓨터 프로그램의 제어 흐름을 역전시키는 개념 일반적으로 프로그램의 제어 흐름은 개발자가 코드를 작성하여 결정하게 됩니다. 그러나 IOC에서는 제어 흐름의 결정 권한을 프레임워크나 컨테이너에 위임하고, 개발자는 이를 따르는 방식으로 개발을 진행합니다. "상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 된다. 둘 모두 추상화에 의존해야 한다."라는 개념 즉, 상위 수준 모듈은 하위 수준 모듈에 직접 의존하는 대신, 추상화된 인터페이스나 추상 클래스와 같은 추상화 계층에 의존해야 합니다. 2) 의존성 역전의 예시 public class Pikachu { public void attack() { // 피..
의존성 주입 1) 의존성 주입의 개념 DI는 객체가 직접 필요로 하는 의존성을 생성자, Setter 메서드, 필드 주입 등의 방법으로 주입받는 것을 의미 이를 통해 객체 간의 결합도를 낮추고, 코드의 재사용성과 유지보수성을 향상시킬 수 있습니다. 2) 의존성 주입의 세가지 방법 ① 생성자 주입 ( Constructor Injection ) 생성자를 통해 의존성을 주입하는 방법입니다. 클래스의 생성자를 정의하고, 해당 클래스가 필요로 하는 의존성을 생성자의 매개변수로 선언합니다. public class Attack { private String name; // Attack 클래스 선언 public Attack(String name) { this.name = name; } public void perform..
1) 스프링의 개념 Java 플랫폼에서 애플리케이션 개발을 위한 오픈 소스 프레임워크 2) 스프링의 기원 1』개발자는 누구인가? 호주 시드대학교 출신의 컴퓨터 프로그래머 로데릭 로드 존슨이 전통적인 J2EE (Java 2 Platform, Enterprise Edition) 개발 방법, 특히 EJB의 문제점과 복잡성을 지적하고, 개발자가 보다 간결하고 유연한 애플리케이션을 개발할 수 있도록 경량 프레임워크인 스프링을 제작함. 2』 왜? 전통적인 J2EE 개발의 문제때문에 !! J2EE(Java 2 Platform, Enterprise Edition)는 기업용 Java 플랫폼으로, 웹 애플리케이션 및 분산 애플리케이션을 개발하기 위한 다양한 기능과 API를 제공하였으나, 아래와 같은 문제점들이 있었습니다...