2025/04 31

Spring Boot를 이용해 데이터 주고받기

MIME Type( Multipurpose Internet Main Extensions)인터넷에서 파일의 형식을 나타내는 표준이메일에 첨부된 파일의 형식을 나타내기 위해 처음 개발되었으나 현재는 웹에서 광범위하 게 사용됨  MIME Type의 종류text/plain, text/htmlimage/jpeg, image/pngaudio/mpegvideo/mp4application/pdf, application/vnd.ms-excel, application/json, application/zip  HTTP Content-Type • 요청 바디에 들어가는 타입을 요청 헤더의 Content-Type 에서 명시• Content-Type 는 HTTP 통신에서 MIME Type 값을 전달하는 헤더  Content-Typ..

REST API

API( Application Programming Interface) • 한 프로그램에서 다른 프로그램으로 정보를 주고받기 위한 규약(약속)• 모든 프로그램은 API를 가질 수 있음 REST• 웹 서비스 개발에 널리 사용되는 아키텍처 스타일• HTTP 프로토콜 위에서 동작• HTTP URI를 통해 자원(Resource) 명시, HTTP Method를 통해 자원에 대한 CRUD 작업을수행• 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미 REST API( representational state transfer API)클라이언트와 서버 간의 통신 방식을 정의할 때 REST 아키텍처 스타일을 따르는 APREST 기반으로 서비스 API를 구현한 것  REST 규칙..

Thymeleaf 란?

Thymeleaf 란?• 스프링부트에서 작성한 HTML 태그에 추가되는 value 값을 작성하기 편하게 하는 오픈 소스 템플릿 엔진•  HTML 태그에 속성을 추가해 페이지에 동적으로 값을 추가하거나 처리할 수 있게 도와주는 것 • 주로 스프링부트에서 Test 용으로 간단한 html  파일을 작성할 때 사용하며, 형태만 다를 뿐 ejs와 사용하는 의도는 다르지 않다.    Thymeleaf 표현식서버에서 전달받은 데이터를 사용자들이 볼 수 있는 뷰로 만들기 위해 사용되는 정해진 규칙(표현식)  Thymeleaf 문법용어의미 사용법th:text태그 안의 텍스트를 서버에서 전달받은 값에 따라 표현하고자 할 때 사용하 는 문법messageth:utext변수에서 받은 값에 html 태그가있다면 태그 값을 반영해..

Spring MVC

MVC 패턴이란?Model데이터와 비즈니스 로직 처리View사용자에게 보여지는 HTML 파일이 위치함Controller사용자의 요청을 받아 처리하고 적절한 Model 을 호출한 후, 그 결과를 View 에게 전달 Spring MVCSpring 에서 제공하는 웹 모듈로 웹 애플리케이션을 빌드하기 위한 프레임워크MVC 패턴을 지원하고 DispatcherServlet이라는 특수 서블릿을 통해 요청 처리DispatcherServlet은 스프링 MVC의 핵심으로 모든 종류의 요청을 받아 적절한 Controller 에게 전달하고 그 결과를 다시 사용자에게 반환하는 역할을 함. Servlet이란? • 요청을 수신하고 응답을 반환하는 프로그램을 만들기 위한 자바 표준 기술• 일반적으로 HTTP 프로토콜 사용 (프로토콜..

Spring Boot의 기본 구조

Spring initializrProject : 생성할 프로젝트의 빌드 자동화 툴Language : 생성할 프로젝트의 언어Spring Boot : Spring Boot 버전 선택Project Metadata : 프로젝트 정보Dependencies : 프로젝트 의존성 선택 Spring Boot 기반으로 Spring 관련 프로젝트를 만들어주는 사이트Spring에서 운영하고 있으며, 해당 사이트에서 원하는 라이브러리를 선택 후 프로젝트 생성 가능 Spring Initializr  Apache Tomcat스프링부트는 기본적으로 8080 포트를 사용하여 내장된 Apache Tomcat 웹 서버를 통해 실행 됨.Apache Tomcat은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너만 있는 웹 어플리케이션 서버..

Spring Boot란?

Spring Boot란?• Spring 은 필요한 여러 설정 (ex 톰캣 서버 설정, XML 설정, …) 이 복잡하다는 단점!• 즉, 이러한 단점들을 개선하기 위해 만들어진 쉽고 빠르게 스프링프레임워크를 사용할 수 있도록 개발된 프레임워크  Spring Boot 주요 특징 • WAS 내장 되어 있어 독립적으로 실행 가능• WAS (Web Application Server): 웹 애플리케이션 실행 장치• 내장된 WAS 는 톰캣, 제티 등 여러 옵션 중 선택 가능• 스프링 부트 스타터• 개발에 필요한 빌드 구성을 단순화하는 스프링 부트 스타터 제공• 애플리케이션 설정을 XML 이 아닌 Java 코드 작성 가능• 개발자가 더 직관적이고 유연하게 애플리케이션 설정 가능• JAR 이용해 자바 옵션 만으로도 배포 ..

Spring이란?

Spring이란?• Java 웹 프레임워크로 Java언어를 기반으로 함• Java 기반의 웹 어플리케이션을 만들 수 있는 백엔드 프레임워크• 수많은 국내 기업과 해외 기업에서 많이 사용하는 프레임워크• 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주 는 오픈소스 경량급 애플리케이션 프레임워크 스프링 프레임워크 특징IoC (Inversion of Control, 제어의 역전) • 객체의 생성부터 소멸까지 개발자가 아닌 스프링 컨테이너가 대신해주는 것• 제어권이 개발자가 아닌 IoC 에 있으며, IoC 가 개발자의 코드를 호출해 필요 한 객체를 생성, 소멸해 생명주기를 관리한다DI (Dependency Injection, 의존성 주입)• 구성 요소의 의존 관계가 소스코드 내부가 아닌 외부..

Collection FrameWork - Map, Set, List

Collection FrameWork 객체의 그룹을 효율적으로 관리하기 위한 다양한 클래스와 인터페이스를 제공함객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 클래스들을 java.util 패키지에 포함  Collection FrameWork 의 상속 구조 List, Set객체를 추가, 삭제 검색하는 방법에 때한 공통점이 존재해 공통된 메소드만 따로 모아 Colllection 인터페이스로 정의해두고 이를 상속함Map키와 값을 하나의 쌍으로 묶어서 관리하는 구조로 List, Set과 사용하는 방법이 틀림 List란?요소의 순서를 유지하고 저장하며 중복된 요소를 허용하는 컬렉션 List의 종류ArrayListArrayList는 List 인터페이스의 동적 배열 구현초기 크기가 있지만, 요소가 추..

자바의 재네릭과 와일드카드

제네릭이란?자바에서 형 안전성을 높이기 위해 도입된 프로그래밍으로 컴파일 시간에 타입 오류를 더욱 효과적으로 찾아낼 수 있으며 클래스, 인터페이스, 메서드에 대한 타입을 파라미터로 전달할 수 있게 해주는 역할즉, 결정되지 않은 타입을 파라미터로 넘겨주어, 실제 사용할 때 파라미터의 타입을 결정하는 기능   제네릭의 장점타입 안전성잘못된 타입의 객체가 저장되는 것을 컴파일 시간에 방지형 변환 필요성 감소 제네릭을 사용하면 명시적인 형 변환이 필요 없어짐코드 재사용성일반 클래스나 메서드로 다양한 타입에 대해 동작하는 코드를 작성하는 것이 가능함 제네릭 타입public class 클래스명public interface 인터페이스명 결정되지 않은 타입을 파라미터로 가지는 클래스와 인터페이스로 일반적으로 괄호 안의..