본문 바로가기

STUDY/Spring

(9)
[토비의 스프링부트 - 이해와 원리] 독립 실행형 서블릿 애플리케이션 * Containerless @SpringBootApplication public class StudyApplication { public static void main(String[] args) { SpringApplication.run(StudyApplication.class, args); } } main 메소드만 실행 시켰더니 웹 컨테이너가 작동 Containerless 목적 : Spring Controller에 존재하는 Bean 관련해서만 작업하고, Servlet Container에 있는 배포, 구성 등의 작업을 SpringBoot에 위임 빈 Servlet Container 띄우기 package com.yoon.tobyspring.study; import org.springframework.boo..
[토비의 스프링부트 - 이해와 원리] 스프링 부트 시작하기 JDK 공개 JDK Eclipse Termurin Microsoft OpenJDK Amazon Corretto Azul JDK Oracle JDK IDE IntelliJ IDEA STS : https://spring.io/tools Visual Studio Code (권장 X) HelloController 작성 @RestController public class HelloController { @GetMapping("/hello") public String hello(String name) { return "hello " + name; } } 요청 URL ex : http://localhost:8080/hello?name=hongsi HTTP 요청/응답 확인 도구 웹 브라우저 개발자 도구 [Network..
[토비의 스프링부트 - 이해와 원리] 스프링 부트 살펴보기 [인프런] 토비의 스트링 스프링 부트 스프링을 기반으로 실무 환경에 사용 가능한 수준의 독립 실행형 애플리케이션을 복잡한 고민 없이 빠르게 작성할 수 있게 도와주는 여러가지 도구의 모음 스프링 부트로 독립 실행형 스프링 애플리케이션을 개발하는 것 스프링 != 스프링 부트 스프링 부트의 핵심 목표 매우 빠르고 광범위한 영역의 스프링 개발 경험을 제공 빠르고 고민 없이 개발할 수 있게 해준다 = 강한 주장을 가지고 즉시 적용 가능한 기술 조합을 제공한다 비기능적인 기술(보안, 메트릭, 상태 체크, 외부 설정 방식 등)을 제공 코드 생성이나 XML 설정을 필요로 하지 않음 컨테이너리스 개발 (Containerless) 스프링 부트는 컨테이너리스 웹 애플리케이션 아키텍처를 스프링이 지원해줬으면 한다는 한 개발자..
[Spring boot] 간단한 API 개발 * 2021.03.11 작성 기준 Spring boot - 통계 API를 위한 DB, Table 작성 1. DB 및 Table 생성하기 CREATE DATABASE api_stat; CREATE Table api_stat.requestInfo( requestID numeric NOT NULL primary key, requestCode varchar(5) NOT NULL, userID varchar(5), createDate varchar(10) ); CREATE table api_stat.requestCode( requestCode varchar(5) NOT NULL primary key, code_explain varchar(50) NOT NULL ); CREATE table api_stat.user..
[Spring] Spring, MariaDB, MyBatis 연동 * 2021.02.10 작성 기준 ★ Mybatis - 자바 퍼시스턴스 프레임 워크의 하나로 XML 서술자나 Annotation을 사용하여 저장 - 프로시저나 SQL문으로 객체들을 연결 1. Dependency 추가 - pom.xml 수정 - ~ 사이에 작성 - MariaDB, MyBatis 관련 dependency 추가 org.mariadb.jdbc mariadb-java-client 2.0.3 commons-dbcp commons-dbcp 1.4 org.springframework spring-jdbc 4.3.9.RELEASE org.mybatis mybatis 3.4.4 org.mybatis mybatis-spring 1.3.1 org.bgee.log4jdbc-log4j2 log4jdbc-log4j..
[Spring] MariaDB, MySQL Workbench 설치하기 * 2021.02.09 작성 기준 1. MariaDB 설치 https://javaplant.tistory.com/31 2. MySQL Workbench 설치 https://dev.mysql.com/downloads/workbench/ - MySQL Connections를 클릭하고 패스워드 입력 3. 스키마(Schema) 생성 - Name과 Charset/Collation 설정 *Charset: 문자 집합 - UFT-8: 문자 당 1~4 byte 사용하여 인코딩 - UFT-16: 문자 당 2 or 4 byte 사용하여 인코딩 - UFT -32: 문자 당 4 byte 사용하여 인코딩 * Collation 해당 문자 셋을 어떻게 정렬할지를 결정하는 알고리즘 - 스키마를 생성하면 왼쪽 Navigator에 "th..
[Spring] Hello World 출력하기 * 2021.02.09 작성 기준 1. Spring 프로젝트 생성 - [File] - [New] - [Spring Legacy Project] * [New]를 눌렀을 때 안보이시는 분들은 [Other] - [Spring] - [Spring Legacy Project]를 누르시면 됩니다 - 프로젝트 이름 설정 후 [Spring MVC Project] 선택 - 패키지 명 설정 - Finish를 누르면 스프링 프로젝트 개발에 필요한 라이브러리를 Maven을 이용해 자동 다운로드됨 * 다운받은 라이브러리는 사용자 폴더 내 '.m2' 안의 repository 폴더 안에 생성됨 2. 스프링 버전 변경 - pom.xml에서 스프링 버전과 JDK 버전을 수정 후 [Ctrl] + [S] 로 저장 1.8 5.1.8.REL..
[Spring] Spring 개발 환경 구축 - Tomcat 설치하기 * 2021.01.11 작성 기준 이전 게시글에 이어 Tomcat을 설치하도록 하겠습니다 01 Tomcat이란?? - dynamic(동적)인 웹을 만들기 위한 웹 컨테이너, 서블릿 컨테이너라고 불리며, 웹서버에서 정적으로 처리해야할 데이터를 제외한 JSP, ASP, PHP 등은 웹 컨테이너(톰캣)에게 전달한다. * WAS(Web Application Server) 1. 컨테이너, 웹 컨테이너, 서블릿 컨테이너라고 부른다 2. JSP, 서블릿 처리, HTTP 요청 수신 및 응답 3. 아파치는 정적인 웹페이지만 처리하므로 처리속도가 매우 빠르고 안정적이다. 4. 하지만 톰캣(WAS)을 쓰면 동적인 데이터 처리가 가능하다 5. DB연결, 데이터 조작, 다른 응용 프로그램과 상호 작용이 가능하다. (톰캣은 80..