Dev/Spring
DI와 IoC
DI와 IoC
2024.10.11의존성 주입(DI, Dependency Injection)과 IoC(제어의 역전, Inversion of Control)는 소프트웨어 개발에서 객체 간의 의존성을 관리하고, 더 유연하고 테스트하기 쉬운 구조를 만들기 위한 개념이다. 의존성이란 ?프로그램에서 객체(클래스)는 혼자 동작하지 않고 다른 객체를 사용해야 할 때가 많다.예를 들어, A라는 클래스가 B라는 클래스의 기능을 이용한다고 할 때, A는 B에 의존한다고 말할 수 있다. - 자동차는 혼자 움직일 수 없다. 엔진이 있어야 작동한다. 이때, 자곧ㅇ자는 엔진이 필요하므로 "엔진에 의존한다"고 말할 수 있다.- 만약 자동차가 엔진을 스스로 만든다면, 자동차는 엔진과 아주 강하게 연결된 상태라서 변경이 어렵다. class Engine { pub..
@GeneratedValue
@GeneratedValue
2024.10.08@GeneratedValue는 JPA(Java Persistence API)에서 사용하는 어노테이션으로DB의 기본 키(Primary Key)를 자동으로 생성해주는 역할을 한다.데이터를 저장할 때, 식별자(Primary Key)를 자동으로 만들어주는 방식에 따라다양한 옵션을 설정할 수 있다.@Entitypublic class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; }위 코드에서 id 필드는 사용자마다 고유한 값이 자동으로 생성된다.사용자가 한 명 추가되면 DB가 알아서 새로운 id 값을 만든다. @GeneratedValue의 ..
@Transactional
@Transactional
2024.10.07자바 스프링을 사용하다 보면, 데이터베이스와 상호작용하는 부분이 많다.예를 들어 사용자가 어떤 정보를 저장하거나 삭제할 때 DB에 데이터를 추가, 변경, 삭제하는 작업을 수행한다.이런 작업이 잘못되면 데이터의 일관성이 깨질 수 있다. 이때 등장하는 것이 바로 트랙잭션(Transactionl)이고,@Transactional이라는 특별한 어노테이션이 이와 관련이 있다.@Transactional 이란?트랜잭션은 데이터베이스에서 "모든 작업이 성공하거나, 아무작업도 하지 않는 것"을 보장해주는 개념이다.쉽게 말해 한번에 여러 작업이 일어나는 경우, 중간에 문제가 생기면 아예 처음부터아무것도 하지 않은 것처럼 만드는 것을 트랜잭션이라고 한다. 예) 친구에게 돈을 송금하는 상황을 생각해보자 두가지 작업이 있다.1...
@RestController와 @Controller의 차이
@RestController와 @Controller의 차이
2024.10.04@RestController- @Controller 와 @ResponseBody 가 결합된 애노테이션이다.- 주요 특징 : 1. 메서드가 반환하는 객체는 자동으로 JSON이나 XML 같은 형태로 직렬화되어 HTTP 응답 본문에 포함된다. 2. 주로 RESRful 웹 서비스에서 API를 만들 때 사용됩니다.@RestControllerpublic class MyRestController { @GetMapping("/greeting") public String greeting() { return "Hello, World!"; }}위 메서드는 단순 문자열 "Hello, World!"를 반환하지만, 클라이언트는 이를 J..
Spring Dependency
Spring Dependency
2024.09.27개발 공부를 하기 위해 인터넷 강의를 보다 보면 예전 강의라서 현재 사용할 수 있는 버전하고 달라서 난감한 경우가 있다그럴 때 참고해서 Spring 공식문서에서 제공하는 권장 Dependency 버전을 확인할 수 있는 사이트를 공유한다.https://docs.spring.io/spring-boot/appendix/dependency-versions/coordinates.html Managed Dependency Coordinates :: Spring Boot docs.spring.io사용법링크를 클릭하면 처음 보게 되는 부분이다. 좌측 상단에서 점 3개를 클릭해서 스프링 부트의 버전을 선택해준다.이후 사용하고 싶은 라이브러리를 ctrl +f를 통해서 검색 후 버전을 확인하면 된다.
스프링부트 기본 포트 바꾸기
스프링부트 기본 포트 바꾸기
2024.09.12스프링부트를 통해서 내장된 톰캣을 사용하면 포트번호 8080이 기본값이다이러한 포트번호를 손쉽게 바꾸는 방법에 대해 알아보자 1. application.properties로 이동 : src > main > resources > application.properties 2. server.port=(원하는 포트번호 입력)