반응형

전체 글 273

[Spring Boot] 인메모리(H2) 데이터베이스 사용 방법

Spring Boot가 지원하는 인-메모리 DB Spring-JDBC 의존성이 추가되어 있다면 자동 설정이 필요한 Bean들을 설정해 준다. 1. H2 2. HSQL 3. Derb 1. H2 사용방법 1-1) 의존성 추가 JDBC와 H2 의존성을 추가, 아무런 설정을 하지 않아도 인-메모리 데이터 베이스를 사용하는 JDBC가 설정이 돼서 애플리케이션이 동작한다.(DataSource, JdbcTemplate 등) org.springframework.boot spring-boot-starter-jdbc com.h2database h2 runtime 1-2) 코드 작성 DataSource 작성 방법 package com.example.demo; import org.springframework.beans.fac..

Java 2023.06.26

JAR WAR 배포 차이점과 장단점

JAR(Java ARchive)와 WAR(Web ARchive)은 Java 애플리케이션을 패키징하는 방식이다. 1. JAR(Java ARchive) 파일 1-1) 장점 독립적인 Java 애플리케이션을 패키징할 수 있고, 실행 가능한 JAR 파일로 만들어서 개발자가 쉽게 애플리케이션을 실행할 수 있다. 압축된 형식으로 클래스, 리소스, 라이브러리 등을 포함하므로 배포와 전달이 용이하다. Java 애플리케이션의 진입점인 main 메서드를 포함하고 있어 JVM에서 직접 실행하기 때문에 별도의 웹 컨테이너나 서버가 필요하지 않다. 1-2) 단점 웹 애플리케이션을 개발할 때는 WAR 파일에 비해 제약사항이 있다. 예를 들어, JSP나 서블릿 컨테이너에 대한 표준 기능을 활용하기 어렵다. 웹 애플리케이션에서 동적인..

CS 2023.06.24

[Spring Boot] 템플릿 엔진 Thymeleaf 사용 방법

템플릿 엔진이란? 주로 View를 만드는데 사용되지만, 코드 제너레이션 또는 시스템에서 만들어 놓은 이메일 템플릿에 파라미터만 넣어 변경하는 등 여러 가지 상황에 맞게 사용할 수 있다. * 전체 소스 코드 https://github.com/kangilbin/Spring-Boot/tree/master/Tyhmeleaf 1. Spring Boot에서 자동 구성을 지원하는 템플릿 엔진 Sring Boot는 JSP를 대체할 수 있는 다양한 뷰 템플릿 엔진 지원한다. 이러한 엔진들은 Spring Boot의 자동 구성 기능과 완벽하게 통합되어 개발자 편의성과 애플리케이션의 유지보수성을 높일 수 있다. * 뷰 템플릿 엔진 종류 1. Thymeleaf 2. FreeMarker 3. Groovy 4. Mustache 2..

Java 2023.06.23

[프로그래머스/JavaScript] Lv.2 두 원 사이의 정수 쌍

https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 x축과 y축으로 이루어진 2차원 직교 좌표계에 중심이 원점인 서로 다른 크기의 원이 두 개 주어집니다. 반지름을 나타내는 두 정수 r1, r2가 매개변수로 주어질 때, 두 원 사이의 공간에 x좌표와 y좌표가 모두 정수인 점의 개수를 return하도록 solution 함수를 완성해주세요. ※ 각 원 위의 점도 포함하여 셉니다. 2. 입출력 3. 문제 풀이 3-1) 피타고라스 활용 ..

Algorithm 2023.06.21

[Spring Boot] 정적 리소스 기본 설정 및 추가 설정 방법

정적 리소스란? 정적 리소스는 일반적으로 HTML, CSS, JavaScript, 이미지 파일, 동영상 파일 등과 같은 정적 콘텐츠를 말한다. 이러한 리소스는 클라이언트로부터의 요청이 발생하면 서버에서 추가적인 처리 없이 그대로 전달됩니다. 서버는 단순히 요청된 정적 파일을 찾고, 해당 파일을 클라이언트로 보내주는 역할을 수행한다. 1. 기본 리소스 위치 정적 리소스 맵핑 ( /** ) ex) /hello.html 요청 => /static/hello.html 파일이 있으면 해당 파일을 응답한다. 1. classpath:/static 2. classpath:/public 3. classpath:/resources/ 4. classpath:/META-INF/resources 기본 적으로 ROOT부터 맵핑이 ..

Java 2023.06.19

[Spring Boot/Spring MVC] HttpMessageConverters 인터페이스 개념 및 사용 방법

HttpMessageConverters이란? Spring MVC는 웹 애플리케이션에서 클라이언트로부터 오는 HTTP 요청을 처리하고, 해당 요청에 대한 응답을 생성하는 데 사용되는 웹 프레임워크로 HTTP 요청의 본문은 다양한 형식을 가질 수 있다. HttpMessageConverters는 이러한 본문을 객체로 변환하거나 객체를 본문으로 변환하는 역할을 담당한다. @RestController public class UserController { // 1) @RestController을 사용할 경우 @ResponseBody 생략가능 // ex) public @ResponseBody User create(){} => public User create(){} @PostMapping("/user") public..

Java 2023.06.17

[Spring Boot] 단위 테스트(JUnit) 사용 방법

단위 테스트란? 소프트웨어 개발에서 사용되는 테스트 방법 중 하나로 소프트웨어의 가장 작은 단위인 모듈, 함수, 클래스, 메서드 등의 개별적인 단위를 분리하여 테스트하는 것을 의미한다. * JUnit JUnit은 자바 프로그래밍 언어를 위한 단위 테스트 프레임워크로 Spring Boot로 프로젝트를 생성할 때 자동으로 의존성이 포함된다. * 전체 Git 소스 코드 https://github.com/kangilbin/Spring-Boot/tree/master/%EB%8B%A8%EC%9C%84%20%ED%85%8C%EC%8A%A4%ED%8A%B8/demo 1. 의존성 확인(pom.xml) org.springframework.boot spring-boot-starter-test test 2. 테스트 클래스 생..

Java 2023.06.16

[Spring Boot] 프로파일(Profile) 설정 방법

profile이란? Spring Boot에서 제공해 주는 기능으로 특정한 환경에서만 특정한 정보들을 제공할 때 사용한다. 1. 프로파일 propertes 파일 생성 * 이름 규칙 application-{profile}.properties Profile로 생성된 properties 파일이 기존에 있는 application.properties 보다 우선순위가 높다. 2. profile 적용 application.properties 파일에서 prod 프로파일을 적용하게 되므로 prod 프로퍼티 값들을 사용할 수 있다. * 프로퍼티 설정 방법(application.properties) 2023.06.14 - [Java] - [Spring Boot] 다양한 외부 설정(application.properties) 방..

Java 2023.06.15

[Spring Boot] 다양한 외부 설정(application.properties) 방법 및 활용

1. 프로퍼티 우선 순위 1. 유저 홈 디렉토리에 있는 spring-boot-dev-tools.properties 2. 테스트에 있는 @TestPropertySource 3. @SpringBootTest 애노테이션의 properties 애트리뷰트 4. 커맨드 라인 아규먼트 5. SPRING_APPLICATION_JSON (환경 변수 또는 시스템 프로티) 에 들어있는 프로퍼티 6. ServletConfig 파라미터 7. ServletContext 파라미터 8. java:comp/env JNDI 애트리뷰트 9. System.getProperties() 자바 시스템 프로퍼티 10. OS 환경 변수 11. RandomValuePropertySource 12. JAR 밖에 있는 특정 프로파일용 applicatio..

Java 2023.06.14

[Spring Boot] HTTPS와 HTTP 동시 적용 방법

기본적으로 커넥터가 하나기 때문에 HTTPS를 적용할 경우 HTTP 통신을 하지 못한다. 하지만 따로 설정을 하게 되면 두가지 모두 사용할 수 있다. * Git https://github.com/kangilbin/Spring-Boot/tree/master/%EB%82%B4%EC%9E%A5%20%EC%9B%B9%EC%84%9C%EB%B2%84/webserver 1. HTTP 커넥터 설정 @Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); // 커넥터 추가 tomcat.addAdditionalTomcatConnectors(..

Java 2023.06.13
반응형