당니의 개발자 스토리
라이브러리 살펴보기 본문
라이브러리 살펴보기
build.gradle에서는 우리가 당겨온 라이브러리들이 보인다.

세 가지밖에 없다.
그런데 실제 라이브러리, External Libraries 라고 이게 이제 당겨온 라이브러리들인데,

얘를 열어보면 엄청 많다. 내가 댕겨온 적 없는 라이브러리들이 죄다 댕겨져 왔다.
왜 그러냐면, 요즘에는 웹 애플리케이션을 만들려면 이 정도는 기본적으로 땡기고 시작을 해야되는거다.
이게 뭐냐면, Maven이나 Gradle 같은 build tool들은 의존관계를 다 관리해준다. 무슨 소리냐면,

내가 spring-boot-starter-web을 땡겨오면,

spring-boot-starter-web한테 필요한 라이브러리들이 의존관계에 의해서 알아서 당겨와지는 거다.
즉, 이 프로젝트는 쓰려면 스프링 웹과 관련된 프로젝트도 필요하고, 스프링 웹 mvc 관련된 것도 필요하다.
그래서 우리는 spring-boot-starter-web만 필요하지만, spring-boot-starter-web은 자기한테 필요한 것들을 또 의존하고 있다. 그럼 걔네들을 다 땡겨오는 것이다.

해서 나중에 스프링 코어까지 땡겨오는거다.

화면 왼쪽 밑에를 눌러주면, 오른쪽 옆에 바에 Gradle이 생긴다.

얘를 열어보면, 우리가 댕겨온 두 라이브러리에 의존하는 애들도 같이 댕겨진 걸 자세히 볼 수 있다.
(*)은 중복을 제거해준거다. 화살표 없어도 누르면 열린다.
spring-boot-starter-web에 들어가면,

spring-boot-starter-tomcat이 있다. 아까 웹서버 8080 띄웠던 거다.
고대에는 톰캣 서버에 들어가서 설치하고, 톰캣에 자바 코드를 밀어넣는 식으로 해서, 웹 서버랑 개발 라이브러리가 분리되어 있었다.
그런데 요즘에는 그냥 소스 라이브러리에서 이런 웹 서버를 그냥 들고 있다. 이런걸 embeded, 내장하고 있다고 한다. 그냥 java main method를 실행만 하는데도, 웹 서버가 뜬다. 따로 설정할 필요가 없는 거다.
그냥 라이브러리를 하나 빌드해서 그걸 웹 서버에 올리면 끝나는 거다. 그래서 이런 Tomcat 이라는 라이브러리가 있다.

이건 타임리프와 관련된 라이브러리들이다.

스프링 부트와 관련된 라이브러리를 쓰면, 스프링 코어까지 다 땡겨서 스프링과 관련된 게 다 세팅이 돼서 돌아간다고 이해하면 된다.
현업에서는 System.out.println을 거의 안쓰고, log로 출력을 한다.

여기 보면,

slf4j는 쉽게 말해서 인터페이스 인거고, '실제 로그를 어떠한 구현체로 출력할거야.' 로 요즘 logback을 많이 쓴다. 성능도 빠르고 여러가지 지원해주기 때문이다. 그래서 요즘엔 이 두 가지 조합으로 많이 쓰여서 스프링 부트에서도 얘를 표준으로 쓰는 거다. spring-boot-starter-logging을 땡기면, 얘네 둘이 자동으로 땡겨진다.
spring-boot-starter-logging은 스프링 부트를 쓰면 기본적으로 들어오는 거다.
그 다음 테스트와 관련된 라이브러리를 보면,

java에서는 JUnit 이라는 라이브러리를 테스트할 때 대부분 쓴다.

mockito나 assertj는 테스트를 편리하게 하도록 도와주는 거다.
중요한 핵심이 되는 것들은


이런 것들이 있다.
어려운데 그냥 듣고 이런게 있구나. 정도만 머리에 담으면 된다. 그냥 크게크게 이러한 라이브러리들을 주요하게 쓰는구나. 만 여러분 머리속에 담아주면 된다.
다음 시간에는 화면을 에러 페이지가 아니라, 동작하는 화면을 보도록 설정을 하겠다.