DAY-72 Spring 수업 시작(기초)

1 minute read

💻2022-06-14

❗ 수업을 듣고, 개인이 공부한 내용을 적은 것 이기에 오류가 많을 수도 있음

1️⃣ 설정

  1. 인코딩 utf-8
  2. Eclipse Marketplace
  3. src/main/resources에 applicationContext.xml 파일 생성 (new → spring bean configuration file)

2️⃣ 스프링 시작

BeanFactory 클래스처럼 인스턴스를 찍어내는 작업을 클래스가 아닌 applicationContext.xml 에서 함

🔔 용어 및 작동원리

직접 등록(인스턴스, 클래스, 객체)

id : 생성하고자 하는 인스턴스의 이름

class : 생성하고자 하는 인스턴스 클래스의 경로값

스프링 컨테이너 : 프레임워크에서 관리하는 인스턴스, 리소스등을 담고 있는 바구니

GenericXmlApplicationContext : XML 파일로부터 정보를 읽어와 객체를 생성하고 초기화

Dependency Injection(DI) : 의존성 주입, constructor injection(생성자 주입) / setter injection(세터 주입) 존재

applicationContext.xml

<bean id="samsung" class="com.kh.intro.SamsungLaptop"/>

Laptop.java

Run

🔔 Dependency Injection(DI) : 의존성 주입

applicationContext.xml

  1. 방법1 - 생성자 주입
  • 태그 사용
  • index : 인자의 순서
  • value : 인자로 들어갈 값
  • 주입 대상이 생성자
  1. 방법2 - setter 주입
  • setter를 이용한 의존 객체 주입
  • 태그를 사용
  • name : 변수이름
  • value : 변수로 들어갈 값
  • setter/getter 메소드 필요
  • 주입 대상이 메서드

3️⃣ 프로젝트 생성시

  1. 프로젝트 우 클릭 후 → properties → facet 자바 / dynamic web module 버전 변경
  2. pom.xml 자바 / 스프링 버전 확인 → 11 / 5.3.20

1.png

  1. pom.xml logging 부분 바꿔주기
  1. HomeController 바꾸기

2.png

🔔 Mapping

component-scan : base-package 속성 안에 들어가있는 경로를 검사하면서 @annotation이 붙은 클래스들의 instance를 생성하는 역할

servlet-context

HomeController

  • servlet-context의 viewResolver를 통해서 HomeController에서 return되는 값들을 home.jsp / test.jsp 이런식으로 안해도 되는것 → jsp의 이름만 붙여주면 된다

💡 만약 아래와 같이 views안에 바로 jsp 가 있는것이 아닌 temp 라는 폴더가 존재하고 그 안에 jsp 가 존재한다면

3.png

주소창에는 @RequestMapping의 주소인 localhost/test2 로 입력해야 페이지 이동

Categories:

Updated:

Leave a comment