목록Spring (14)
땃쥐네
선행 지식 [Spring DB] JDBC 표준 인터페이스의 등장 배경 에서 이어집니다. 실습 환경 프로젝트 생성 의존 라이브러리 : Lombok, H2, JDBC API 자바 : 8버전 이후면 상관 없긴한데, 가급적 11 이후 버전 사용 1. MySQL과 같은 DB는 실습 환경에서 사용하기 부담이 큽니다. 2. 이후 다룰 내용이긴한데 H2 데이터베이스는 java로 개발되어 있고, 테스트 시 JVM 안에서 메모리 모드로 동작하는 기능이 제공됩니다. 기본적인 스프링-DB 접근기술의 개념적인 학습에 있어서는 H2 데이터베이스가 가장 좋습니다. build.gradle ```groovy dependencies { // test에서 Lombok 사용 testCompileOnly 'org.projectlombok:l..
웹 클라이언트 - WAS - DB 의 흐름 웹 클라이언트 계층 : 웹 브라우저, 모바일 웹 애플리케이션, PC 웹 애플리케이션, ... 등이 이에 해당 웹 서버 : 외부 클라이언트로부터 요청을 받아, 정적 컨텐츠 리소스(html, css, ...)를 응답하는 계층. 웹 애플리케이션 서버 : 외부 클라이언트로부터 요청을 받아, 동적 컨텐츠 리소스를 응답하는 계층. 여기서는 java단. 데이터베이스 : 데이터 저장, 관리, 등등을 책임지는 계층. 일반적으로 데이터 조작, 조회를 수행하려면 웹 애플리케이션 서버를 거쳐야한다. 웹 클라이언트 계층은 우리 서비스의 웹 애플리케이션 서버(WAS)를 통해 DB의 데이터를 조회, 조작하고, 동적으로 응답을 받을 수 있습니다. 예를 들면, 기차표를 예매할 때 ktx의 코..
이 글은 [Spring MVC] 서블릿(Servlet)이란? 에서 이어집니다. 결국 스레드마다 자바코드가 실행된다. 요청당 스레드! 애플리케이션 코드를 하나하나 순차적으로 실행하는 것은 스레드입니다. 실제로 JVM(Java Virtual Machine)의 Runtime Data Area를 확인해보면 각 스레드마다 stack, pc register, native method stack 을 할당받습니다.(JVM 구조 및 각 요소들의 역할에 대해서는 이 포스팅의 영역을 벗어나므로 다루지 않겠습니다.) 어떤 자바 코드든 결국 스레드 위에서 동작합니다. java 애플리케이션을 실행하면 main이라는 이름을 가진 스레드가 생성되고 main 메서드는 main 스레드의 스택 프레임에 올려져 여기서 자바 코드가 한 줄 ..
서블릿 학습의 필요성 Spring MVC를 이용하면 웹 애플리케이션 구현을 매우 손쉽게 할 수 있습니다. 하지만 이 Spring MVC는 서블릿이라는 오래된 자바 표준 기술을 기반으로 동작합니다. 따라서 Spring MVC에 대해 깊은 이해를 하기 위해서는 우선 Servlet을 이해할 필요가 있습니다. 요청과 응답은 Http 메시지를 통해 이루어진다. 요즘 사용되는 웹 애플리케이션 대 부분은 Http 프로토콜을 기반으로 동작합니다. Http 프로토콜에서 정해진 사양에 따라 Http 메시지를 작성하고 HTML 문서, 단순 텍스트, 이미지, 음성, 영상, 파일, JSON, ... 등등 다양한 형태의 데이터를 끊임 없이 빠르고 간편하고 정확하게 주고받을 수 있습니다. 이 프로토콜에서 정의된 방식대로 Http ..
빌드 gradle 기준 Windows 기준 사전 설정 git bash 이용하기 : Git Bash는 linux의 터미널 명령어를 사용할 수 있음. intelliJ 기본 터미널을 Git Bash로 지정하기 : IntelliJ 기준 File > Tools > Terminal에서, Application Settings > Shell path에 다음을 지정 후 intelliJ 재실행 "git 설치경로\bin\sh.exe" -login -i 터미널 실행 시 바로 프로젝트 경로가 불러와짐 빌드 및 실행 ./gradlew build : build 폴더 아래에 빌드함 cd build/libs : 프로젝트 폴더 아래의 build/libs로 이동 java -jar 파일명.jar : 빌드된 jar 파일 실행 빌드 제거, 다..
개발환경 JDK 11 이상 IDE : IntelliJ 프로젝트 생성하기 start.spring.io에서 Spring 프로젝트 생성 설정법 Project : Gradle Project Language : Java Spring Boot : SNAPSHOT, M1(미정식 버전)과 같은 문자가 안 붙은 버전들 중 최신 버전 Project Metadata Group : 주로 기업 그룹, 도메인 artifact, name : 빌드 결과물의 이름 Packaging : Jar Java : 11 Dependencies (의존 라이브러리) Spring Web Thymeleaf 가져오기 받은 zip 파일을 풀기 IntelliJ에서, File - Open에서 build.gradle을 선택하여 프로젝트 Open 프로젝트 폴더 ..