본문 바로가기
💙 Spring

Spring | 기본 용어 개념 정리 (lombok, annotation)

by 햅삐제인 2021. 9. 14.

지금은 뭐가 뭔지 하나도 모르겠고 진도 따라가기 바쁘지만 그래도

메모장에 남겨놓는 것보단 나을거 같아서 남기는 개념정리이다.

참고한 블로그는 레퍼런스에 적어두었다.


 

어휘 정리

// tomcat
아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버이다.
톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다. 톰캣은 관리툴을 통해 설정을 변경할 수 있지만, XML 파일을 편집하여 설정할 수도 있다. 그리고, 톰캣은 HTTP 서버도 자체 내장하기도 한다.
아파치 톰캣은 Apache Licence, Version 2를 채용한 오픈소스 소프트웨어로서, 자바서버 페이지이나 자바 서블릿를 실행하기 위한 서블릿 컨테이너를 제공하며, 상용 웹 애플리케이션 서버에서도 서블릿 컨테이너로 사용하는 경우가 많다. 버전 5.5 이후는 기본적으로 Java SE 5.0 이후를 대응한다.
참고로 Tomcat은 사전적 의미로 '수고양이'를 뜻한다.  출처: 위키백과

 

// Lombok
Java 기반에서 * VO, DTO, Entity등 기계적인 작업을 쉽게 해주는 라이브러리.

// 동작원리 :
lombok annotation 이 부여된 java scource를 컴파일 할 때
annotation processor로 등록된 lombokprocessor가 어노테이션을 확인하고
그에 맞는 메소드를 자동으로 생성하여 bytecode로 변환됨  참고

Spring DTO, VO, Bean 이란?  참고
Spring MVC : Model, View, Controller  참고

 

 

 

// 스프링 어노테이션 Spring anotation

정의
사전적 의미는 주석. 코드에 특별한 의미를 부여,

용도
컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다.
소프트웨어 개발 툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보를 제공한다.
실행시(런타임시)특정 기능을 실행하도록 정보를 제공한다.

어노테이션 사용순서
1. 어노테이션을 정의한다.
2. 클래스에 어노테이션을 배치한다.
3. 코드가 실행되는 중에 Reflection을 이용하여 추가 정보를 획득하여 기능을 실시한다.

 

자주쓰는 어노테이션

@Configuration 

@SpringBooApplication
@SpringBootConfiguration
@SpringBootTest
@EnableAutoConfiguration

@ComponentScan
@RestController
@ResponseBody
@RequestBody
@Controller

@RequestMapping( value = "/리소스" )   
     - 여기에 밸류 달아놓으면 아래에 달리는 Mapping 어노테이션에 value안달아도됨
@GetMapping
@PostMapping
@DeleteMapping


@Autowired
@BeforeAll
@Test

 

 

자주 쓰는 http server Status Code : 처리된 결과에 따른 코드값

2xx : 정상처리   ***
3xx : 컨텐츠 이동
4xx : 클라이언트 오류  **
5xx : 서버오류  ***
### 200-500 번대 오류는 거의 다 알아야함




200, 201, 204,

301, 302, 304, 307, 308

400, 401, 403, 404, 405, 406, 409, 413, 414, 415, 429

500, 501, 502, 503, 504





 

 

 

// 스프링에서 IoC 컨테이너 (싱글턴 객체관리자)                Spring 실행하면 자동으로 controller로 싱글턴 객체 생성
// IoC : Inversion of Concern - 제어의 역전 (관심의 분리)
// 객체를 사용하려면 객체를 생성해야함
// 객체 생성은 Spring 에서 해주고, 사용은 의존성주입으로 주입받아서 사용함
// 의존성 주입 (Dependency Injection) : 객체를 사용하는 곳 외부에서 객체를 넘겨받는 것
// 주고 필드, 메서드 매개변수로 주입을 받는다.

// IoC 컨테이너에서 관리되는 싱글턴 객체를 Bean 객체라고 함

 

 

 

 

// test case (테스트 케이스) : 할일추가
// event flows(처리 흐름) : 할일 1건을 추가함
// pre-condition (사전조건) : 따로 없음
// expected result (예상결과) : 할일 목록에 추가한 데이터가 존재해야함

 

 


REFERENCE

 

Spring MVC에서 Model, View, Controller
https://gmlwjd9405.github.io/2018/12/20/spring-mvc-framework.html

 

 

Spring] DTO, VO, Bean, POJO

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ksw6169&logNo=221621730236 

 

https://jojoldu.tistory.com/28?category=635883

 

https://gmlwjd9405.github.io/2018/12/20/spring-mvc-framework.html

 

 

Annotation

https://eco-veloper.tistory.com/44

 

https://velog.io/@gillog/Spring-Annotation-%EC%A0%95%EB%A6%AC

 

https://velog.io/@gillog/Spring-Annotation-%EC%A0%95%EB%A6%AC

 

https://dejavuhyo.github.io/posts/spring-annotation/