일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- Web Server
- JPA
- elasticsearch
- 맛집
- MySQL
- springboot
- java
- db
- 요리
- javascript
- Oracle
- redis
- IntelliJ
- jenkins
- ubuntu
- Gradle
- tool
- Design Patterns
- jsp
- linux
- AWS
- laravel
- php
- Spring Boot
- it
- devops
- Spring
- ReactJS
- Git
- Today
- Total
목록Spring Boot (29)
아무거나
Library Document Jasypt를 활용한 Application Property 암호화 Application.yml 에다 보통 DB 접속정보등의 데이터가 기재되어있다. 이러한 내용을 외부에서 탈취해갈 위험성을 대비하여 jasypt를 활용하여 보안을 강화하자 http://www.jasypt.org/download.html 에서 jasypt 다운 (1.9.2 버전 기준) 압축 풀고 cmd에서 bin 폴더로 이동 (./file/jasypt-1.9.3/bin) encrypt input="bkjeontest!@" password="bkjeon!@" algorithm="PBEWITHMD5ANDDES" (온라인 암/복호화 사이트 https://www.devglan.com/online-tools/jasypt-..
특정 패키지 내부의 원하는 클래스에 특정 메소드만 지정하여 Aspect 적용 의존성 추가 [build.gradle] ... implementation 'org.springframework.boot:spring-boot-starter-aop' ... Bean 등록 [Application.java] @Bean public SelectLogAspect selectLogAspect() { return new SelectLogAspect(); } Controller 생성 [CrudController.java] import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.a..
Spring Boot + Mybatis + Mysql 을 활용한 계층형(=hierarchy) 게시판 구현 테이블 설계 CREATE TABLE `tb_board` ( `BOARD_NO` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '게시판 고유 값', `GROUP_NO` int(11) unsigned NOT NULL COMMENT '게시판 그룹번호 (원글은 자신의 값)', `SORT_SEQ` int(2) unsigned NOT NULL COMMENT '게시글 정렬 순번', `BOARD_LVL` int(2) unsigned NOT NULL COMMENT '게시글 레벨(depth)', `BOARD_TITLE` varchar(45) NOT NULL COMMENT '게시..
* 참고로 해당 포스팅은 Aspect가 gradle 디펜던시에 추가되어있다는 가정하에 진행 원하는 패키지 경로 안에 그 하위에 *Service로 끝나는 파일들만 Aspect 적용 import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.Signature; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; @Component @Aspec..
[springboot] elasticsearch 5.x 사용(transportClient) elasticsearch는 자바로 개발되었다. 그래서 9300 포트는 자바 네이티브로 API개발이 가능하다. 자바 관점에서 API 분류 - 자바 네이티브 API - TransportClient, NodeClient - HTTP Rest API - restTemplate/Apache HttpClient와 같은 툴로 직접 연결, Jest **** 해당 내용은 NodeClient와 TransportClient로 개발이 쉽게 가능하다는 장점이 있다. 그러나 공식적으로 쓰지 않기를 권고 하고 있다. 기능이 추가되어 버전이 올라갈 때 모델이 바뀌고 있다는 점을 현재 강조하고 있으며, 9200포트를 이용하여 REST API로 ..
스프링 부트는 2014년부터 개발된 스프링의 하위 프로젝트 중 하나입니다. 단독으로 실행이 가능하고(stand-alone), 제품 수준의(production-grade) 스프링 기반 어플리케이션을 제작하는 것을 목표로 진행된 프로젝트입니다. 스프링부트의 주요 기능들은 - 단독 실행이 가능한 수준의 스프링 어플리케이션 제작이 가능 - 내장된 Tomcat, Jetty, UnderTow 등의 서버를 이용해서 별도의 서버를 설치하지 않고 실행이 가능 - 최대한 자동화된 설정을 제공 - XML 설정 없이 단순한 설정 방식을 제공 이러한 특징들을 요약하면 스프링 부트는 '단독으로 빠르게 개발 가능한 스프링 프로젝트' 제작용입니다. 처음 스프링 프레임워크를 사용했을 때 많은 XML파일을 설정해가며 개발을 하던 게 어..
Spring Boot 기준으로 작업하는 도중에 실행되는 SQL Log를 직접 콘솔에서 확인하고 싶었다.그래서 logback.xml에서 아래와 같이 설정하면 된다. [logback.xml]level을 DEBUG로 해놓아야지만 로그가 출력된다. INFO로 설정하면 출력되지 않는다.logger name은 출력하고 싶은 패키지 경로를 지정하면 된다. ... * 출력은 아래와 같이 패키지 경로와 메소드명, 그리고 쿼리문과 파라미터 및 개수 등이 출력된다.
Client(=User) -> Web Server -> API Server 로 구성되어 있는 하나의 시스템에서 서버 설정에 따라 크로스 도메인 이슈가 발생하곤 한다. 그래서 java 소스상에 @Configuration을 선언하고 WebMvcConfigurerAdapter를 상속받아 오버라이딩하여 메소드를 작성하면 해당 이슈는 해결된다. import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import..
해당 포스트는 Spring Boot와 VueJS를 연동하는 과정을 작성했다. 1. Gradle에 Thymeleaf 설정dependencies { compile('org.springframework.boot:spring-boot-starter-thymeleaf') compile('org.springframework.boot:spring-boot-starter-web') .... } 2. src/main/resources/application.yml 설정 ( thymeleaf의 경우 html5 모드가 기본으로 설정되어 있어 아래의 설정을 추가해주어야 meta tag로 인한 에러가 발생하지 않는다. )spring: profiles: local .... thymeleaf: cache: false mode: LE..