본문 바로가기

Spring39

[Spring] Jackson 이란 무엇인가? Jackson이란 Json 데이터 구조를 처리해주는 라이브러리 입니다. Spring은 3.0버전 이후로 Jackson과 관련된 API를 제공함으로써, 우리가 직접 소스 코드를 작성하여 Json 데이터를 처리하지 않아도 자동으로 처리해주고 있습니다.SpringBoot의 starter-web 에서는 default로 Jackson 관련된 라이브러리들을 제공하고 있습니다.Object -> Json 타입의 StringJson 타입의 String -> Object직접 Json 데이터를 처리해야 할 때는 Jackson 라이브러리의 ObjectMapper를 사용할 수 있습니다. Object To JsonObjectMapper의 writeValueAsString() 메서드를 사용하여 변환Object를 Json 타입의 S.. 2024. 9. 26.
[Spring] 데이터를 Client에게 반환하는 방법(Response) 최근에는 프론트엔드와 백엔드가 각각 따로 발전하게 되면서, 느슨하게 결합하는 방식을 더 많이 채택하게 되었습니다.서버가 직접 View(html, css, js)를 반환하기 보다는 요청에 맞는 특정한 정보만 반환하는 것을 조금 더 선호합니다. 그래서 요즘에는 주로 서버에서는 데이터 교환 포맷 중 JSON 형태로 데이터를 반환하기도 합니다.  1. 최초에 Client(브라우저)로부터 요청이 들어오면 정적 또는 동적 페이지를 반환합니다.2. 이후에는 AJAX(JS 라이브러리)가 비동기적으로 서버쪽에 데이터를 요청합니다.3. 서버는 요청에 맞는 데이터를 JSON 형태로 반환합니다.  Json 데이터 반환 방법1) 반환 값: StringJSON은 JS에서 지원하는 데이터 타입으로 Java는 기본적으로 JSON 타.. 2024. 9. 26.
[Spring] 정적 페이지와 동적 페이지 정적 페이지 처리하기Static 폴더static 폴더 아래 hello.html 을 생성하고 Controller를 통해 접근하는 모습을 보여드리겠습니다.Client(요청) -> Controller -> hello.html@Controllerpublic class HtmlController { @GetMapping("/static-hello") public String hello() { return "hello.html"; }}org.thymeleaf.exceptions.TemplateInputException: Error resolving template [hello.html], template might not exist or might not be accessible by .. 2024. 9. 26.
[Spring] 3 Layer - Controller Controller는 Model 과 View 사이에서 상호작용을 조정하고 제어하는 역할을 합니다. 사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트 합니다.보통 하나의 Controller에 모든 API를 넣지 않고 유사한 성격의 API를 하나의 Controller로 관리합니다.  @Controller@Controller는 해당 클래스가 Controller의 역할을 수행할 수 있도록 등록해줄 수 있습니다.@ResponseBody @Controllerpublic class HelloController { @GetMapping("/hello") @ResponseBody public String hello() { return "hello w.. 2024. 9. 26.
[Spring] Spring MVC MVC 란 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나 입니다.MVC 패턴은 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리합니다. Model데이터와 비즈니스 로직을 담당데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행View사용자 인터페이스를 담당사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현ControllerModel과 View 사이의 상호작용을 조정하고 제어사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트  Spring MVCSpring MVC에 대한 자세한 설명은 상기 링크에서 자세히 확인할 수 있지만 쉽게 표현하면 "Spring에서 MVC.. 2024. 9. 26.
[Spring] Lombok 라이브러리란? Lombok 라이브러리는 Getter/Setter, ToString과 같은 반복적인 자바 코드를 컴파일 할 때 자동으로 생성해주는 라이브러리 입니다.Lombok 라이브러리는 설치하면 자동으로 사용할 수 있는 것은 아니고 IntelliJ나 Eclipse 내에서 사용 가능하도록 설정을 수정해주어야 합니다. 환경 정보IntelliJ IDEA 2024.1.6맥북(M1) Lombok 테스트1. IntelliJ Settings > Plugins에서 Lombok 라이브러리가 설치되어 있는지 확인합니다. 설치가 안되어 있다면 설치를 진행해야 합니다. 2. Build, Execution, Deployment > Compiler > Annotation Processors 에서  "Enable annotation proce.. 2024. 9. 25.