Spring에서 의존성 주입(DI: Dependency Injection)을 하는 방법은 크게 3가지가 있다. 여기서 의존성 주입은 필요한 객체를 직접 생성하는 것이 아니라 외부에서 객체를 생성해서 넣어주는 방식이다. 1. Field Injection Field injection은 의존성을 클래스 멤버 필드로 직접 주입하는 방식으로 @Autowired, @Inject 같은 주입 어노테이션을 사용한다. 비교적 코드가 간결하다는 장점을 가지고 있지만 외부에서 접근이 불가능하다는 등의 여러 문제점을 가지고 있어서 Spring 공식 문서에서도 Field injection 말고 Constructor injection 방식을 이용할 것을 권장하고 있다. 이에 대한 자세한 이유는 뒤에서 살펴보자. @Controlle..
1. API란? API는 Application Programming Interface의 약자로 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다. 간단하게 말해서 요청과 응답을 사용하여서 두 애플리케이션을 서로 연결하여 통신하는 방법을 정의하는 것이 API이다. API의 역할은 아래와 같이 크게 3가지로 나누어 볼 수 있다. 1) 서버와 데이터베이스에 대한 출입구 역할 데이터베이스에는 중요한 정보들이 저장되기 때문에 접속을 통제해야 한다. API는 이를 방지하기 위해서 서버와 데이터베이스에 대한 출입구 역할을 하며, 허용된 사람들에게만 접근성을 부여해준다. 2) 프로그램끼리의 통신 가능 API는 스마트폰 어플이나 프로그램 등의 통신 매개체 역할을 수행한다..