당니의 개발자 스토리

라이브러리 살펴보기 본문

스프링/스프링 입문

라이브러리 살펴보기

clainy 2024. 4. 4. 20:31

라이브러리 살펴보기

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 이라는 라이브러리를 테스트할 때 대부분 쓴다.

mockitoassertj는 테스트를 편리하게 하도록 도와주는 거다.


중요한 핵심이 되는 것들은

이런 것들이 있다.

어려운데 그냥 듣고 이런게 있구나. 정도만 머리에 담으면 된다. 그냥 크게크게 이러한 라이브러리들을 주요하게 쓰는구나. 만 여러분 머리속에 담아주면 된다.


다음 시간에는 화면을 에러 페이지가 아니라, 동작하는 화면을 보도록 설정을 하겠다.

'스프링 > 스프링 입문' 카테고리의 다른 글

빌드하고 실행하기  (0) 2024.04.09
View 환경설정  (0) 2024.04.04
프로젝트 생성  (0) 2024.04.03
스프링 공부  (0) 2024.04.02