@Bean@Bean어노테이션은 Spring 프레임워크에서 사용되는 어노테이션으로, 메서드 레벨에 적용되어 해당 메서드가 반환하는 객체를 Spring 컨테이너에 등록하는 역할을 합니다.이를 통해 개발자가 직접 객체를 생성하고 관리할 수 있습니다.why의존성 관리: 애플리케이션에 필요한 객체를 직접 생성하고 관리할 수 있어, 객체 간의 의존성을 효과적으로 관리할 수 있습니다.유연성: 객체 생성 방식을 직접 제어할 수 있어, 복잡한 객체 생성 로직을 캡슐화할 수 있습니다.테스트 용이성: 테스트 시 @Bean 메서드를 오버라이드하여 mock 객체를 주입할 수 있어, 단위 테스트를 더욱 쉽게 작성할 수 있습니다.@Configurationpublic class AppConfig { // 이 클래스는 Sprin..
OAuthOAuth(Open Authorization)는 애플리케이션이 사용자의 비밀번호 없이도 제한된 접근 권한을 얻을 수 있게 해주는 인증 프로토콜입니다.why보안: 사용자의 비밀번호를 공유하지 않고도 애플리케이션에 접근할 수 있도록 합니다. 이를 통해 사용자의 계정 정보가 노출되는 것을 방지할 수 있습니다.편의성: 사용자는 한 번의 인증으로 여러 애플리케이션에 접근할 수 있습니다. 이를 통해 사용자 경험이 향상됩니다.범위 제한: 애플리케이션은 사용자의 승인을 얻어 필요한 최소한의 권한만 요청할 수 있습니다.// OAuth2 클라이언트 구성@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAd..
@ResponseBody@ResponseBody 어노테이션은 Spring MVC에서 사용되는 어노테이션으로, 메서드의 반환 값을 HTTP 응답 본문으로 직접 작성하도록 지정합니다.일반적으로 Spring MVC 컨트롤러 메서드는 View 이름을 반환하여 해당 View를 렌더링하게 됩니다.하지만 @ResponseBody 어노테이션을 사용하면 메서드의 반환 값 자체가 HTTP 응답 본문이 됩니다.이 어노테이션은 주로 RESTful API를 구현할 때 사용됩니다. RESTful API는 클라이언트와 서버 간의 데이터 교환을 위해 HTTP 프로토콜을 사용하며, 응답 본문에 직접 데이터를 담아 보내는 것이 일반적입니다.@RestController // 이 클래스가 REST API 컨트롤러임을 나타내는 어노테이션@R..