Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Everything has an expiration date

[inflearn] 20240106 [스프링-프레임워크] - 5강 필기 본문

[Inflearn]/자바 스프링 프레임워크(renew ver.)

[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();』