티스토리 뷰

Java Project 의존성 관리하기

NodeJS 기반 프로젝트의 패키지 관리가 npm 이라면 Gradle 프로젝트에서는 maven 이다.

https://mvnrepository.com/

이곳에서 사용할 라이브러리들을 검색하고 가져올 수 있다.

ObjectMapper 수업에서 사용한 라이브러리는 Jackson Databind 이다.

https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.13.0

여러가지 Annotation

익숙했던 Annotation 이 있겠지만 용도를 헷갈린 Annotation 또한 있다. 아래를 보며 다시 한번 복습하면 좋을 것이다. GetMapping, PostMapping 등과 같이 너무 쉬운 어노테이션은 제외했다.

  • @SpringBootApplication : Spring boot application 으로 설정
  • @Controller : View 를 제공하는 controller 로 설정
  • @RestController : REST API 를 제공하는 controller 로 설정
  • @RequestMapping : URL 주소를 맵핑
  • @RequestParam : URL Query Parameter 맵핑
  • @RequestBody : Http Body 를 Parsing 맵핑
  • @Valid : POJO Java class 의 검증

@Controller 에 주의해야하는 것이 기본이 View 를 제공하는 것이므로 html 을 반환하도록 되어있음을 알아두도록 하자.

IoC/DI 와 관련된 Annotation

  • @Component : 1개의 class 단위로 등록 할 때 사용
  • @Bean : 1개의 외부 library 로부터 생성한 객체를 등록 시 사용
  • @AutoWired : DI 를 위한 곳에 사용
  • @Qualifier : @Autowired 사용시 bean 이 2개 이상 일때 명시적 사용
  • @Resource : @Autowired + @Qualifier 의 개념으로 이해

AOP 와 관련된 Annotation

  • @Aspect : AOP 적용시 사용
  • @Before : AOP 메소드 이전 호출 지정
  • @After : AOP 메소드 호출 이후 지정 예외 발생 포함
  • @Around : AOP 이전/이후 모두 포함 예외 발생 포함
  • @AfterReturning : AOP 메소드의 호출이 정상일 때 실행
  • @AfterThrowing : AOP 시 해당 메소드가 예외 발생시 지정
댓글