본문 바로가기

전체 글

(81)
[Spring Boot] JSON 과 GSON이란? GSON에 앞서 JSON에 대한 정확한 개념을 이해하는게 좋을거라고 생각된다. JSON (JavaScript Object Notation) 이란? JavaScript에서 객체를 표현하는 방법이지만, 다양한 프로그래밍 언어에서 데이터를 주고 받기 위해 사용된다. XML등 과 같이 데이터를 표현하는 일종의 데이터 표현 표준이다. 주로 인터넷상에서 데이터를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. { "name" : "myeong", "age" : "25" }위의 형식과 같이 JSON은 { } (중괄호) 를 통해 하나의 객체를 표현하며, 배열은 [] (대괄호) 로 표기한다. 내부에는 Key : Value 값들로 각 속성값을 정의하고 있으며, Key 와 Value 는 : (콜론) 에 의해 구분되..
[Java] Collection에 대해 (Collection, Map, HashMap) Java Collection Java에서 컬렉션(Collection)이란 데이터의 집합, 그룹을 의미한다. JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렉션과 이를 구현하는 인터페이스를 제공한다. Collections Framework 주요 인터페이스 인터페이스 설명 구현 클래스 List 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용함. LinkedList Stack Vector ArrayList Set 순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않는다. HashSet SortedSet Map 키와 값의 한쌍으로 이루어지는 데이터의 집합으로 순서가 없고, 키는 중복을 허용하지 않지만, 값은 중복될 수 있다. HastTable HashMap ..
[Spring Boot] Logback 설정 (DB log) - Log4jdbc Logback DB log Logback 특징 빠른 implementation 적은 메모리 공유 XML로 logging 설정 maxHistory 설정 값을 이용해 일정 기간이 지나면 로그파일 자동 삭제 Filter 기능 : 사용자별 level 조정 가능 1. Log4JDBC 라이브러리 추가 Gradle implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' /* Log4JDBC */ Maven org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 2. logback-spring.xml 추가하기 scr/main/resources 디렉토리에 logback-spring.xml 추가하기 %d %5p..
REST API 란? 먼저 REST API를 알아보기 전에 API란 것을 알아보자 API (Application Programming Interface) 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 즉, 응용 프로그램끼리 서로 상호 작용을 하게 해주는 것을 의미. 그렇다면 REST API란 무엇일까? REST (REpresentational State Transfer) REST 구성 자원 (RESOURCE) - URI 행위 (Verb) - HTTP METHOD 표현 (Representations) REST의 특징 Uniform (유니폼 인터페이스) Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이..
[Spring Boot] Thymeleaf 란? 타임리프 문법 정리 Thymeleaf 정리 타임리프 공식 사이트 템플릿 엔진(Template Engine) 웹 서비스를 만들 떄에는 서버의 데이터와 정적자원(html, css, image)을 조합해야 한다. 서버에서 데이터를 보내 웹 서비스를 만드는 방법에는 크게 2가지가 있다.SPA(Single Page Application) 최초 한번 전체페이지를 다 불러오고 응답데이터만 페이지 특정부분 렌더링.SSR(Server Side Rendering) 전통적인 웹 애플리케이션 방식. 요청시마다 서버에서 처리한 후 새로고침으로 페이지에 대한 응답. 보통 자바에서 웹 개발시 JSP(Java Server Page)를 이용하여 진행한다. JSP를 사용하면 형태의 스크립트릿을 사용하여 개발한다. 그러나 이 방식은 스크립트릿과 HTML이 ..
[Spring Boot] Annotation 정리 - 2 Mapper 기존읜 스프링은 DAO(Data Access Object) 클래스에 @Repository를 선언해서 해당 클래스가 데이터베이스와 통신하는 클래스임을 나타냈다. 하지만, MyBatis는 인터페이스에 @Mapper만 지정해주면, XML Mapper에서 메서드의 이름과 일치하는 SQL 문을 찾아 실행한다. Mapper 영역은 데이터베이스와의 통신, 즉 SQL 쿼리를 호출한는 것이 전부이며, 다른 로직은 전혀 필요하지 않다. @Service 해당 클래스가 비지니스 로직을 담당하는 서비스 클래스임을 의미. @Controller 해당 클래스가 사용자의 요청과 응답을 처리하는 컨트롤러 클래스임을 의미. @GetMapping 기존의 URI 매핑) @RequestMapping(value = "...", me..
[Java] Java 8 date/time type `java.time.LocalDateTime` not supported by default 공부하던 중에 이러한 에러가 일어났다. Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling 참고블로그 위의 블로그를 참고하여 오류를 해결했다. 수정 전 String boardJson = new ObjectMapper().writeValueAsString(board); 수정 후 String boardJson = new ObjectMapper().registerModule(new JavaTimeModule()).writeValueAsString(board);
[Spring Boot] Annotation 정리 - 1 Annotaiton 정리 @EnableAutoConfiguration 스프링 부트는 개발에 필요한 몇 가지 필수적인 설정들의 처리가 되어있다. 해당 애노테이션에 의해 다양한 설정들의 일부가 자동으로 완료된다. @ComponentScan 기존의 XML 설정 방식의 스프링은 빈(Bean)의 등록 및 스캔을 위해 수동으로 ComponentScan을 여러 개 선언하는 방식을 사용하였다. 스프링 부트는 해당 애너테이션에 의해 자동으로 컴포넌트 클래스를 검색, 스프링 애플리케이션 콘텍스트(IoC 컨테이너)에 빈(Bean)으로 등록합니다. 의존성 주입 과정이 더욱 간편해졌다고 생각할 수 있습니다. @Configuration @Configuration이 선언된 클래스는 자바 기반의 설정 파일로 인식된다. @Autowi..

728x90
반응형