작성
·
160
답변 1
0
안녕하세요. 전지윤님, 공식 서포터즈 OMG 입니다.
해당 질문에 대해선 이 강의의 자동, 수동의 올바른 실무 운영 기준 챕터에서 설명중이신데요,
탐색 위치와 기본 스캔 대상 까지 들으셨으니 조금만 더 들으면 영한님께서 자세히 알려주시니 저는 간단하게만 설명 드릴게요.
우리가 스프링으로 애플리케이션을 개발 할 때 @Controller, @Service 등 비즈니스 요구사항을 개발할 때 추가되는 업무 로직 빈은 스프링 컨테이너가 관리하는 빈으로 컴포넌트 스캔의 대상이 되도록하여 자동으로 등록합니다.
반면 Member , Book, Item 등의 POJO 객체들은 스프링 빈으로 등록하지 않습니다. 데이터 전송 목적으로 쓰는 DTO도요.
또 다른 경우로는 수동으로 스프링 빈을 등록하는 경우가 있는데 주로 기술지원 로직에 사용됩니다. 아래와 같은 경우가 그 경우에 해당하는데요, PasswordEncoder는 스프링 시큐리티가 제공하는 기능으로 암호화를 담당하고, ModelMapper는 object가 갖고 있는 필드 값들을 편리하게 mapping 해주는 라이브러리입니다.
,
지금 당장 감이 잘 안잡히시더라도 영한님께서 다음 강의(자동, 수동의 올바른 실무 운영 기준 )에서 설명해 주시니 참고하시길 바랍니다.
@Configuration
public class AppConfig {
@Bean
public PasswordEncoder passwordEncoder() {
return PasswordEncoderFactories.createDelegatingPasswordEncoder();
}
@Bean
public ModelMapper modelMapper() {
ModelMapper modelMapper = new ModelMapper();
modelMapper.getConfiguration()
.setDestinationNameTokenizer(NameTokenizers.UNDERSCORE)
.setSourceNameTokenizer(NameTokenizers.UNDERSCORE);
return modelMapper;
}
}
감사합니다.
앗.. 강의에있는줄 몰랐습니다 ㅠㅠ그러고 보니 Member클래스나 Order클래스는 빈으로 등록을 안하고 ServiceImpl 등 비즈니스로직을 처리하는 클래스는 빈으로 등록한거 같습니다...좋은답변 항상 감사합니다!!