목록Spring (4)
나만의 코딩 일지
SpringTest Mockito 란 Mock : Mock 객체는 가짜(모의)라는 뜻을 가지며 테스트를 진행할 때 진짜 객체와 비슷하게 동작하도록 프로그래머가 직접 행동을 관리하는 객체이다. 객체를 쉽게 만들고, 관리하고, 검증할 수 있는 방법을 제공하는 프레임워크이다. Mockito 사용하기 위한 방법 @ExtendWith(MockitoExtension.class) // @ExtendWith는 외부 기능을 사용할 때 지정하는 어노테이션이다. class DMakerServiceTest { @Mock // 객체를 만들어 반환해주는 가짜 객체 어노테이션 private DeveloperRepository developerRepository; @Mock private RetiredDeveloperReposito..
AOP 관점 지향 프로그래밍 - Aspect Oriented Programming AOP는 Aspect Oriented Programming의 약자로, 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. AOP는 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용 할 수 있게 만들어 준다. AOP의 기본 개념은 핵심 기능에 공통 기능을 삽입하는 것이다. 즉 핵심 기능의 코드를 수정하지 않으면서 공통 기능의 구현을 추가하는 것이 AOP이다. 특정한 함수 호출 전이나 후에 어떠한 공통적인 처리가 필요할 때 사용 -> AOP 로깅 트랜잭션 인증 OOP로 처리하기에는 다소 까다로운 부분을 AOP라는 처리 방식을 도입하여 ..
컴포넌트 스캔 컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능이다. 설정 클래스에 빈으로 등록하지 않아도 클래스를 빈으로 등록해주는 기능이다. 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록할 수 있으므로 컴포넌트 스캔 기능을 사용하면 설정 코드가 크게 줄어든다. @Component 어노테이션으로 스캔 대상 지정 스프링이 검색해서 빈으로 등록할 수 있으려면 클래스에 @Component 어노테이션을 붙여야 한다. @Component 어노테이션은 해당 클래스를 스캔 대상으로 지정한다. @Component public class MemberDao{ ... } 기본적으로 @Component에 아무 속성을 지정하지 않을 경우 클래스 이름에 첫 글자를 소문자로 바꿔 빈 이름..
의존 자동 주입 의존 대상을 설정 코드에서 직접 주입하지 않고 스프링이 자동으로 의존하는 빈 객체를 주입 해주는 기능을 자동 주입이라고 한다. 의존 주입을 하지 않을 경우 // 빈 설정 @Configuration public class Config(){ @Bean public MemberDao memberDao(){ return new MemberDao(); } @Bean public RegisterService registerService(){ return new RegisterService(memberDao()); // 의존 주입 } } // 의존 주입 public Class RegisterService(){ MemberDao memberDao; public RegisterService(MemberD..