사람들이 Spring을 말할떄 스프링 프레임워크라 말하고 라이브러리를 사용한다라는 표현을 자주 사용한다.그러면 프레임워크와 라이브러리의 차이는 무엇일까?애플리케이션의 구현을 위해 필요한 여러가지 기능들을 제공한다라는 의미에서 Framework과 Library는 유사하다
스프링(Spring)을 공부 중 POJO(Plain Old Java Object)라는 용어를 자주 보게 된다. 그럴떄마다 포조..? 이게 무슨말이지 중요한건가? 라는 의문점을 갖게된다. 이러한 의문점을 쉽게 해결해보겠습니당~‘PO’는 Java로 생성하는 순수한 객체를
IOC: 애플리케이션 흐름의 주도권이 뒤바뀐 것을 바로 IoC(Inversion of Control)Java 콘솔 애플리케이션의 경우 main() 메서드가 종료되면 애플리케이션의 실행이 종료되지만 웹에서 동작하는 애플리케이션의 경우 클라이언트가 외부에서 접속해서 사용하
그러면 AOP란 무엇일까? OOP(Object Oriented Programmig)란 객체 지향 프로그래밍 즉, 객체 간의 관계를 지향하는 프로그래밍 애플리케이션을 개발하다보면 애플리케이션 전반에 걸쳐 공통적으로 사용되는 기능들이 있기 마련인데, 이러한 공통 기능들에
웹서버: HTTP를 기반으로 동작(정적)웹애플리케이션 서버(WAS):HTTP 기반으로 동작, 웹서버 기능 포함 프로그램 코드를 실행해서 애플리케이션 동작가능(동적) = 사용자에 따라 다르게 보여줄 수 있음 (Tomcat) 정적,동적인 운영의 차이W
@WebServlet 서블릿 애노테이션name: 서블릿 이름urlPatterns: URL 매핑HTTP 요청을 통해 매핑된 URL이 호출되면 서블릿 컨테이너는 다음 메서드를 실행protected void service(HttpServletRequest request, H
https://github.com/yongbin77/Toy-Project/tree/main/%ED%9A%8C%EC%9B%90%EA%B4%80%EB%A6%AC%EC%95%B1_JSPhttps://github.com/yongbin77/Toy-Project
기존 서블릿,JSP에서의 웹 애플리케이션 코드의 문제점은 UI와 비즈니스 로직을 수정하는 라이프 사이클이 다르다는 점이다예를들면 , UI를 일부 수정하는 일과 비즈니스 로직을 수정하는 일은 각각 다르게 발생할 가능성이 높고 서로 영향을 주지 않는다.그러므로 UI를 변경
클라이언트의 요청을 받으면 Spring mvc기반의 처리과정을 통해 요청사항의 결과물을 웹애플리케이션을 통해 보여줌ModelViewController Model : 작업의 결과 데이터(Json : Model데이터를 특정 프로토콜방식으로 변환해서 변환된 데이터를 클라이언
핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다.핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다.핸들러 어댑터 실행: 핸들러 어댑터를 실행한다.핸들러 실행: 핸들러 어댑터가 실제 핸들러를 실행한다.ModelAn
로그 라이브러리는 Logback, Log4J, Log4J2 등등 수 많은 라이브러리가 있는데, 그것을 통합해서인터페이스로 제공하는 것이 바로 SLF4J 라이브러리다.쉽게 이야기해서 SLF4J는 인터페이스이고, 그 구현체로 Logback 같은 로그 라이브러리를 선택하면
Controller 스프링MVC의 개념 > Spring MVC = 클라이언트의 '요청'을 편리하게 처리해주는 프레임워크 Controller에서 사용되는 애너테이션 @RestController : 데이터의 반환시 view가 필요하지 않을떄 해당 데이터 처리시 JSON
계층연동 : API계층과 서비스 계층을 연동한다는 의미는 API계층에서 구현한 Controller클래스가 서비스 계층의 Service클래스와 메서드 호출을 통해 상호작용한다는 것을 의미 API계층에서는 요청데이트(RequestBody)를 전달받을떄 DTO클래스를 사용했
클라이언트 쪽에서 “Hello, World” 문자열 데이터를 Request Body로 전송한 후에 Spring Data JDBC를 이용해서 이 “Hello, World” 문자열을 H2 데이터베이스에 저장해보기Hello World 샘플 코드에서 구현해야 되는 클래스 또는
DTO 클래스와 엔티티(Entity) 클래스를 매핑해서 변환하는 이유가 무엇일까?✔ 계층별 관심사의 분리우선 서로 사용되는 계층이 다르다. 따라서 기능에 대한 관심사가 다름. DTO 클래스는 API 계층에서 요청 데이터를 전달 받고, 응답 데이터를 전송하는것이 주 목적
데이터베이스(Database, DB) 에 쓰일 필드와 여러 엔티티간 연관관계를 정의한다. 데이터베이스는 엑셀처럼 2차원 테이블이라고 생각하면 되는데, 이 테이블에 서비스에서 필요한 정보를 다 저장하고 활용한다.세로의 열 부분이 Column 이고, 가로의 행 부분이 엔티
.orelsethrow(() -> 는 해당객체의 값이 비어있다면 실행되는 예외처리 메서드해당 id 값이 들어간 posts가 만약 비어있다면 illegalArgumentException 발생시킴illegalArgumentException: 적합하지 않거나(illegal)
내가 컨트롤러 테스트를 하고싶을 때 실제 서버에 구현한 애플리케이션을 올리지 않고(실제 서블릿 컨테이너를 사용하지 않고) 테스트용으로 시뮬레이션하여 MVC가 되도록 도와주는 클래스다
Spring 내부 > Spring은 servelet으로 형성되어있으며 servelet은 Java로 만들어졌다 그러므로 Client가 요청을 할떄마다 JAVA파일을 호출해야한다 로그인,회원가입,글쓰기,댓글 등... 하나의 Controller에 모든 요청을 담고 실행
MessageConverter가 자동으로 JavaObject를 Json으로 변경해서 통신을 통해 응답을 해준다@RestController 일떄만 MessageConverter가 작동한다.Json응답할떄 내가 JSON을 만들어 응답하는 건 미친 짓스프링부트가 내부적으로