Programming/Spring 24

Spring (3) - Container에 객체(Bean) 설정하기1 : 프로젝트 생성

Container에 객체를 설정하는 방법을 살펴보기 앞서 테스트를 위한 프로젝트를 먼저 생성해야 한다. Spring Boot가 아닌 일반 Spring Project는 [Spring Legacy Project]로 만든다. 하지만, '여기서는 Web을 만들지 않아도 되기 때문에, MVC패턴이 없는 Spring Project를 썼다. 굳이 쓰지 않는 파일까지 만들지 않고 보기 편하게 하기 위함이다. 1. Java Project 생성 2. Maven Project로 전환 Spring에서 필요한 library들을 Maven으로 쉽게 받아오기 위해, 전환한다. 생성한 Java Project에 마우스 우클릭 > Configure > Conver to Maven Project > Finish (수정 필요 X) 3. p..

Programming/Spring 2022.04.22

Spring 기타(1) - 객체 간 결합도가 낮은 이유

Spring은 IoC를 통해, 객체 간의 결합도를 낮출 수 있다고 한다. 이번 글에서는 그 이유를 더 자세하게 살펴보려고 한다. 객체의 강한 결합부터 Spring에서 사용하는 약한 결합까지 차례로 작성했다. 1. 객체 간 강한 결합 클래스를 직접 호출 한계 결합된 클래스(UserServiceImpl, AdminServiceImpl)가 수정되면, HomeController도 수정해야 한다. public class HomeController{ private UserServiceImpl userService = new UserServiceImpl(); private AdminServiceImpl adminService = new AdminServiceImpl(); public void addUser(User ..

Programming/Spring 2022.04.20

Spring (2) - IoC와 Container

1. IoC(Inversion of Control)이란? 직역하면 '제어의 역행'이라는 뜻으로, 어플리케이션 코드에서 객체를 제어하지 않고 컨테이너가 제어하는 것을 말한다. 우리가 설정만 해주면, 컨테이너가 알아서 객체를 생성, 삭제, 또 의존 관계를 맺어준다는 것이다. 우리가 설정한다는 것은 "이 객체는 컨테이너 너가 관리해!"하고 알려 주는 코드를 작성하는 것을 말한다. 장점 - 객체 간의 결합도를 낮출 수 있다. (= 한 클래스를 수정해서 이와 관련된 다른 클래스도 반드시 수정해야하는 정도가 적다.) 2022.04.20 - [웹프로그래밍/Spring] - Spring 기타(1) - 객체 간 결합도가 낮은 이유 Spring 기타(1) - 객체 간 결합도가 낮은 이유 Spring은 IoC를 통해, 객체..

Programming/Spring 2022.04.20

Spring (1) - Spring Framework란?

1. 등장 배경 웹사이트의 규모와 활용 범위가 커지면서 전보다 많은 서비스를 제공해야 했다. 결론적으로 POJO + 경량 프레임워크가 사용되게 되었다. 1) POJO (Plain Old Java Object) 특정 프레임워크나 기술에 독립적인 자바 객체 ex) 다른 프레임워크로 작동시켜도 되도록 호환성을 높임 2) 경량 프레임워크 Spring은 기존에 사용되던 EJB보다 약 10배 가벼운 프레임워크이다. 2. SpringFramework의 핵심 기능 1. POJO (Plain Old Java Object) 특정 프레임워크나 기술에 독립적인 일반 자바 객체 2. PSA (Portable Service Abstraction) 추상화를 통해 Low Level의 기술 구현 부분과 기술을 사용하는 인터페이스로 분..

Programming/Spring 2022.04.15