
✔ 한 번 더 본 것들 :)
아주아주 기초적인 내용들부터 정리해보는 중
* MVC 구조 흐름
호출 호출 호출 호출 호출
web Brower <-> controller <-> service <-> DAO <-> mapper <-> DB
return return return return return
DTO 생성
Data Transfer Object : 뷰, 컨트롤러, 서비스, DAO, DB 등 각 계층이 데이터를 주고 받을 때 사용하는 객체
controller 생성
@controller 어노테이션 사용, @requestMapping("/") < "" 안의 값을 가진 메서드로 매핑
List<> list = service.select~~(); // 서비스 호출
service 생성
@service 어노테이션 사용, interface > interface를 구현한 class 만들기(serviceImpl)
❔ service 생성 시 왜 Impl도 항상 함께 만드는 것일까?
interface는 객체의 사용 방법을 정의한 타입이다. 객체의 교환성을 높이기 위해 다형성을 구현하는 중요한 역할을 한다.
즉, 개발 코드를 수정하지않고 사용하는 객체를 변경할 수 있도록 해준다. serviceImpl과 비즈니스 로직이 다른 기능을 추가해야할 경우 다른 구현객 체(serviceImpl2)를 만들어서 사용하면 된다 > 유지보수가 용이하다. 객체지향 프로그래밍에서 클래스를 쪼개어 다른 클래스와의 의존도를 낮추는 게 중요하다.. 즉, 결합도를 낮추는 것이 중요하다.
추상화(어떤 실체로부터 공통적인 부분이나 관심있는 특성들만 한 곳에 모은 것. 객체지향에서는, 하위클래스들에 존재하는 공통적인 메서드를 인터페이스로 정의하는 것)
다형성(같은 모양의 함수가 상황에 따라 다르게 동작하는 것)
OCP(Open Closed Principle): 개방, 폐쇄 원칙! sw개체(클래스,모듈,함수)는 확장에 대해 열려있어야하고 수정은 닫혀있어야한다.
💬이직 면접 때.. 개발하면서 추상메서드와 인터페이스가 중요하다며 받았던 질문 중 하나여서 작성해봄!
mapper 생성
매퍼 사용 시 일일이 DAO 생성 하지않아도 된다. SQL문은 xml 형식으로 저장 !!
namespace(mapper의 전체 경로), id(메서드명과 동일), returntype(어떤 형식으로 반환할 지)
Reference.
https://dalpaeng00.tistory.com/83
JSON
: JavaScript Object Notation.
javascript 객체를 만드는 표현식, key:value형식의 데이터 저장방식. 경량의 data 교환방식.
AJax
: Asynchronous JavaScript and XML.
비동기형식의 통신. 전체 페이지를 로드하는 동기식이 아닌 일부분의 데이터만 변하기를 원할 경우 특정부분만 로드.
AWS
[AWS 핸들러 자동생성]

gateway 호출 > handler 생성된 거 호출 > DB연결 > SQL 처리 > insert = POST, select=Get > API Gateway에서 설정
AWS
- EC2
클라우드 컴퓨팅 서비스. 아마존이 각 세계에 구축한 서버용 컴퓨터들의 자원을 사용>AWS가 제공하는 URL을 통해 접근
= 하나의 컴퓨터를 빌려서 사용하는 것과 같음
- lambda
URL을 통해 API Gateway로 AWS lambda service 접속> 로직구현(log찍기 or DB 접속 등 처리)
[lambda 사용 실습]
1. eclipse > java.class > DB 접속
ㄴ connection pool
(mvc X) . 데이터 확인만 해보기
2. AWS lambda API Gateway Handler 호출 시 잘 타는 지 확인
> URL 웹 브라우저
3. android > Btn > handler 타는 지 확인 (HTTP connection Test)
4. 2 - 1 이 되는 지 확인
5. 3 - 2 - 1 이 되는 지 확인
함수(Function)
: 여러 문장들이 하나의 기능을 구현하도록 구성한 것.
그 함수 중에서 클래스 내부에 정의한 함수를 메서드(method)라고 함
함수냐 메서드냐는... 독립적으로 존재하는 함수냐 클래스 내부에 종속되어있느냐의 구분으로 결정된다.
web.xml -> servlet-mapping
: 서블릿 컨테이너와 웹 어플리케이션의 연동방법.
실제로 WEB-INF 외부에 있는 jsp 파일을 요청하더라도 직접 접근하는 게 아니라 tomcat WAS라는 미들웨어를 통해 브라우저가 알아볼 수 없는 jsp파일을 html로 변형해서 서버로 내려준 뒤 브라우저로 내려준다.
url pattern에서 / 과 /*의 차이
/
: default servlet을 타야하는 요청이 action servlet을 타는데 .jsp는 톰캣 설정에 의해 default servlet에 처리x WAS에서 처리. 제대로 된 view 리턴 가능... 하지만 톰캣설정에서 default servlet은 .html, .css, .js같은 정적인 파일 처리해줬지만 이제는 x. 정적인 파일에 관해서 404 error 뱉어냄.
/*
: 모든 url 처리 > 이렇게 되면 .jsp라는 view에 대한 요청도 action이라는 이름의 dispatcher servlet이 처리, jsp servlet
으로 처리x jsp요청에 대한 view X
'Etc' 카테고리의 다른 글
02/08 공부기록! (0) | 2022.02.15 |
---|