///////
Search

SpringBoot 기초 3

프레임워크와 라이브러리의 차이

프레임워크 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대
라이브러리 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임, 즉 특정 기능을 모아놓은 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들
라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어
프레임워크는 애플리케이션 코드가 프레임워크가 짜 놓은 틀에서 수동적으로 동작
제어 흐름의 권한이 어디에 있는가? 의 차이
프레임워크 : 라이브러리:

POST와 PUT의 차이

POST : 동일한 entity의 Request를 N번 보낸다면, N개의 새로운 리소스 생성(멱등 X)
PUT : 덮어쓰는 것(Resource 존재 유무에 따라 Update or Create)

@PathVariable과 @RequestParam의 차이

@PathVariable : 경로의 일부가 고정되어 있지 않고 달라질 때 사용할 수 있는 방법
가변 경로 처리
ex) /hello/오형상/26
작성 시 주의
@RequestParam : 요청 파라미터 개수가 적을 때 사용하는 방법
ex) /hello/?name=오형상&age=26

whitelabel Error Page란?

Whitelabel Error Page 발생 원인
해결 방법

SpringBoot 컨테이너

기존의 Spring이 없는 순수한 DI 컨테이너의 문제점해결방법

싱글톤 패턴의 문제점

위의 싱글톤 문제들을 전부 스프링 컨테이너가 해결해 주므로 우리는 그냥 사용 하면 된다.

@Configuration과 싱글톤 컨테이너

스프링은 클래스의 바이트코드를 조작하는 라이브러리를 사용하여 AnnotationConfigApplicationContext에 파라미터로 넘긴 AppConfig가 스프링 빈으로 등록
스프링 빈을 조회하여 클래스 정보를 출력한 결과

@Configuration을 적용하지 않고, @Bean 만 적용하면?

@Bean만 사용해도 스프링 빈으로 등록되지만, 싱글톤 보장

@ComponentScan의 역할

@Configuration이 붙은 설정 정보 자동으로 스프링 빈으로 등록
@Component이 붙은 설정 정보 자동으로 스프링 빈으로 등록