본문 바로가기

Spring5

[spring] @Transactional 기초 탐구 스프링 부트로 개발을 하다 보면 트랜잭션이 필요한 부분에 @Transactional 어노테이션을 사용하게 됩니다. 그런데 어느 날 해당 어노테이션에 대해 질문을 받게 되었고 어버버 거리는 제 자신을 발견할 수 있었어요. 그래서 이 기회에 좀 더 공부하려 합니다. 사전 지식 - 트랜잭션의 정의 A database transaction symbolizes a unit of work performed within a database management system (or similar system) against a database, and treated in a coherent and reliable way independent of other transactions. A transaction general.. 2021. 6. 1.
[spring] @Controller vs @RestController 저는 회사에서 Restful API 서버만을 구현하기 때문에 아무 생각 없이 @RestController 어노테이션만을 사용해왔습니다. 그런데 어느 날, @Controller와 @RestController의 차이가 뭐냐는 질문을 받게 되었고 저는 자신있게 대답하지 못했죠. 스프링을 처음 배우던 과거에 @Controller를 사용해봤음에도 말이에요. 그래서 이번 기회에 두 어노테이션의 차이를 자세하게 알아보려 합니다. 이상한 부분이 있으면 댓글로 달아주세요. 저도 초보 개발자라 정리한 부분이 틀릴 수 있어요! 배경 - MVC 패턴과 Restful API MVC(Model-View-Controller) 구조에서 서버는 Controller로 사용자의 요청을 제어하며 Model로 DB의 데이터를 맵핑한 뒤 Vi.. 2021. 5. 25.
[spring] Spring State Machine 스테이트 머신(상태 기계)를 이해하기 위해서는 먼저 오토마타 이론을 간략하게 이해해야 한다. 컴퓨터 공학 수업에선 오토마타를 배운다는데... 나는 컴공이 아니기 때문에 ㅠ_ㅠ 위키피디아에 검색하면 자세하게 학습할 수 있다. 오토마타 이론 계산 능력이 있는 추상 기계와 그 기계를 이용해서 풀 수 있는 문제를 연구하는 컴퓨터 과학 분야 추상 기계 = 오토마타라고 지칭 오토마타는 일반적으로 유한한 상태를 가지며, 입력을 받아 일정하게 상태를 전이하며, 출력을 내놓는다. 유한 상태 기계 유한한 개수의 상태를 가질 수 있는 오토마타 한 번에 오로지 1개의 상태만을 가진다. 현재 상태(Current State) = 임의의 주어진 시간에 기계가 갖고 있는 상태 어떤 사건(Event)에 의해 한 상태에서 다른 상태로 .. 2020. 10. 31.
[spring] @RequestParam과 @PathVariable 출처: https://elfinlas.github.io/2018/02/18/spring-parameter/ Spring에서 @RequestParam과 @PathVariable Spring에서 Controller의 전달인자…Spring을 사용하다 보면 Controller 단에서 클라이언트에서 URL에 파라메터를 같이 전달하는 경우가 있습니다.주로 사용하는 형태는 아래의 두 가지가 대표적인 케이스입니다. Type 1 => http://127.0.0.1?index=1&page=2Type 2 => http://127 elfinlas.github.io 위 블로그의 내용을 제가 이해한 바에 맞게 쉽게 정리한 것입니다. URL에 게시물의 id와 같은 파라미터를 전달하기 위한 방법은 2가지 1. 쿼리스트링 - http.. 2020. 2. 15.
[java] war파일 import하여 코드 수정한 뒤, 다시 export하기 문제 1. 프로젝트를 war파일로 export 2. 코드 수정을 위해 war파일 import하여 수정한 뒤, 다시 export하면 의존관계 오류 발생 원인 & 해결 1. 원인 처음에 maven project를 생성할 시, maven을 통해 라이브러리가 정상적으로 패키징됨 그러나 export했던 war파일을 import하여 수정한 뒤, 그대로 export하면 라이브러리가 포함되지 않음 2. 해결법 war파일 import [프로젝트 우클릭 - Configure - Convert to Maven Project] [프로젝트 내의 WebContent - META-INF - maven - 패키지디렉토리 - pom.xml 의 내용을 복사] 이를 프로젝트 폴더 바깥의 pom.xml에 붙여넣기하면 완료! 출처 http:.. 2019. 5. 29.