xml 내용을 담은 java 파일 또한 여러개의 java 파일로 나눌 수 있다. xml 나누듯이 하면은 되는데
만약 어떤 메서드안에
Map<String, DataBaseConnectionInfo> dbInfos = new HashMap<String, DataBaseConnectionInfo>();
dbInfos.put("dev", dataBaseConnectionInfoDev);
dbInfos.put("real", dataBaseConnectionInfoReal);
info.setDbInfos(dbInfos);
가 있다. 그런데 dataBaseConnectionInfoDev 타입이 이 java파일안에는 없고 다른 java파일에 있다.
이 경우에는 어차피 얘네는 웹컨테이너에서 만나게 된다. 고로
@Autowired
DataBaseConnectionInfo dataBaseConnectionInfoDev;
를 위에 선언해줘서 주입하게끔 만들어 주면 된다.
AnnotationConfigApplicationContext ctx =
new AnnotationConfigApplicationContext(MemberConfig1.class, MemberConfig2.class, MemberConfig3.class);
그리고 이렇게 개수대로 선언해줘야한다.
이렇게 xml 과 java를 나누고 3개를 모아주는 방식도 있고
@Import 어노테이션을 이용한 방법이 있다.
하나의 java파일에 다른 2개를 import 한다
@Import({MemberConfig2.class, MemberConfig3.class})
public class MemberConfigImport {
이렇게 적어준다.
그리고 그 기준파일만
AnnotationConfigApplicationContext ctx =
new AnnotationConfigApplicationContext(MemberConfigImport.class);
해주면 된다.
ㅡㅡㅡ
스프링 MVC 프레임워크 설계 구조
브라우저가 DisparcherServlet 에 요청을 보내면, HandlerMapping에 보내서 알맞는 Controller를 찾고
다시 DispatcherServlet에 온다. 그리고 이번에는 HandlerAdapter에 보내서 찾아낸 Controller에서 알맞은 메서드를 찾아주고 다시오고 나서 ViewResolver를 찾고 알맞는 jsp (View) 를 찾아서 다시 JSP 로 가서 응답을 생성하고 브라우저한테 응답을 보내고 끝난다.
'공부 기록들' 카테고리의 다른 글
2020.04.03 Spring (4) (0) | 2020.04.03 |
---|---|
2020.04.01 SQL (0) | 2020.04.02 |
2020.03.26 SQL sql loader 와 merge (0) | 2020.03.26 |
2020.03.24 Spring(2) (0) | 2020.03.25 |
2020.03.19 Spring(1) (0) | 2020.03.19 |