반응형 전체 글297 스프링부트 생성 (Feat. Spring Initializr) 스프링 프로젝트 생성 스프링부트 프로젝트를 쉽게 만드는 방법인 인텔리제이(Intellj) IDEA 에서 프로젝트를 생성하는 방법과 Spring Initializr를 이용하여 생성하는 방법을 알아보겠습니다. 인텔리제이 IDEA에서 프로젝트 생성하기 1. 인텔리제이 IDEA -> [New Project] 생성 이름(Name) : 프로젝트 이름 설정 위치(Location) : 프로젝트를 생성할 위치를 설정한다. 언어(Language) : JVM 상에서 동작하는 언어를 선택 타입(Type) : 빌드 툴 선택, Maven/Gradle을 선택한다. 그룹(Group) : 해당 프로젝트를 정의하는 고유한 식별자 정보인 그룹을 설정한다. 아티팩트(Aritifact) : 세부 프로젝트를 식별하는 정보를 기입한다. (프로젝.. Book/스프링부트 핵심가이드 2023. 10. 25. GET 메서드 구현 방법(feat. @GetMapping) API를 작성하는 다양한 방법 HTTP 메서드에 해당하는 API를 개발하고 그 과정에서 필요한 내용들 중 하나인 GET 메서드의 구현에 관하여 자세하게 알아보겠습니다. @RequestMapping @RestController @RequestMapping("/Sample") public class SampleController { } 클래스 수준에서 @RequestMapping을 설정하면 내부에 선언한 메서드의 URL 리소스 앞에 @RequestMapping의 값이 공통으로 추가된다. @RequestMapping 어노테이션을 별다른 설정 없이 선언하면 HTTP의 모든 요청을 받는다. GET API 웹 애플리케이션 서버에서 값을 가져올 때 사용하는 API이다. @RequestMapping 어노테이션의 met.. Book/스프링부트 핵심가이드 2023. 10. 25. [오류 처리] Content type 'text/plain;charset=UTF-8' not supported Content type 'text/plain;charset=UTF-8' not supported Spring 프로젝트 진행 시에 Json 에러 관련 조치 내용을 알아보겠습니다. 오류 내용 Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'text/plain;charset=UTF-8' not supported] 오류 원인 컨트롤러는 @RequestParam과 @RequestBody를 사용하여 Json 형식으로 Request를 받고 있는 상황이다. 클라이언트에서 요청 시, Request Header에 'Content-Type' : 'application/json'을 담지 않은 상태에서 발생한 에러이다. 오류 .. Spring/Issue 2023. 10. 24. [Spring] 트랜잭션과 @Transactional 이해하기 트랜잭션과 @Transactional 트랜잭션과 스프링에서 사용하는 @Transactional 어노테이션에 관련하여 알아보겠습니다. 트랜잭션이란? 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야하는 연산들을 의미한다. 즉, 병행 제어 시 처리되는 작업의 논리적단위입니다. 트랜잭션의 연산 Transaction은 하나의 흐름으로 하나의 실행이 성공하거나, 실패하면 모든 연산을 동일하게 처리한다. ex) A,B,C의 연산을 한 묶음이라고 할때, A는 정상 작동되었지만, B가 실패한다면 A의 작업 이력도 이전으로 돌린다. 커밋 : 하나의 트랜잭션이 성공적으로 끝났으며, 데이터베이스가 일관성 있는 상태로 유지될 때, 트랜잭션이 마무리되었다는 것을 트랜잭션 관리자에게 알리기 위한 연산이다. 롤백 : 트랜.. Spring/스프링 이론 2023. 10. 24. [오류 처리] could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement Spring에서 JpaRespository를 이용하여 SQL을 사용할 때 발생하는 에러를 처리하는 방법을 알아보겠습니다. 오류 내용 o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1146, SQLState: 42S02 o.h.engine.jdbc.spi.SqlExceptionHelper : Table 'project.diary' doesn't exist could not execute statement; SQL [n/a]; .. Spring/Issue 2023. 10. 19. [IDE] 자바 JDK 설치 및 인텔리제이 설정 자바 개발 환경을 위한 구성 자바 개발 환경 구현을 위한 JDK 설치 방법과 자바 통합 개발 환경(IDE) 중 하나인 인텔리제이(Intellj)를 설치 및 JDK 설정 및 다운로드 방법을 알아보겠습니다. 1. 자바 JDK 설치 자바 1.8 버전 이상으로만 설치를 해야한다. 컴퓨터 사양에 따른 운영체제와 아키텍처 Java Verision : Java 1.8 이상(Java 11도 가능) Operating System : Windows/MacOs Architecture : X86 64-bit Java Package : JDK 설치 경로 : https://www.oracle.com/kr/java/technologies/downloads/ 2. 윈도우 환경 변수 설정 1. 윈도우에서 [제어판] -> [시스템 및 .. IDE/IntelliJ 2023. 10. 18. [Spring] 스프링부트 개발 기초 지식 스프링부트 개발 지식 스프링부트 웹 애플리케이션 개발 프로젝트를 진행 할 때, 도움이 되는 개발 배경지식을 알아보겠습니다. 마이크로서비스 아키텍처(MSA) Microservice Architecture 서비스 규모를 작게 나누어 구성한 아키텍처를 뜻한다. ex) 포털사이트 : 어플리케이션 하나에 여러 기능을 삽입하여 블로그, 카페, 메일 등을 기능별로 나눠서 개발한다. 서버 간 통신 하나의 서버가 다른 서버에 통신을 요청하는 것으로 1대는 서버, 1대는 클라이언트가 되는 구조이다. ex) 사용자가 블로그 기능을 사용하기 위해 로그인 서비스를 거쳐야하는 상황 가장 많이 사용되는 방식은 HTTP/HTTPS 방식이다. 스프링부트의 동작 방식 spring-boot-starter-web 모듈을 사용하면 기본적으로.. Book/스프링부트 핵심가이드 2023. 10. 18. [오류 처리] No creators, like default construct, exist No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator 스프링부트 프로젝트 진행 시 발생하는 에러 중 하나인 No Creators, like default construct, exist 의 에러 처리 방법에 대해서 알아보겠습니다. 에러 발생 원인 'jackson' 라이브러리가 empty Constructor 가 없고, 파라미터가 있는 constructor 가 있을 때 Json 모델을 생성해야되는지 몰라서 발생하는 문제이다. 해결 방법 Json으로 취급할 필드가 무엇인지 알려준다. (ex. @JsonProperty 사용) lombok을 사용 시에.. Spring/Issue 2023. 10. 17. [Spring] 스프링부트(Spring Boot) 설명과 특징 스프링 부트(Spring Boot) 스프링이 제공하는 다양한 프로젝트 중 하나인 스프링 부트의 특징을 알아보겠습니다. 스프링부트 독립적이며, 운영할 수 있는 수준의 Spirng 기반 어플리케이션을 쉽게 만들 수 있게 해준다. 최소한의 설정으로 Spring 플랫폼과 서드파티 라이브러리를 사용할 수 있다. 대부분의 Spring Boot 어플리케이션은 최소한의 Spring 설정을 필요로 한다. 스프링부트의 특징 1. 의존성 관리 'spring-boot-starter' 라는 의존성을 이용하여 각 라이브러리의 호환되는 버전의 모듈 조합을 제공하여 문제를 해결한다. spring-boot-start 라이브러리 카테고리 spring-boot-starter-web : 스프링 MVC를 사용하는 RESTful 어플리케이션을.. Book/스프링부트 핵심가이드 2023. 10. 16. [Spring] @Controller와 @RestController의 차이 Controller Annotation Controller Annotation의 종류인 @Controller와 @RestController의 대한 특징과 차이점에 대해 알아보겠습니다. Controller Component Client의 요청을 직접적으로 받는 Component Client가 url을 통한 요청을 보내면, 해당 url에 매칭되는 controller가 해당 요청을 핸들링한다. @Controller와 @RestController는 모두 Spring에서 Controller를 지정해주기 위한 어노테이션이다. 기본적인 Spring MVC의 Controller인 @Controller와 RESTful 웹 서비스의 Controller @RestController의 주요한 차이점은 @ResponseBody.. Spring/스프링 이론 2023. 10. 15. [Spring] 스프링 빈(Spring Bean) 스프링 빈(Spring Bean) 스프링 컨테이너에서 관리하는 스프링 빈(Spring Bean) 에 관하여 알아보겠습니다. 스프링 빈(Spring Bean)이란? - 스프링 컨테이너에 의해 관리되는 재사용이 가능한 소프트웨어 컴포넌트이다. - 즉, 스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리한다. - @Bean 어노테이션을 통해 메서드로부터 반환된 객체를 스프링 컨테이너 등록한다. - 클래스 등록 정보, Getter/Setter 메서드를 포함하며, 컨테이너 사용되는 설정 메타데이터로 생성된다. [참고] 설정 메타데이터 XML 또는 자바 어노테이션, 자바 코드로 표현하며, 컨테이너의 명령과 인스턴스화, 설정, 조립할 객체 등을 정의 스프링 빈(Bean)을 통한 스프링 .. Spring/스프링 이론 2023. 10. 9. [MySQL] UPDATE문을 이용한 데이터 변경 UPDATE 문 데이터베이스(Database)에서 데이터를 수정할 때 사용하는 쿼리(Query)문이다. 기본적으로 변경할 컬럼들을 선택하여 모든 레코드를 수정할 수 있다. WHERE(조건절)을 이용하여 조건에만 맞는 레코드만 수정도 가능하다. UPDATE문의 기본 구조 UPDATE "테이블명" SET "컬럼명1" = "데이터1" UPDATE example SET name = '김철수' 조건절을 이용한 데이터 변경 UPDATE 문에서 특정 조건을 사용하여 레코드를 수정 UPDATE "테이블명" SET "컬럼명1" = "데이터1" [WHERE 조건] UPDATE example SET name = 'none' WHERE email = 'test@gmail.com' DBMS/MySQL 2023. 10. 8. 이전 1 ··· 7 8 9 10 11 12 13 ··· 25 다음