Java, Spring/Spring5 기초 정리

2-6강 구현- Spring IoC 컨테이너

app0a 2022. 7. 25. 00:18

해당 디렉토리에 TravelClubApp 이라는 main메서드를 가진 클래스를 만들어준다.

- 프로그램이 새로 시작될 떄 applicationContext.xml 에 대한 정보를 spring에게 알려줘야한다. 

이렇게 알려줌 파일이름만 바뀜 . 나중엔 프로그램시작하면 스프링이 자동으로 읽어옴

 

 

 

 

Sdo : service domain object

Cdo : Creative domain object

 

cdo: 실제로 TravelClub 이 생성될 때는 name, intro만 필요하므로 이 것을 별도의 domain object로 나눠놓은 것 : TravelClubCdo 

 

 

 

 

----------------------------------------------------------------------------------------------------

 

 

# 진짜 중요한 흐름!!

 

프로그램의 시작 main 메서드

20. 자동으로 생기는 Id, foundationTime 을 제외한 name, intro를 가지는 TravelClubCdo 객체를 name, intro 값을 주면서 생성한다. 

 

21. 보통이었으면 ClubService clubService = new ClubServiceLogic(); 할거지만 우리는 이미 빈으로 등록해둔 ClubServiceLogic을 받아야 한다. 그걸 받는 코드. context.getBean( 빈 이름, ClubService의 클래스 타입으로 받는다.)

 

25. 빈을 받은 변수 clubService의 registerClub 메서드에 clubCdo를 가져간다.

 

2번사진의 17. newClub객체 만들어서 clubStore.create에 넣는다. //DB에 저장

 

3번사진의 27. 만들어둔 Map 에 저장하고 ( 나중에 DB로 바꿈 ) club의 유효아이디를 String으로 반환

 

27. 그걸 받아서 출력.

 

 

 

 

# 여기서 진짜 중요 한 점!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

1. 우리는 TravelClubApp 클래스에서 ClubService 인터페이스만 알고 있다.

2. ClubServiceLogic 클래스 에서도 우리는 ClubStore 라는 인터페이스만 알고 있다.

 

=> 서로 관계를 느슨하게 만들어 놓음.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 자료를 참고하였습니다.

 

 

꾸준히 다시보자.

 

1. 220730

2. 220812

3. 220915