스프링 프레임워크
* 엔터프라이즈급 애플리케이션: 기업 환경을 대상으로 하는 개발
제어 역전 (IoC, Inversion of Control)
의존성 주입 (DI, Dependency Injection)
스프링에서 의존성을 주입받는 방법
1. 생성자를 통한 의존성 주입
@RestController
public class DIContoller {
MyService myService;
@Autowired
public DIContoller(MyService myService) {
this.myService = myService;
}
@getmapping(“/di/hello”)
public String getHello() {
return myService.getHello();
}
}
2. 필드 객체 선언을 통한 의존성 주입
@RestController
public class FieldInjectionController {
@Autowired
private MyService myService;
}
3. setter 메서드를 통한 의존성 주입
@RestController
public class SetterInjectionController {
MyService myService;
@Autowired
public void setMyService(MyService myService) {
this.myService = myService;
}
}
관점 지향 프로그래밍 (AOP; Aspect-Oriented Programming)
스프링 프레임워크 vs 스프링 부트
스프링 부트의 특성
1. 의존성 관리
2. 자동 설정
3. 내장 WAS
4. 모니터링
서버 간 통신
스프링 부트의 동작 방식
레이어드 아키텍처
디자인 패턴
1. 생성 패턴 : 객체 생성에 사용되는 패턴으로, 객체를 수정해도 호출부가 영향을 받지 않게 한다.
2. 구조 패턴 : 객체를 조합해서 더 큰 구조를 만드는 패턴이다.
3. 행위 패턴 : 객체 간의 알고리즘이나 책임 분배에 관한 패턴이다.
REST API
1. REST
2. REST API
3. REST 특징
4. REST의 URI 설계 규칙
1. 자바 JDK 설치
https://www.oracle.com/java/technologies/downloads/
2. Intellij 설치
https://www.jetbrains.com/ko-kr/idea/download/#section=windows
1. 프로젝트 생성
2. pom.xml (Project Object Model)
3. 빌드 관리 도구
4. 메이븐
5. Hello World 출력
src/main/java/com.example.hello/controller/HelloController.java
package com.example.hello.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello World";
}
}
6. 애플리케이션 실행
7. 웹 브라우저를 통한 동작 테스트
8. Talend API Tester를 통한 동작 테스트
1. 개발자가 ( 비즈니스 로직 ) 구현에만 집중할 수 있게끔 하는 것"이 스프링의 핵심 가치이다.
2. ( 제어 역전 )은/는 객체의 관리를 컨테이너에 맡겨 제어권이 넘어간 것을 말한다.
3. ( 의존성 주입 )은/는 사용할 객체를 직접 생성하지 않고, 외부 컨테이너가 생성한 객체를 주입받아 사용하는 방식이다.
4. ( 스프링 부트 )은/는 스프링 프레임워크 기반의 애플리케이션 개발을 간소화하는 도구이다.
5. ( 서블릿 )은/는 클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술이다.
6. ( 프레젠테이션 계층 )은/는 클라이언트로부터 데이터와 함께 요청을 받고 처리 결과를 응답으로 전달하는 역할을 한다.
7. ( REST API )은/는 대중적으로 가장 많이 사용되는 애플리케이션 인터페이스이며, 이를 통해 클라이언트는 서버에 접근하고 자원을 조작할 수 있다.
1. 다음 조건을 만족하는 GoodbyeController를 작성하세요.
힌트: @RequestMapping과 @RestController를 사용하세요.
package com.example.hello.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
// (1)
public class GoodbyeController {
// (2)
}
2. 다음 조건을 만족하는 WelcomeController를 작성하세요.
힌트: @RequestMapping과 @RestController를 사용하세요.
package com.example.hello.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
// (1)
public class WelcomeController {
// (2)
}
1번 답
package com.example.hello.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GoodbyeController {
@RequestMapping("/goodbye")
public String goodbye() {
return "Goodbye, see you again!";
}
}
2번 답
package com.example.hello.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class WelcomeController {
@RequestMapping("/welcome")
public String welcome() {
return "Welcome to Spring Boot!";
}
}
[스프링 1팀] 6장 데이터베이스 연동 (0) | 2024.11.29 |
---|---|
[스프링 1팀] 5장~6.5장. API 작성과 데이터베이스 연동 (0) | 2024.11.22 |
[스프링 1팀] 스프링 입문 섹션 7~8 (0) | 2024.11.08 |
[스프링 1팀] 스프링 입문 섹션 5~6 (0) | 2024.10.11 |
[스프링 1팀] 스프링 입문 섹션4 (0) | 2024.10.04 |