TIL(Today I Learned)

TIL 17일차(2021.11.07)

keepgoing 2021. 11. 7. 19:11

Maven과 Gradle의 차이

Maven은 라이브러리이며, 라이브러리를 사용할 수 있게 관련된 라이브러리를 함께 불러와주는 기능이다. 예를 들어 내가 사과를 먹고자한다면 일단 사과라는 라이브러리가 필요할것이고, 농약을 먹지 않기 위해 칼이라는 도구를 이용해서 사과를 깎아먹어야할것이다. 여기서 사과와 칼을 제공하는것이 Maven의 개념라고 생각할 수 있다.

Gradle은 빌드 배포 도구(maven 처럼 기본 라이브러리와 의존 라이브러리를 모두 가져온다.)이다. 안드로이드 앱을 만들 때 사용하는 도구이기 때문에 Java, Python, C/C++ 등의 언어를 지원한다.
Gradle은 스크립트 언어로 구사가 가능하기 때문에 if, if else, for 등의 로직을 간결하게 구성가능하다

Gradle과 Maven의 차이는 속도이다.
Gradle은 Maven보다 최대 100배 까지 빠르다고 한다.
하지만 Groovy언어를 배워야 하기 때문에
아직까지도 Maven을 사용하는 기업이 많다고 한다.

Thymeleaf란?

  • 뷰 템플릿 엔진으로 컨트롤러가 전달하는 데이터를 동적으로 화면을 구성하게 해준다.
  • html 태그를 기반으로 하여 동적인 View를 제공한다.
  • th:속성을 이용하여 데이터를 바인딩한다.

    GetMapping()이란

    GetMapping()메서드를 통해서 url과 선언한 코드 메서드를 연결시켜준다. 그리고 웹 어플리케이션에서 호출할 수도 있다.
    예시)
@GetMapping("hello")
public String hello(Model model){ model.addAttribute("data", "hello!!"); // 키, 값 방식
return "hello"; //viewResolver 방식, 형식(`resources:templates`+{ViewName}+`.html`)(여기서 ViewName은 "hello")  

위는 웹 어플리케이션 주소/hello로 호출이 가능하게 만들어준 선언이다.

spring 공식문서 확인 주소(아래)

spring.io-spring Boot-Reference Doc