Java Spring

[Spring] 스프링 입문 - 스프링 부트, 웹 MVC, DB 접근 기술

pearl.k 2023. 5. 15. 17:37

* Inflearn - 김영한 개발자님의 강의를 통해 공부, 실습한 내용을 정리한 포스팅입니다.

 

1. 이 커리큘럼에서 배우는 내용

 BE 초급자를 위한 강의로, 스프링 웹 애플리케이션 구현의 기초 과정을 배울 수 있다. 개발 과정을 순차적으로 따라하며 스프링에 대해 이해하고 기초 웹 애플리케이션(회원 가입, 회원 정보 저장 기능)을 만들 수 있다. Spring 첫 사용자를 위한 기본 셋업부터 배울 수 있어서 입문하기 친절한 강의라고 생각했고, 많은 도움이 됐다.

 

2. JDBC를 이용한 간단한 회원 가입 사이트 구현 (Result)

 

스프링부트 실습 결과(video)

- H2 DB를 이용하여 미리 저장된 회원 정보 확인 가능: 영상에서 작성하지 않은 1, 2, 3, 4 번 회원 이름이 미리 저장되어 있고, 영상 처음에 저장한 회원은 5, 6 번 회원으로 저장되었다.

- 메인 페이지 / 회원 가입 페이지 / 회원 목록 페이지는 모두 기초적인 html 코드로 작성했다. (BE 강의이기 때문에 FE 부분은 생략)

 

3. 배운 점

1) Spring 웹 개발 기초

- 정적 컨텐츠

- MVC와 템플릿 엔진

- API

2) 회원 관리 예제 (BE, 웹 MVC) 구현

- 비즈니스 요구 사항

- 회원 도메인, 리포지토리 만들기 / 테스트 케이스 작성 / 회원 서비스 개발 및 테스트

3) DB와의 연결

- H2 데이터 베이스:  설치 필요 X, 용량이 가볍다. 로컬 DB로 사용하기 좋은 DBMS이며 자바를 기반으로 하여 자바가 설치되어 있어야 한다. 표준 SQL 쿼리를 지원한다. (현업에서 개발 할 때 로컬에서 많이 사용함)

- JDBC (Java DataBase Connectivity): 자바에서 제공하는 DB 접근을 위한 인터페이스이다. SQL 쿼리를 실행하는데 사용되는 자바 API 이다. JDBC 드라이버를 통해 DB에 연결할 수 있다. 하지만 SQL 쿼리를 그대로 사용한다.

 

- JPA

      => 스프링 데이터 JPA: 중복을 혁신적으로 줄이고, 핵심 개발 로직에 집중할 수 있게 만들어 준다. 현업 업무에 많이 쓰인다. JPA를 편하게 만들어주는 도구이므로 JPA에 대해 먼저 공부한 후 사용하는 것이 좋다.

4) AOP 관점 지향 프로그래밍

공통 관심사와 핵심 관심사를 구분한다. 원하는 곳에 공통 관심사 적용.

AOP가 필요한 상황?: Method 수가 매우 많을 때, 원하는 것을 골라서 사용하고 싶을 때

 

 

4. 더 공부하고 싶은 점

- 아주 기초적인 html 코드를 사용해서 페이지를 꾸몄는데, 나중에 FE와 BE 연결이 어떻게 되는지 자세한 과정을 보고 싶다.

- DB에 연결하는 아주 기초적인 방법을 배웠는데 추후에 DB와의 커넥션에 대해 자세히 공부하고 싶다.

 

5. 자바 어노테이션 활용의 중요성

 기존에 PS를 위한 자바 코드를 짜거나 기본적인 객체-인터페이스를 구현하는 과정에서 자바 어노테이션을 잘 사용하지 않았다. 그래서 어노테이션(@)의 중요성을 잘 모른 채, 그저 상속 코드에서 IDE가 자동으로 붙여주는 태그 라고 생각했다. 그러나 이번 예제 개발 과정에서 어노테이션의 중요성을 알게 되었고 어노테이션에 대해 따로 정리하는 계기가 되었다.

JAVA/Spring 에서 어노테이션(@) 이란? - 어노테이션 사용의 중요성