
오늘은 회원관리 예제를 하나 만들어 보도록 하겠습니다. 먼저 비즈니스 요구사항을 정리해 봅시다. 요구사항은 가장 간단하게 구현하였습니다. 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 일반적인 웹 애플리케이션 계층 구조를 먼저 확인해 봅시다. 컨트롤러(Controller) : 웹 MVC의 컨트롤러 역할 서비스(Service) : 핵심 비즈니스 로직 구현 리포지토리(Repository) : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인(Domain) : 비즈니스 도메인 객체, ex) 회원, 주문, 쿠폰 등 주로 데이터베이스에 저장하고 관리됨 회원 비즈니스 로직이 있는 MemberService와 회원을 저장하는 부분은 interface로 설정하고 MemberRepository로 하..

오늘은 스프링 웹 개발에서 이야기 하는 API 방식에 대해 알아보도록 하겠습니다. 정적 컨텐츠 방식을 제외하면 MVC 방식과 API 방식 두가지를 거의 사용한다고 보면 됩니다. 그럼 실습해 보면서 자세히 알아보도록 하겠습니다. HelloController에 하나 추가해봅시다. @GetMapping("hello-spring") @ResponseBody public String helloSpring(@RequestParam("name") String name) { return "hello " + name; } @ResponseBody 의 의미는 http에서 header부분과 body부분에서 body 부분에 내가 직접 데이터를 넣어주겠다는 의미입니다. 기존 GetMapping 방식으로 실행하여 return에 ..

오늘은 스프링 웹 개발의 기초 개념 3가지에 대해 배워 보려고 합니다. 정적 콘텐츠 : 파일을 웹 브라우저에 그대로 전달해 주는 것입니다. MVC와 템플릿 엔진 : jsp, php가 템플릿 엔진인데 html을 서버에서 프로그래밍해서 html을 동적으로 바꿔서 전달해 주는 것입니다. API : json 포맷으로 클라이언트에게 데이터를 전달해 주는 방식입니다. 대략적으로 위의 3가지인데 하나씩 알아보도록 합시다. 1. 정적 콘텐츠 스프링 부트는 정적 콘텐츠 기능을 자동으로 제공을 합니다. static 경로에 html 파일을 하나 추가해 보도록 하겠습니다. 내용은 간단하게 입력해 봅시다. 정적 컨텐츠 입니다. 실행시켜 보겠습니다. 이런 화면은 앞 글에서도 얘기했으니 간단하게 보고 넘어가겠습니다. 2. MVC와..

어제 Spring을 띄우는 것까지 했으니 오늘은 간단한 Welcome Page를 만들어 보려고 합니다. 1. 정적 페이지 생성 우선 화면에 보일 html 파일을 하나 추가할 건데 src\main\resources\static 아래에 index.html 파일을 추가하겠습니다. 그러고 안에 내용을 간단하게 채워보겠습니다. Hello hello 그리고 나서 localhost:8080으로 다시 실행시켜 보면 아래와 같이 화면이 바뀐 것을 확인할 수 있습니다. 2. Thymeleaf 사용하기 ※ Template Engine(템플릿 엔진) 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어입니다. 웹사이트 화면을 어떤 형태로 만들지 도와주는 양식이라고 할 수 있습니다. 스프링 부트 auto-c..

Spring에 대해 기초부터 잡고 넘어가기 위해 글로 남겨 놓으려고 합니다. 오늘부터 빠르게 개념을 정리해 보도록 하겠습니다. 1. 스프링 부트 스타터에서 스프링 프로젝트 생성 https://start.spring.io/ 위의 주소에 접속하면 spring initializr 가 보입니다. 스프링 부트 기반으로 스프링 관련 프로젝트를 만들어 주는 사이트입니다. 옵션을 하나씩 정리해 보겠습니다. 1. Project Maven이랑 Gradle은 라이브러리와 빌드하는 life cycle까지 관리해 주는 Tool이라고 보면 됩니다. 과거에는 Maven을 많이 사용했지만 요즘에는 Gradle을 많이 사용하는 추세입니다. Maven Gradle 2. Language 기본적으로 자바를 사용할 것이기 때문에 Java를 ..