Spring Boot와 java에 대해 계속해서 궁금한 것들 찾아보며 공부 했던 하루였다.
하루의 시간이 너무 부족하다. 시간을 쪼개고 쪼개며 공부하고 있지만 물리적 시간이 너무 부족함을 느낀다.
근데 재밌다. 역시 계속해서 배우고 알아가는 재미가 최고다. 이 맛에 개발자하겠지~ Spring 진짜 방대하다. 방대한만큼 배울 것도 많은 것 같다. Spring Boot로 프로젝트를 해봤지만 하나하나 자세히 보지는 못해서 이번 기회에 좀 자세하게 알아가면서 공부해보자.
https://jinsang-2.tistory.com/137
[Spring Boot] 응답(response) 만들기!
응답 만들기 4가지 String : 일반 Text Type 응답Object : 자동으로 Json 변환되어 응답, 상태 값은 항상 200 OKResponseEntity : Body의 내용을 Object로 설정, 상황에 따라 HttpStatus Code 설정@ResponseBody : RestController
jinsang-2.tistory.com
https://jinsang-2.tistory.com/138
[Spring Boot] 직렬화, 역직렬화 해주는 Object Mapper 톺아보자!
Object Mapper (Jackson 라이브러리 사용법)Object Mapper스프링 부트에서 직렬화, 역직렬화 수행해준다. (JACKSON 사용)JSON → DTO ( 역직렬화 )DTO → JSON (직렬화)변수가 아닌 method에 매칭이 된다.Object Mapper 불
jinsang-2.tistory.com
참고
generic(제너릭)이란?
- 예를 들어 public ResponseEntity<UserRequest> 이런식으로 ResponseEntity 안에 UserRequest 객체를 담는다.
- ResponseEntity<T> 와 같이 ‘T’의 의미는 타입을 나중에 정하는 것이다. String, int, Object 등 어느 타입이든 들어올 수 있게 만듬
☕ 자바 제네릭(Generics) 개념 & 문법 정복하기
제네릭 (Generics) 이란 자바에서 제네릭(Generics)은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 객체별로 다른 타입의 자료가 저장될 수 있도록 한다. 자바에서 배
inpa.tistory.com
스프링 컨테이너란?
스프링 컨테이너란?
객체(빈, Bean)를 생성하고, 관리하고, 주입해주는 공장 같은 애
🏭 비유: 스프링 컨테이너는 “자동화된 개발 공장”
- 우리가 직접 new 해서 객체 만드는 대신, 스프링 컨테이너가 대신 객체를 생성하고, 필요한 곳에 자동으로 넣어준다.
@Autowired
UserService userService; // 자동 주입됨
즉, 개발자가 객체 생성과 의존 관계를 직접 관리하지 않아도 되도록 해주는 시스템 = 스프링 컨테이너
🧠 컨테이너가 해주는 일역할 설명
Bean 생성 | 클래스 인스턴스를 직접 만들어줌 (new 안 써도 됨) |
Bean 관리 | 싱글톤으로 유지하거나, 필요한 생명주기 관리 |
의존성 주입 | 필요한 곳에 객체를 자동으로 연결 (@Autowired, 생성자 주입 등) |
🗂️ 어떻게 관리되는가? (어디에 등록되는가?)
컨테이너는 Bean 객체만 관리한다. Bean으로 등록하려면 아래 방법 중 하나 써야 함
@Component
public class UserService {}
→ 이 클래스는 스프링 컨테이너가 자동으로 Bean으로 등록함.
@Service, @Repository, @Controller
도 결국 다 @Component 기반이라 자동 등록됨.
🔁 컨테이너의 라이프사이클
- SpringApplication.run() → 컨테이너 생성됨
- @Component, @Bean 들을 찾아서 객체 생성
- 의존성 주입 (필요한 객체들 자동 연결)
- 서버 동작 중에도 객체 유지 (대개 싱글톤)
- 서버 종료 시 객체들 정리
🧪 실무에서 어떤 이점이 있는가?기능 이점
의존성 자동 주입 | new 없이 객체 관리 가능 |
싱글톤 자동 관리 | 효율적인 자원 사용 |
테스트 편함 | 의존 객체를 Mock으로 바꿔끼기 쉬움 |
유지보수 쉬움 | 어떤 클래스가 어디 의존하는지 명확 |
💡 진짜 중요한 포인트 요약개념 설명
스프링 컨테이너 | 객체를 생성하고, 관리하고, 연결해주는 시스템 |
Bean | 스프링 컨테이너에 등록된 객체 |
자동 주입 | @Autowired, 생성자 주입 등으로 객체 자동 연결 |
왜 쓰나? | 객체 관리 자동화 + 의존성 분리 + 유지보수 쉬움 |
🔧 예제 다시 보기이때 MyService는 @Service 같은 어노테이션으로 Bean으로 등록돼 있어야 함.
📌 한 문장 정리
- 스프링 컨테이너는 객체를 대신 생성하고, 필요할 때 자동으로 넣어주는 IoC(제어의 역전) 기반 객체 관리 시스템이다.
'Kernel360 > 기록' 카테고리의 다른 글
[4/30 TIL] Spring Boot 공부, 이길주님 특강, ORM,JPA에 대해 (0) | 2025.04.30 |
---|---|
[4/28 TIL] Kernel 360 OT & Spring Boot 톺아보기 (0) | 2025.04.29 |