1. SQL은 관계형 데이터베이스의 데이터를 관리하기 위한 프로그래밍 언어로 크게 3가지 종류가 있다.
DDL(데이터 정의 언어), DML(데이터 조작 언어), DCL(데이터 제어 언어)로 구분된다. DDL은 각 릴레이션(테이블)을 정의하기 위한 언어로 CREATE, DROP, ALTER등이 존재한다. DML은 데이터를 관리하기 위한 언어로 SELECT, UPDATE, INSERT등이 있다. 마지막으로 DCL은 데이터의 관리, 접근권한을 다루는 언어로 GRANT, REVOKE 등이 있다. SQL을 예를 들어보자면 SELECT * FROM EMP WHERE NAME = "wonjae"; 이런 식으로 사용하는 프로그래밍 언어다. 하지만 스프링의 JPA를 사용한다면 이런 SQL언어를 통해 직접 DB를 제어하지 않아도 JPARepository를 상속하여 메서드를 만들거나 사용함으로써 간편하게 SQL 기능들을 사용할 수 있게 해준다.
2. MVC란?
MVC패턴은 디자인패턴 중 하나입니다.
디자인 패턴이란 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것을 말합니다. MVC 는 Model, View, Controller의 약자 입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다.
Model : 애플리케이션의 정보, 데이타를 나타냅니다. 데이타베이스, 처음의 정의하는 상수, 초기화값, 변수 등을 뜻합니다. 또한 이러한 DATA, 정보들의 가공을 책임지는 컴포넌트를 말합니다.
1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
2. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 한다.
3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다. 모델의 속성 중 텍스트 정보가 변경이 된다면, 이벤트를 발생시켜 누군가에게 전달해야 하며, 누군가 모델을 변경하도록 요청하는 이벤트를 보냈을 때 이를 수신할 수 있는 처리 방법을 구현해야 합니다. 또한 모델은 재사용가능해야 하며 다른 인터페이스에서도 변하지 않아야 합니다.
View: input 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타냅니다. 다시 말해 데이터 및 객체의 입력, 그리고 보여주는 출력을 담당합니다. 데이타를 기반으로 사용자들이 볼 수 있는 화면입니다.
1. 모델이 가지고 있는 정보를 따로 저장해서는 안된다.
2. 모델이나 컨트롤러와 같이 다른 구성요소들을 몰라야 된다.
3. 변경이 일어나면 변경통지에 대한 처리방법을 구현해야만 한다.
Controller: 데이터와 사용자인터페이스 요소들을 잇는 다리역할을 합니다.
즉, 사용자가 데이터를 클릭하고, 수정하는 것에 대한 "이벤트"들을 처리하는 부분을 뜻합니다.
1. 모델이나 뷰에 대해서 알고 있어야 한다.
2. 모델이나 뷰의 변경을 모니터링 해야 한다.
출처: https://m.blog.naver.com/jhc9639/220967034588
[개발자 면접준비]#1. MVC패턴이란
오늘은 개발자면접에 많이 나오기도 하는 MVC패턴에 대해서 알아보고자 합니다. 과연 MVC패턴이 무엇...
blog.naver.com
'웹 > 스프링' 카테고리의 다른 글
AOP란? 프록시 패턴이란? 스프링 AOP란? @Transactional 원리 (0) | 2022.06.03 |
---|---|
IOC란? IOC 컨테이너란? DI란? DI 방법 (0) | 2022.06.02 |
Spring MVC란? (0) | 2022.05.31 |
RedisTemplate 사용해서 Redis 이용하기 (0) | 2022.04.18 |
Spring Boot에서 통합 테스트코드 구현하기(JUnit5 + Mockito) (0) | 2022.04.17 |