웹 개발/Framework(4)
-
MVC패턴과 Servlet
MVC 개념 MVC 패턴이란? Model - View - Controller의 줄임말로, 전체 웹 로직을 크게 View, Controller, Model로 기능과 역할을 분리하여 정형화된 개발 패턴을 제공하는 개발 방법론이다. 사용자 인터페이스와 비즈니스 로직을 분리하여 역할을 명확히하고 유지보수를 용이하게 해준다. Model 데이터의 흐름을 뜻한다. 비즈니스 로직 상에서 필요한 데이터 구조를 뜻한다. View로 전송 될 데이터의 흐름, 구조 혹은 객체를 뜻한다. 데이터를 가진 객체로서 DB 및 서비스 로직과 접촉한다. View 사용자에게 보여줄 화면을 정의한다. 모델에 담긴 데이터를 사용해서 화면을 그린다. 데이터를 보여주는 방식을 의미한다. Controller 사용자의 요청을 받아서 비즈니스 로직을 ..
2021.07.06 -
스프링 컨테이너
스프링 컨테이너 스프링 컨테이너란 클래스에 의존성을 부여해주고 제어하기 위해서 외부에서 사용하는 스프링 인터페이스이다. 스프링 컨테이너를 통해서 IOC(제어의 역전), DI(의존성 주입)이 가능해지며 좋은 객체지향 코드를 작성할 수 있게된다. @Component public class MemberServiceImpl implements MemberService{ private MemberRepository memberRepository;//인터페이스 @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } } 위와 같이 MemberRepository 인터..
2021.06.19 -
스프링 핵심개념 DI, IOC
의존성 주입(DI) 의존성 주입이란 외부에서 실제 참조형 구현 객체를 생성하여 클라이언트 객체에 전달함으로써 의존관계가 생기는 것을 뜻한다. 의존성 주입을 잘 활용하면 클래스의 내부에서 의존관계를 변경하지 않고 외부에서 동적으로 객체 인스턴스 의존관계를 쉽게 변경할 수 있다. 외부에서 객체를 생성하고 관리하면서 의존관계를 연결해 주는 컨트롤 객체를 'DI컨테이너'라고 한다. 다음 코드를 통해 좀 더 자세히 알아보자. //DI가 적용되지 않은 객체 public class CharacterServiceImpl implements CharacterService { //참조객체를 클래스 내부에서 직접 호출하여 선언 private final Character character = new CharacterState..
2021.06.09 -
스프링 프레임워크란?
스프링 프레임워크의 탄생 배경 2000년대 초반 EJB(서버 측 비즈니스 로직을 작성하기 위한 Enterprise 환경에서의 자바 표준) 컨테이너의 복잡함 때문에 많은 개발자들이 혼란을 겪었다. 이에 2002년 로드존슨이 EJB의 문제점을 지적하면서 EJB 없이도 로직을 더욱 단순하면서 체계적으로 작성할 수 있는 오픈소스 코드를 개발하여 책으로 출간하면서 스프링의 역사가 시작되었다. 이 책에는 현재 스프링의 주요 개념이 되는 BeanFactory, DI, POJO,IOC, Application Context 등의 개념과 예제 코드들이 담겨있다. 책 출간 이 후, 유겐 휠러와 얀 카로프가 로드 존슨에게 오픈소스 프로젝트를 제안함으로써 프레임워크가 탄생하게 되었고 EJB라는 겨울을 넘어 봄이 왔다는 의미로 ..
2021.06.06