일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git
- 요리
- ReactJS
- javascript
- Web Server
- jenkins
- tool
- ubuntu
- IntelliJ
- MySQL
- Spring Boot
- jsp
- php
- java
- Spring Batch
- redis
- db
- it
- linux
- devops
- springboot
- AWS
- laravel
- Oracle
- Spring
- Gradle
- JVM
- 맛집
- elasticsearch
- Design Patterns
- Today
- Total
목록Spring (78)
아무거나
Ehcache build.gradle ... dependencies { ... // 캐시관련 설정을 편리하게 지원해주는 패키지 (CacheManager, EhCacheManagerFactoryBean 등의 bean 생성을 직접 안할수 있음) implementation 'org.springframework.boot:spring-boot-starter-cache' // Ehcache implementation group: 'net.sf.ehcache', name: 'ehcache', version: '2.10.6' } ... EhCache 설정 체크 관련 Component 추가 (CommandLineRunner를 통해 Application 실행시 무조건 run() 이 실행되도록 하여 CacheManager를..
소스: base-document/springsecurity.md at master · bkjeon1614/base-document (github.com) Spring Security + H2 DB + Swagger 연동시 페이지 접근 예외 처리 [SecurityConfig.java] import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configura..
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-..
Lombok 사용시 주의사항 (1.16 기준) lombok.config를 통하여 애노테이션 사용금지 및 각종 설정 config.stopBubbling = true lombok.data.flagUsage=error lombok.value.flagUsage=error lombok.val.flagUsage=error lombok.var.flagUsage=error lombok.nonNull.flagUsage=error lombok.allArgsConstructor.flagUsage=error lombok.requiredArgsConstructor.flagUsage=error lombok.cleanup.flagUsage=error lombok.sneakyThrows.flagUsage=error lombok.sy..
Intellij Lombok 사용 (Mac) Preference -> Plugins -> Browse Repositories 에서 Lombok Plugin 추가 Prepference -> Build, Execution, Deployment -> Compiler -> Annotation Processors "Enable Annotation Processors" 체크 Lombok Annotations @Getter @Setter Getter / Setter Method 생성(모든 필드의 타입에 맞추어 생성) Class에 적용하면 static을 제외한 모든 필드에 적용 AccessLevel 을 명시하지 않으면 public 종류: PUBLIC, PROTECTED, PACKAGE, PRIVATE, NONE 특정 ..
Field Injection이 아닌 Constructor Injection 사용하자 평소 개발시에 스프링쪽이라든지 타 포스팅을 참고하여 Field Injection이 아닌 Constructor Injection 을 지향하게 되었다. 하지만 그 당시 간략히 이해만하고 넘어간지라 최근에 해당 내용에 대해 설명을 해야할 일이 생겼을 때 간략한 내용만 전달하게 되어서 좀 더 자세한 내용을 다시 복습하고자 포스팅을 작성하게 된다. [의존성 주입의 종류] Setter Injection public class ExampleClass { @Autowired private ExampleService1 exampleService1; @Autowired private ExampleService2 exampleService2..
특정 패키지 내부의 원하는 클래스에 특정 메소드만 지정하여 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..
* 참고로 해당 포스팅은 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..
일반적으로 log4j를 사용하는 코드를 보자. log.debug("error message example") 위와 같은 방식으로 사용하는 경우가 있으며 아래 코드를 보자 if (log.isDebugEnabled()) { log.debug("error message example"); } 이렇게 되면 두번이나 체크하게 될텐데 효과적일까? 라는 의문을 갖게 된다. 예를 들어 log.debug("Entry Number: " + i + ", Value: " + String.valueOf(entry[i])) 이런식으로 디버깅을 사용한다고 하자. 이러면 메세지 파라미터를 생성할 때 String 연산들이 일어나게 되며 해당 작업은 메세지 로깅여부에 상관없이 항상 발생하게 되어 파라미터 생성 비용을 발생시킬 수 있다...
[springboot] JPA + QueryDSL + Predicate 에서 yyyy-MM-dd 형태의 날짜 조회 방법 * 조회할 날짜의 변수명을 registerdTime이라고 하며, DB에는 TimeStamp형식으로 저장된다. ( entity에는 LocalDateTime 속성임 ) 1. 파라미터값의 속성이 String인 registerdTime을 받아온다.(ex:yyyy-MM-dd 형식으로 받아오는걸로 가정) 2. 시작날짜와 끝 날짜를 구하는 공통 클래스를 만든다. [LocalDateParser.java] import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format..