3. 스프링부트3 둘러보기
3-1. 스프링부트3 예제 만들기
1단계 : Testcontroller.java클래스 생성 후 코드 작성
@RestController
public class TestController{
@GetMapping("/test1")
public String test1(){
return "Hello World";
}
}
2단계 : 웹브라우저에 http://localhost:8080/test로 접속하기
3-2. 스프링부트 스타터 살펴보기 (p.55 - p.58)
1단계 : build.gradle 파일 살펴보기
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
2단계 : gradle 탭을 누른 후 dependencies 항목을 클릭하면 web스타터 확인 가능
> Spring MVC를 사용해 RESTful을 포함한 웹 애플리케이션 개발하는 데 사용 (Tomcat이 여기 포함)
3단계 : 계속해서 testCompileClasspath를 클릭하면 test스타터 확인 가능
> test스타터는 스프링부트로 애플리케이션을 테스트를 위한 스타터
4. 스프링부트3 코드 이해하기
4-1. @SpringBootApplication 이해하기
1단계 : SpringBootDeveloperApplication 열기 (스프링부트의 시작 페이지!)
package practice.springbootdeveloper;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootDeveloperApplication { //이 클래스는 자바의 main()역할
public static void main(String[] args){
SpringApplication.run(SpringBootDeveloperApplication.class, args);
}
}
- 추가 설명
@SpringBootApplication 애너테이션을 추가하면 스프링부트 사용에 필요한 기본 설정을 해준다
main매서드의 첫 번째 인수는 메인클래스로 사용할 클래스, 두 번째 인수는 커맨드 라인의 인수들을 전달
2단계 : @SpringBootApplication을 ctrl+클릭하기
package org.springframework.boot.autoconfigure;
import ...
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration //스프링 부트 관련 설정
@EnableAutoConfiguration //자동으로 등록된 빈을 읽고 등록
@ComponentScan //사용자가 등록한 빈을 읽고 등록
(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class)})
public @interface SpringBootApplication {
...
}
4-2. 테스트 컨트롤러 살펴보기 (Bean 설정 알아보기)
1단계 : @RestController을 ctrl+클릭하기
package org.springframework.web.bind.annotation;
import ...
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller //클릭
@ResponseBody
public @interface RestController {
@AliasFor(annotation = Controller.class)
String value() default "";
}
2단계 : @Controller을 ctrl+클릭하기
package org.springframework.stereotype;
import ...
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component //Bean으로 등록
public @interface Controller {
@AliasFor(annotation = Component.class)
String value() default "";
}
<@Componenet외에 Bean으로 등록되는 애너테이션 정리>
애너테이션 명 | 설명 |
@Configuration | 설정파일 등록 |
@Repository | ORM 매핑 |
@Controller, @RestController | 라우터 |
@Service | 비지니스 로직 |
'백엔드' 카테고리의 다른 글
[Spring JPA] 스프링 데이터 JPA 쿼리 메서드 기능 (0) | 2023.07.23 |
---|---|
[Spring JPA] Entity에 setter대신 생성자 활용하기 (0) | 2023.07.10 |
[스프링부트3] 03장_스프링부트3 구조 이해하기 (0) | 2023.06.25 |
[스프링부트3] 02장_스프링부트3 시작하기 (1) (0) | 2023.06.21 |
[스프링부트3] 01장_자바 백엔드 개발자가 알아두면 좋은 지식 (0) | 2023.06.19 |