
그동안 Python Django 위주로만 백앤드를 공부해왔지만 Java Spring도 공부하는 것이 좀 더 많은 경험을 할 수 있을 것이라 생각되어 Infearn에 있는 김영한 강사님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 을 시청하

프로젝트를 실행했을 때 아무것도 없었기 때문에 성공적으로 실행되었지만 Error Page가 출력되었었다. Error Page가 아닌 내가 만든 Page를 보기위해 간단한 html 파일을 작성하였다. Spring Boot는 src/main/resources/static

✨ 프로젝트 빌드 기능?을 만든 프로젝트를 실행해보기 위해 먼저 빌드를 했다. Mac은 ./gradlew build, Window는 gradlew.bat을 실행하고 build를 하면 된다고 한다. 난 Window를 사용중이니 bat파일 + build를 진행했다. bu

✨ 정적 컨텐츠 생성 Java Spring 웹 개발에는 정적 컨텐츠, MVC와 템플릿 엔진, API 방식이 있다고 한다. 셋 다 만들어 볼 예정이지만 일단 먼저 간단한 정적 컨텐츠 방식으로 만들어 볼 것이다. static 폴더에 hello-static.html이란 이

MVC는 Model-View-Controller 의 약자로, SW개발에서 사용되는 디자인 패턴이다. 이 패턴은 애플리케이션을 세 가지 컴포넌트(Model, View, Controller)로 나누어 관리해 유지보수성과 확장성을 높인다고 한다. 먼저 기존에 있던 Hell

API는 "Application Programming Interface"의 약자로, 소프트웨어 응용 프로그램이 서로 통신하는 데 사용되는 규칙과 도구 모음이다.API는 프로그램이나 애플리케이션이 다른 프로그램이나 애플리케이션의 기능을 사용할 수 있게 할 수 있어 확장성

💡 웹 애플리케이션의 구조 일반적인 웹 애플리케이션의 계층 구조는 다음과 같다. 컨트롤러는 웹 MVC의 컨트롤러 역할, 서비스는 비즈니스 로직, 도메인은 데이터베이스에 저장하고 관리되는 객체, 리포지토리는 데이터베이스에 접근, 도메인 객체를 저장, 관리 하는 역할을

💡 테스트 케이스란? 테스트 케이스는 애플리케이션의 특정 기능이 의도한 대로 동작하는지 확인하기 위한 코드이다. 개발한 기능을 직접 실행해서 테스트를 하면 준비하고 실행하는데 오래 걸리면서 반복 실행하기 어렵고 여러 테스트를 한번에 테스트하기도 어렵다. 테스트 케이스
✨ 회원 서비스 생성 회원 서비스는 회원 리포지토리와 도메인을 활용해 만드는 핵심 비즈니스 로직이다. 핵심 비즈니스 로직이라 해도 시작부터 복잡한 기능을 만들 순 없으니 간단한 기능을 먼저 만들 것이다. 회원 가입 기능을 먼저 만들어 볼 것이다. 회원가입 기능 자체

✨ 테스트 케이스 생성 이번에는 저번 글에서 만든 회원 서비스의 테스트 케이스를 작성해 제대로 동작하는지 확인할 것이다. 첫 번째 기능이었던 회원 가입 기능의 테스트 케이스를 작성했다. 단순히 member를 생성해 회원으로 잘 등록이 되는지 확인하는 테스트 케이스다.

Spring 서버가 실행될 때 애플리케이션의 구성 요소를 관리하고 의존성 주입을 수행하는 스프링 컨테이너라는 것이 생성된다.특정한 어노테이션을 사용하면 스프링 컨테이너에서 객체가 생성, 관리된다.Spring 서버의 동작 환경은 다음 그림과 같다.이전에 작성했던 memb

✨ Config 파일 생성 이전 글에서 어노테이션을 사용해 스프링 컨테이너에 등록해보았었다. 이번에는 등록했던 스프링 빈을 자바로 등록하는 방법을 알아볼 것이다. 먼저 컨트롤러를 제외한 어노테이션들을 제거해주고 SpringConfig 파일을 작성했다. 위와 같이 @

회원 관리 예제를 웹 MVC로 만들어보기 위해 첫 번째로 간단한 홈 화면을 추가해 볼 것이다. 새로운 컨트롤러를 작성했다. "/"로 맵핑을 해서 도메인으로만 접근을 했을 때 home.html 템플릿 파일이 호출되도록 했다. home.html 파일도 템플릿 폴더에 작

✨ 회원 등록 페이지 컨트롤러 생성 이번에는 회원 등록 페이지를 만들고 확인해 볼 것이다. 일단 회원 등록 페이지 주소로 접근했을 때 회원 등록을 할 수 있는 페이지를 출력해 줄 수 있도록 컨트롤러를 작성했다. 그리고 이 컨트롤러에서 반환해 줄 템플릿 파일도 작성했다

✨ 회원 조회 컨트롤러 생성 등록했던 회원을 조회하는 기능을 만들어 볼 것이다. 컨트롤러를 먼저 작성했다. /members로 요청을 받으면 List형태로 findMembers()로 가져온 members 데이터들을 memberList 템플릿을 사용해 반환할 것이다. 그

JDBC(Java Database Connectivity)는 자바 애플리케이션에서 DB에 접속하고 쿼리를 실행할 수 있도록하는 표준 API이다. 강의에서는 매우 오래되고 복잡한 방법이라고 설명하고 있다. 그래도 일단 구현을 해보고 다시 JPA로 교체하는 방식으로 진행해

✨ 테스트 케이스 생성 이전 글에서 JDBC로 DB와 연결을 하고 확인을 해봤었다. 이번에는 DB까지 사용해서 진행하는 통합 테스트를 만들어 볼 것이다. 이전에 만들었던 테스트 코드를 복사해서 조금 수정해주었다. @SpringBootTest 어노테이션을 사용하면 스

순수 JDBC로 작성했던 코드를 JdbcTemplate으로 변경해 볼 차례다. 먼저 JdbcTemplate 라이브러리를 사용하기 위한 리포지토리를 생성했다.

✨ JPA Entity 생성 JDBC에서 Jdbc Template으로 수정하니 개발해야 할 코드는 확 줄었다. 하지만 아직까지 쿼리를 코드에서 제거하지 못했다. JPA를 사용하면 쿼리도 자동으로 처리할 수 있어 쿼리를 작성할 필요가 없다고 한다. 먼저 JPA를 사용하

Spring Data JPA는 JPA를 편리하게 사용하도록 도와주는 기술이다.사용한다면 이전보다도 개발할 코드들이 확 줄어든다고 한다.하지만 JPA를 도와주는 도구와 같은 것이라서 JPA를 먼저 학습한 이후에 사용하는 것이 권장된다고 한다.일단 간단한 구현만 해보겠다.