Everything has an expiration date
[inflearn] 20240106 [스프링-프레임워크] - 5강 필기 본문
[inflearn] 20240106 [스프링-프레임워크] - 5강 필기
Jelly-fish 2024. 1. 7. 15:26
Maven 프로젝트
▶ src/main/java : 순수 자바 코드가 코딩되어 있는 파일들이 모여있는 곳.
▶ src/main/resources : 이 프로젝트를 도와주는 리소스에 해당되는 자원들에 해당하는 파일들이 모여있는 곳
→ applicationContext
스프링은 객체를 통해 메모리 로딩을 한다.
메모리 로딩, 메모리 생성이 될 때 스프링 컨테이너(IoC)라는
(* IoC(Inversion of Control) : 제어의 역전.)
큰 그릇을 하나 만든다.
그리고 그 큰 그릇 안에다 내가 필요한 객체들을 다 생성해 놓고
필요할 때마다 꺼내서 쓰는 것이다.
이때 스프링 컨테이너가 사용하는 객체를 빈(Bean),
그리고, 그 객체를 만들어 주는 것이 바로
applicationContext.xml 이다.
【applicationContext 에서 객체 생성】
<bean id="객체명" class="객체가 있는 주소(url)">
스프링 컨테이너에 객체가 로딩 된다.
Spring 을 통한 관점 지향 프로그래밍 AOP(Aspect Oriented Programming)
과정 총정리
Ⅰ. [ 스프링 컨테이너(applicationContext)에서 객체 생성하기 ]
① 필요한 객체(class)를 생성한다.
② src/main/resources 에 applicationContext.xml 파일을 생성한다.
③ applicationContext.xml에서 <bean id="객체명" class="① 객체의 주소"/>를
작성하여, 객체를 만들어 준다. → 스프링 컨테이너(IoC)에 객체 로딩 됨.
Ⅱ. [ 스프링 컨테이너 접근 ]
④ Main 클래스의 main 메소드에서
GenericXmlApplicationContext 객체를 생성한다.
⑤ GenericXmlApplicationContext의 생성자에 스프링 컨테이너인
applicationContext의 리소스를 매개변수로 전달한다.
→ 『GenericXmlApplicaionContext("classpath:applicationContext.xml");』
Ⅲ. [스프링 컨테이너 안의 객체(Bean)를 가져오기 ]
⑥ 스프링 컨테이너(Ioc)인 applicationContext에 접근하였으므로
그곳에 생성해 두었던 빈 객체를
『getBean("Bean의 id", 가져올 타입)』 메소드를 통해 가져온다.
→ 『genericXmlApplicationContext.getBean("tWalk", TransportationWalk);』
Ⅳ. [가져온 빈 객체의 메소드를 사용하기]
⑦ 빈 객체를 인스턴스로 생성하여 변수에 저장한 후,
가져온 객체 Bean에 정의된 메소드를 바로 사용할 수 있다.
→ 『TransportationWalk transportationWalk.move();』
'[Inflearn] > 자바 스프링 프레임워크(renew ver.)' 카테고리의 다른 글
[inflearn] 20240106 [스프링-프레임워크] - 10강 필기 (0) | 2024.01.08 |
---|---|
[inflearn] 20240106 [스프링-프레임워크] - 9강 필기 (0) | 2024.01.07 |
[inflearn] 20240106 [스프링-프레임워크] - 8강 필기 (0) | 2024.01.07 |
[inflearn] 20240106 [스프링-프레임워크] - 6 ~ 7강 필기 (0) | 2024.01.07 |
[inflearn] 20240104 [스프링-프레임워크] - 1강 메모장 필기 (0) | 2024.01.04 |