프레임워크와 라이브러리의 차이점
- 둘의 결정적인 차이점은 애플리케이션에 대한 제어권입니다.
라이브러리
개발자가 짜놓은 코드 내에서 필요한 기능이 있으면 해당 라이브러리를 호출해서 사용하는 것이 라이브러리입니다.
@SpringBootApplication
@RestController
@RequestMapping(path = "/v1/message")
public class SampleApplication {
@GetMapping
public String getMessage() {
String message = "hello world";
return StringUtils.upperCase(message); // 라이브러리 호출
}
public static void main(String[] args) {
SpringApplication.run(SampleApplication.class, args);
}
}
위의 코드에서 StringUtil 이라는 라이브러리를 호출 해서 사용하고 있습니다.
이렇게 사용하게 되면 애플리케이션 흐름의 주도권이 개발자에게 있습니다.
프레임워크
@SpringBootApplication
@RestController
@RequestMapping(path = "/v1/message")
public class SampleApplication {
@GetMapping
public String getMessage() {
String message = "hello world";
return StringUtils.upperCase(message); // 라이브러리 호출
}
public static void main(String[] args) {
SpringApplication.run(SampleApplication.class, args);
}
}
위의 코드에서 getMessage() 메서드 내부의 코드처럼 개발자가 코드를 작성해두면
SpringFramework 에서 개발자가 작성한 코드를 사용해 애플리케이션의 흐름을 만들어냅니다.
즉, 애플리케이션의 흐름의 주도권이 개발자가 아닌 Framework 에 있습니다.
'스터디' 카테고리의 다른 글
AOP - 관점 지향 프로그래밍 (0) | 2022.08.09 |
---|---|
IoC / DI (0) | 2022.08.09 |
스키마와 쿼리 디자인 (0) | 2022.08.04 |
트랜잭션 (0) | 2022.08.04 |
데이터베이스 (0) | 2022.08.04 |