Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- spring
- JDoodle
- 가독성
- vscode
- SPLIT
- 문자열
- StringBuilder
- outfitanyone
- RestController
- Java
- prettier
- Controller
- 백준
- 생활코딩
- 생성형AI
- 다이얼
- JAVA 설치
- 런타임에러
- redis
- mobaXterm
- Service
- StringTokenizer
- 일관성
- 문자열 반복문
- reverse()
- Repository
- putty
- Generic
- 백준 문자열
- Component
Archives
- Today
- Total
gone
[1주차] 01장. 스트링 부트란? 본문
1.1 스프링 프레임 워크(Spring Framework)란?
- 스프링 프레임워크는 자바에서 가장 많이 사용하는 프레임워크이다.
ex) 현재 우리나라에서도 공공기간 웹 서비스를 개발할 때도 사용됨.
- 스프링은 자바로 애플리케이션을 개발하는 데 필요한 기능을 제공하고 쉽게 사용하도록 돕는 도구이다.
≒ 오픈소스 경량급 애플리케이션 프레임워크
스프링의 핵심 가치
애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 하는 것
1) 제어 역전(IoC; Inversion of Control)
IoC를 적용한 환경에서는 사용할 객체를 직접 생성하지 않고 객체의 생명주기 관리를 외부에 위임한다. 이때 '외부'는 스프링 컨테이너(Spring Container) 또는 IoC 컨테이너를 의미한다.
- 제어 역전이란? 객체의 관리를 컨테이너에 맡겨 제어권이 넘어간 것을 의미한다.
제어 역전을 통해 의존성 주입(DI; Dependency Injection), 관점 지향 프로그래밍(AOP; Aspect-Oriented Programming) 등이 가능해진다.
---
- [일반적인 객체 사용방법]
사용하려는 객체를 선언하고 해당 객체의 의존성을 생성한 후 객체에서 제공하는 기능을 사용한다.
public class Car {
private Engine engine;
public Car() {
engine = new Engine(); // 개발자가 직접 객체를 생성
}
// 스프링이 Engine 객체를 주입
public Car(Engine engine) {
this.engine = engine;
}
}
IoC을 특징으로 하는 스프링은 기존 자바 개발 방식과 다르게 동작한다.
따라서 스프링을 사용하면 객체의 제어권을 컨테이너로 넘기기 때문에 개발자는 비즈니스 로직을 작성하는데 더 집중 할 수 있다.
@Component
public class Car {
private final Engine engine;
@Autowired // 스프링이 Engine 객체를 주입
public Car(Engine engine) {
this.engine = engine;
}
}
@Component
public class Car {
private Engine engine;
@Autowired
public void setEngine(Engine engine) {
this.engine = engine;
}
}
출처 : [스프링 부트 핵심 가이드] 참고하여 작성하였습니다.

'개발일지(TIL)' 카테고리의 다른 글
| [1주차] 03장. 개발 환경 구성 (0) | 2024.10.27 |
|---|---|
| [1주차] 02장. 개발에 앞서 알면 좋은 기초 지식? (0) | 2024.10.27 |
| OutfitAnyone 생성형AI (1) | 2024.01.15 |