Spring
-
[Spring Boot] REST API 만들기(4) - Log4jdbc 설정Spring Boot/2.4.x - REST API 만들기 2020. 5. 5. 17:34
기본적으로 스프링 부트는 Java Util Logging, Log4J2 and Logback 기능을 지원하여 실행된 SQL문을 확인할 수 있지만, 파라미터가 바인드되지 않고 물음표로 출력되거나, 탭이나 개행문자가 적용되지 않아 가독성이 떨어지기 때문에 log4jdbc 설정이 필요합니다.1. pom.xml 의존성 추가 pom.xml에 log4jdbc-log4j2을 사용하기 위해 의존성을 추가하세요.pom.xml 더보기123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869?xml version="1.0" encoding="UTF-8"..
-
[Spring Boot] REST API 만들기(3) - Logback 설정Spring Boot/2.4.x - REST API 만들기 2020. 5. 4. 17:23
1. Logback 이란?Logback "자바 오픈소스 로깅 프레임워크"로 SLF4J의 구현체입니다. 스프링 부트의 기본으로 설정되어 있어서 dependency를 추가하지 않아도 사용 가능합니다. 2. Logback 사용법org.slf4j.Logger와 org.slf4j.LoggerFactory를 import하고, LoggerFactory를 통해 logger를 주입 받으세요. BoardController.java더보기123456789101112131415161718192021222324252627282930313233package com.api.board.controller; import java.util.List; import org.slf4j.Logger;import org.slf4j.LoggerFa..
-
[Spring] AOP(Aspect Oriented Programming) 란?Spring/용어 2020. 3. 22. 16:16
AOP(Aspect Oriented Programming) 란? 공통의 관심 사항을 적용해서 발생하는 의존 관계의 복잡성과 코드 중복을 해소해 주는 프로그래밍 기법입니다. AOP 용어Advice언제 공통 관심 기능을 핵심 로직에 적용할 지를 정의하고 있습니다. '메서드를 호출하기 전/후(언제)에 트랜잭션(공통 기능)을 적용한다.'JoinpointAdvice를 적용 가능한 지점을 의미합니다. 메서드 호출, 필드 값 변경 등이 joinpoint에 해당합니다.PointcutJoinpoint의 부분 집합으로 실제로 Advice가 적용되는 Joinpoint를 나타냅니다. 스프링에서는 정규 표현식이나 AspectJ의 문법을 이용하여 Pointcut을 정의할 수 있습니다.Weaving 어떤 Advice를 어떤 Poi..
-
[Spring] DI(Dependency Injection) 란?Spring/용어 2020. 3. 22. 16:12
DI(Dependency Injection) 란?IoC(Inversion of Control)이라고도 표현하며, 객체 간의 의존 관계를 객체 자신이 아닌 외부의 조립기가 수행해 준다는 개념입니다. 의존할 객체를 지정하는 방법123456789101112131415// 1.객체를 직접 만들어 사용public class BoardService { private BoardDao boardDao = new BoardDao();} // 2.객체를 주입 받아 사용public class BoardService { private BoardDao boardDao; // 생성자에서 의존하는 객체를 전달받음 public BoardService(BoardDao boardDao) { ..
-
[Spring] 게시판 만들기(22) - MDC(Mapped Diagnostic Context) 설정Spring/4.3.x - 게시판 만들기 2019. 11. 24. 13:37
MDC를 설정하는 이유는 웹 요청에 대한 로그인 정보나 세션 정보를 추적할 수 있기 때문입니다. 현재 샘플에서는 로그인 정보나 세션 정보가 없기 때문에 BOARD_SEQ 값을 추가하였습니다. 1.logback.xml 수정 key에 대한 value 값만 노출하고 싶다면 패턴에 %X{ID}로 추가한 MDC에 key값을 ID로 정의하면 되고('ID'는 임의로 정의한 값), key_value 패턴으로 key와 value 값을 모두 노출하고 싶다면 %X로 추가하면 됩니다. (%X은 로깅이 발생한 Thread와 관련된 MDC에 정보를 출력합니다.) 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 %d [%thread] %-5level %logger - [..
-
[Eclipse] STS(Spring-Tool-Suite) Plugin 수동 설치Eclipse 2019. 7. 10. 10:12
Eclipse Marketplace에서 STS가 검색되지 않을 때 STS(Spring-Tool-Suite) Plugin 수동 설치하는 방법입니다. 1.Eclipse 버전에 맞는 Location 확인 for Eclipse Photon (4.8): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.8for Eclipse Oxygen (4.7): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.7for Eclipse Neon (4.6): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.6for Eclipse Mars (4.5): http://dist.springs..
-
[Spring] REST JSON Response 예제Spring/기타 2019. 5. 26. 18:56
1. BeanNameViewResolver, MappingJackson2JsonView 적용 BeanNameViewResolver 클래스는 뷰 이름과 동일한 이름을 갖는 빈을 뷰 객체로 사용합니다. BeanNameViewResolver는 주로 커스텀 View 클래스를 뷰로 사용해야 하는 경우 사용됩니다. 스프링4 버전은 자바 객체를 JSON으로 변환해서 보여주는 뷰 구현 클래스인 MappingJackson2JsonView를 제공하고 있습니다. 컨트롤러에서는 다음과 같이 뷰 이름으로 MappingJackson2JsonVie 타입의 빈을 설정해주면 됩니다. MappingJackson2JsonView는 모델에 저장된 모든 객체를 JSON 형식으로 변환해줍니다. MappingJackson2JsonView는 내부..
-
[Spring] REST XML Response 예제Spring/기타 2019. 5. 25. 16:50
1.Jackson 라이브러리 추가 Java 객체를 JSON으로 변환하기 위해서는 Jackson 라이브러를 추가해야합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 4.0.0 com.tychejin springrest springrest war 1.0.0-BUILD-SNAPSHOT 1.8 4.1.4.RELEASE junit junit 4.12 test org.springframework spring-webmvc ${org.springframework-version} org.sprin..
-
[Spring] 게시판 만들기(21) - 게시글 수정(첨부파일 등록 및 삭제)Spring/4.3.x - 게시판 만들기 2019. 5. 10. 11:17
1. Front-End 파일 수정 1_1. boardUpdate.jsp 수정 1_1)게시글 등록 시에 첨부파일을 포함하지 않은 경우 게시글 수정 시에 첨부파일을 등록할 수 있도록 수정 - Form 태그 속성 및 ajax 호출 방식을 변경하세요. - 첨부파일을 등록하는 로직은 이미 구현되어 있으므로, 게시글 수정 시 첨부파일을 최초로 등록하거나 삭제 후 재등록 시 files 정보만 넘겨주시면 벡엔드에서 따로 작업할 내용은 없습니다. 1_2)게시글 등록 시에 첨부파일을 포함한 경우 게시글 수정 시에 첨부파일을 삭제할 수 있도록 수정 - 삭제할 첨부파일의 정보를 저장할 전연변수 또는 input 태그를 선언하세요. (를 추가) - TB_BOARD_FILE 테이블에 PK는 BOARD_SEQ, FILE_NO이므로 ..
-
[Java] 웹 개발자(Java, Spring) 기술 면접 예상 질문Java/용어 2018. 12. 28. 09:44
웹 개발자(Java, Spring)로 취업을 준비하시는 분들을 위해서 기본적인 이론 내용을 정리했습니다. 기본적인 이론 내용과 진행한 프로젝트에 대한 내용을 정리한 후 면접에 보시면 좋은 결과가 있을 것라고 생각합니다. 모두들 좋은 결과가 있으시면 좋겠습니다:) 1. Java AVA는 썬 마이크로시스템즈(Sun Microsystems)에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어이다. 1) 운영체제에 독립적이다. 일종의 에뮬레이터인 자바가상머신(JVM)을 통해서 가능한 것인데, 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다. 자바로 작성된 프로그램은 운영..