2023. 6. 7. 19:27ㆍSpring Boot
Spring Boot
스프링의 아키텍처
이어서 작성
1.
controller01 폴더에 Controller.jsp
페이지를 요청하면 컨트롤러에 요청
이제 다시 controller01/Controller.jsp에 반환
2.
페이지를 요청하면 컨트롤러에 요청
이제 다시 controller01/Controller.jsp에 반환
3.
index.jsp에 추가
IndexController.java 추가
ReturnType.jsp
ModelAndView반환
ModelAndView 방법
결과)
결과)
혹은 리졸버뷰 객체로 뷰 정보 설정
결과)
Stiring반환
결과)
void타입 반환
ReturnType.jsp
ReturnTypeController.java
브라우저에서 console)
자바스크립트 자동완성 플러그인- tern 설치
add
이름설정: tern
주소
:http://oss.opensagres.fr/tern.repository/1.2.1/
ajax를 하기 위해 tern 설치 -> 프로젝트 우클릭 ->Configure->Convert to Tern Project
ajax로 구현 결과는 브라우저에서 콘솔창 열어 확인
혹은
(바닐라 자바스크립트로 구현)
ReturnType.jsp
ReturnTypeController.java
결과) 브라우저 console)
객체 타입반환
ReturnType.jsp
결과) 브라우저 console)
Dependency Injection(DI)
- IOC(Inversion Of Control:역제어)의 한 형태
- 의존성 주입 또는 종속객체 주입이라고 한다.
- 의존성이란 객체와 객체사이에 존재하는 관계를 의미
- 하나의 객체 안에서 다른 객체를 new연산자를 이용해서 생성시
두 객체간에 결합도가 높아지고
독립성이 떨어지게 된다.
- 객체 스스로 new를 통해 필요한 객체를 생성하지 않고 스프링 컨테이너에
등록된 빈을 주입을 받아, 낮은 결합도를 유지 하는게 목적이다
- 주입을 받으로려면 반드시 IOC컨테이너에 빈이 등록되어 있어여 한다
- DI에는 필드 인젝션,세터 인젝션 및 생성자 인젝션이 있다
생성자 인젝션을 권장한다.
@controller가 생성자 부름
SpringApplication의 생성자
IndexController의 생성자
OneMethod의 생성자
index.jsp에 추가
IndexController.java에 추가
WEB-INF폴더하위에 views폴더 하위에 injection03폴더 생성
Injection.jsp생성
Injection.jsp
Constructor.do를 받기 위해 생성자 컨트롤러 생성
basic패키지에 .injection 패키지 생성
Person.java
InjectionController.java
ConstrictorController.java
생성
Injection.jsp
(프로젝트 실행시 Spring의 console의 결과
3개의 컨트롤러 생성
ConstrictorController.java
person을 초기화 시켜줌
가산동,
20,
가가가
Person.java
package com.kosmo.springapp.basic.injection;
import org.springframework.stereotype.Component;
@Component
public class Person {
//[속성(필드)-멤버변수들]
private String name;
private String addr;
private String age;
//기본 생성자
public Person() {
System.out.println("Person의 기본 생성자");
}
//인자 생성자
public Person(String name, String addr, String age) {
this.name = name;
this.addr = addr;
this.age = age;
System.out.println("Person의 인자 생성자");
}
//게터/세터
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return String.format("[이름:%s,주소:%s,나이:%s]",name,addr,age);
}
}
'Spring Boot' 카테고리의 다른 글
67일차 2023-06-13 (0) | 2023.06.13 |
---|---|
66일차 2023-06-12 (0) | 2023.06.12 |
65일차 2023-06-09 (0) | 2023.06.09 |
64일차 2023-06-08 (0) | 2023.06.08 |
62일차 2023-06-05 (0) | 2023.06.05 |