@Configuration 3

스프링 설정 클래스에서 @Autowired를 통한 자동 DI, 설정메서드(세터) 형식의 DI, 두개 이상의 설정 클래스로 스프링 컨테이너 만들기. 2021-10-22

스프링에서 DI 방식은 크게 생성자 주입 방식도 있고, 세터 메서드를 통해서 의존 주입도 가능하다. @Configuration public class AppCtx1 { @Bean public MemberDao memberdao() { MemberDao m=new MemberDao(); return m; } @Bean public MemberRegisterService mrsvc() { MemberRegisterService mrsvc=new MemberRegisterService(memberdao()); //생성자를 통한 DI return mrsvc; } @Bean public PasswordChangeService pcsvc() { PasswordChangeService pcsvc=new Passwor..

DI의 두가지 방식: 생성자 방식, 세터 메서드 방식, @Configuration 설정클래스의 @Bean 설정은 항상 스프링에서 싱글톤객체로 등록함. [최범균 스프링 5] 2021-05-29

우선 빈 객체를 등록할때 설정클래스에서(@Configuration) 어떤 빈 객체의 의존 주입하는 방식은 2가지가 있다. 1.첫번째는, 앞 포스트에서 설명했던 것 처럼 생성자의 파라미터로 의존의 대상이되는 객체를 넣어주는 것이다.[ 실제@Configuration 클래스에서는 객체설정메서드(@Bean) 를 파라미터로 넘겨줌] 장점: 빈 객체를 설정할때 이미 그 클래스가 의존하는 모든 객체를 주입받기 때문에, 완벽한 상태(그 클래스가 의존하는 모든 클래스의 메서드 들을 사용가능) 에서 빈 객체를 사용 가능하다. 단점: 생성자의 파라미터 개수가 많을 경우, 어떤 객체가 들어가야할지 모를 수 있어서 생성자 코드를 직접 확인해 봐야한다....라고 책에서 주장하는데 나는 그렇게 생각하지 않는다.IntelliJ는 애..

메이븐 프로젝트 POM.XML설정 및 코딩 오답.(최범균 스프링 5 프로그래밍 Chaptor 02, 2021,05,25)

우선, 스프링 프로젝트를 시작하기 위해서는 스프링의 객체를 생성해주고, 초기화해주는 종합적인 관리도구가 필요한데, 대표적으로, 메이븐,그레이들,엔트가 있다. 이 책에서는 메이븐으로 프로젝트를 시작하는 것을 다루고 있다. 우선 메이븐이나 그레이들이나 모두 동일한 폴더 구조를 사용한다. C:\spring5fs\sp5-chap02\src\main\java 구조로 이루어져 있음. 메이븐 으로 프로젝트를 만들기 위해서는 POM.XML이라는 파일을 프로젝트의 루트폴더에 두어야 한다. 이유는 모든 메이븐 프로젝트는 프로젝트의 루트폴더에 POM.XML 파일을 가지는데, 프로젝트에서 필요한 설정정보(그룹ID,스프링 버전)등을 마크업 언어로 작성한다. 그레이들은 build.gradle이라는 설정파일을 루트파일에 두어야한다..