[SpringBoot] 개념 정리

EB·2021년 9월 29일
0

💻 @SpringBootAplication

@SpringBootApplication 어노테이션은 auto-configuration을 담당한다.
👉 auto-configuration 이란 자동으로 환경 설정을 해주는 것이다.

라이브러리를 추가하고 나면 추가된 모듈을 사용할 수 있도록 스프링 설정파일에 빈 등록과 의존성 주입도 적절히 처리해야 하지만 @SpringBootApplication을 통해 자동으로 환경 설정을 할 수 있다.

💻 Gradle

  • Groovy 기반의 오픈소스 빌드 자동화 툴이다.
  • xml 구조적인 틀에서 벗어나 간결한 정의가 가능하다.

maven 이란?

아파치 메이븐은 자바용 프로젝트 관리 도구이다.
프로젝트를 진행하면서 많은 라이브러리들을 관리해준다.

왜 Gradle?

Maven은 Xml 기반의 빌드 처리를 작성한다. 프로젝트가 커질수록 내용이 길어지고, 가독성이 떨어지지만, Gradle은 훨씬 적은 양의 스크립트로 짧고 간결하다. 프로젝트를 설정 주입 방식으로 정의하여 Maven의 상속 구조보다 재사용에 용이하다.

💻 @Controller와 @RestController의 차이?

📌@Controller

  • 클래스를 Spring MVC 컨트롤러로 표시하는데 사용
  • 주로 view를 반환하기 위해 사용된다.
  • Data를 반환하는 경우도 있는데 이때 @ResponseBody 어노테이션을 활용하여 Json형태로 데이터를 반환할 수 있다.

📌@ResponseBody

  • Spring에서 HTTP응답에 값을 자동으로 변환해주며, 주로 데이터를 반환하기 위해 사용된다.
  • @Controller와 다르게 @ResponseBody는 view를 거치지 않고 직접 데이터를 리턴한다는 것이 특징이다.

📌@RestController

  • RESTful 웹 서비스에서 사용되는 특수 컨트롤러이다.
  • @Controller + @ResponseBody 이다.
  • @RestController 어노테이션을 사용한다면 메소드마다 @ResponseBody를 붙여주지 않아도 된다.
  • 주로 Json/xml 형태로 객체 데이터를 반환한다.

👉 주로 View를 반환하는지, 데이터를 반환하는지 목적에 대한 차이가 있고 @Controllers는 view를 거치고 @RestController는 view를 거치지 않는다는 차이가 있다.

💻 @PostConstruct

  • 의존하는 객체를 설정한 이후에 초기화 작업을 수행 할 메서드에 적용된다.
  • @PostConstruct 어노테이션을 설정해 놓은 init 메소드는 WAS가 띄워질 때 실행된다.

💻 useJUnitPlatform()

test {
	useJUnitPlatform()
}
  • SpringBoot에서 JUnit5를 사용하려면 build.gradle에 추가해야한다.
  • 프로젝트 테스트에 JUnit Platform을 허용한다는 뜻 이다.
  • JUnit Platform은 테스팅 프레임워크를 구동하기 위한 런처와 테스트 엔진을 위한 API를 제공한다.
profile
👩‍💻✨junior developer

0개의 댓글