IOC / DI
·
DevOps/Spring
IOC (제어의 역전, Inversion Of Control)객체의 생성과 관리 권한을 개발자가 아닌 Spring 컨테이너가 담당하는 것.Spring에서는 컨테이너가 객체 생성, 주입, 소멸을 관리한다. ➜ 객체의 생성 및 생명주기 관리를 개발자가 직접 하는 것이 아니라 컨테이너가 담당한다. 객체 간의 결합도를 낮춰 유연한 코드가 될 수 있다. DI (의존성 주입, Dependency injection)Spring이 객체 간의 의존성을 자동으로 주입해주는 것.한 객체가 다른 객체를 사용할 때, 해당 객체를 직접 생성하지 않고, Spring이 주입해주는 방식 ➜ 구현 코드가 변경되어도 클라이언트의 코드에는 영향이없다. 다른 구현체를 구현하여 Bean으로 등록하면 자유롭게 변경이 가능하다. ✔ ..
Spring Container, Spring Bean
·
DevOps/Spring
Spring Container객체(Bean)을 생성, 관리, 소멸하는 역할 담당애플리케이션 시작 시, 설정 파일이나 Annotation을 읽여 Bean을 생성하고 주입하는 모든 과정을 컨트롤 객체 생성객체(Bean)를 생성 및 관리하고 의존성을 주입하는 역할을 담당➜ 객체를 직접 생성하는 경우, 객체 간의 의존성이나 결합도가 높아셔 OCP, DIP를 위반한다. Spiring Container를 사용하면 인터페이스에만 의존하는 설계가 가능하여 OCP, DIP를 준수할 수 있다. Spring BeanSpring Container 가 관리하는 객체.Spring이 이 객체를 관리하는 순간부터 Bean이 된다. Spring은 Bean을 생성, 초기화, 의존성 주입 등을 통해 관리Spring Bean의 특징..
SOLID 원칙
·
DevOps/Spring
SOLID원칙객체 지향 설계의 5가지 기본 원칙, 1. 단일 책임 원칙 SRP (Single Responsibility Principle)하나의 클래스는 하나의 책임만 가져야한다.➜ 클래스는 한 가지 기능에 집중해야하며, 그 외의 기능을 담당하지 않아야한다. 클래스가 변경될 때 영향이 적으면 된다.// User 클래스에서 사용자 정보, 로그인 및 데이터베이스 저장 책임 다 가지고 있음.public class User{ private String name; // 사용자 정보 public void login() { /* 로그인 기능 */ public void saveUser() { /* DB 저장 기능 */}// 단일 책임 원칙 적용public class User{ /* 사용자 정보 관리 *..