티스토리 뷰

맥북도 사게 된겸 스프링부트를 공부하게 되었다. (맥북이랑 뭔상관인가 싶긴하다.)

또한 IDE 로 기존에 써왔던 이클립스(STS) 말고 많이들 쓰고 있는 인텔리제이를 선택하였다.

(처음 사용하면서 느끼는 점은.. 버벅임 없이 빠른 것과 자동완성이 정말 잘 나오는 것?)

 

인텔리제이와 스프링부트를 처음 배우는 입장에서 작성한 글인지라

수정해야할 내용이나 추가적으로 알아야할 내용에 대해서는 적극적으로 댓글 부탁드립니다.

 

개발 환경은 크게 다음과 같습니다.

 

IDE: IntelliJ IDEA Ultimate

JAVA: 1.8

↑ 신규 프로젝트를 생성하면서, 왼쪽에서 Spring Initializer 를 선택한다.

 

↑ 위 화면을 참고하며 작성하되, Group 및 Artifact는 본인 맘대로 작성해도 무관하다. (각각 패키지명, 디렉토리명)

참고로 이 가이드에서 빌드툴은 Gradle을 사용합니다. (저도 Maven만 사용했었지만.. 이번 기회에 Gradle을 사용해보려 합니다.)

 

↑ 초기에 Dependency들을 추가할 수 있는 화면이다.

위와 같이 5개만 추가하자.

Mybatis만 사용하던 저는 이번기회에 JPA도 함께 배워보고자 합니다...ㅋㅋ

 

Lombok: Java에서 Model 에 해당하는 VO, DTO, Entity 등의 클래스에서 getter, setter, 생성자, toString 등의 메소드들을

자동으로 추가해주는 라이브러리 입니다. 변수만 작성해주면 되므로 작성도 편해지고 눈으로 보기에 코드도 깔끔해집니다.

 

JPA: 정말 간단히 말해서.. 쿼리를 작성하지 않고 DB 테이블에 해당되는 Entity 클래스를 만들고, 해당 클래스 객체를 활용해 데이터를 다룬다고 보면된다.

워낙 유명하고 중요한 기술 표준이기 때문에 조금만 검색해도 많은 설명들을 접할 수 있을것이다..

 

H2: RDB 기반의 DBMS 이다. 흔히 알고있는 DBMS 들과의 대표적인 차이점이라면 일단 초경량DB 라는 것. (가볍고, 동작속도가 빠름)

특히 인메모리 기능을 지원하기 때문에, 개발단계에서 사용하기에 좋은 DB이다.

또한 별도의 클라이언트 프로그램 설치없이 브라우저를 통해 콘솔에 접근할 수 있어서 매우 편리하다.

 

 

 

다음 단계에서 프로젝트 위치까지 설정한 뒤, 프로젝트를 생성합니다.

 

 

대략 위와같은 구조로 프로젝트가 생성됩니다.

Maven 프로젝트에서 pom.xml 의 역할을 build.gradle 파일이 대신하는 것 같습니다.

 

자, 다음으로 컨트롤러 파일을 추가해보도록 하겠습니다.

 

springstart 패키지 아래에 web 이라는 이름의 패키지를 추가합니다.

그리고 web 패키지 아래에 MainController.java 파일을 생성합니다.

 

 

위와같은 구조가 되겠네요.

 

 

그리고 MainController.java 파일에는 해당 내용을 작성합니다.

 

1
2
3
4
5
6
7
8
@RestController
public class MainController {
 
    @GetMapping("/hello")
    public String hello() {
        return "Hello World!";
    }
}
cs

 

@RestController 어노테이션은 모든 메소드들에 대해 @ResponseBody를 적용해준 역할을 합니다.

/hello 요청에 대해서 화면이 아닌, Http Response Body에 "HelloWorld" 스트링을 리턴하는 역할을 하겠네요.

@GetMapping은 @RequestMapping(value="/hello", method=RequestMethod.GET) 과 동일합니다.

 

 

SpringStartApplication.java 파일을 실행해봅시다.

 

콘솔 맨위에 커다란 SPRING 글자가 찍혀나오면서.. 아무래도 별로 한게 없으니 금방 실행됩니다.

 

그리고 localhost:8080/hello 에 접속해보면 웹페이지에 Hello World! 가 덩그러니 출력됩니다.

 

 

스프링부트 기반의 아주아주 기초적인 웹서버가 성공적으로 만들어졌네요.

 

조금씩 살을 붙여나가며 기본적인 CRUD 기능을 구현해보도록 하겠습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함