[AOP] SpringBoot AOP 사용하기
·
프로그램/JAVA
안녕하세요! 프뚜입니다. Spring에서 AOP(Aspect Oriented Programming)을 사용하려고 합니다. [개발 환경] - OS: Windows 10 64bit - JAVA: 1.8 # build.gradle 추가하기 // 2022.12.16[프뚜]: AOP implementation 'org.springframework.boot:spring-boot-starter-aop' # AOPConfig 설정하기 @Component @Aspect public class AOPConfig { // 2022.12.15[프뚜]: @Before(이전) > 어드바이스 타겟 메소드가 호출되기 전에 어드바이스 기능을 수행 // 2022.12.15[프뚜]: @After(이후) > 타겟 메소드의 결과에 관계없이(..
[JWT] Spring Interceptor 세팅 및 사용하기
·
프로그램/JAVA
안녕하세요! 프뚜입니다. 이전에 JWT 인증을 기준으로 Interceptor를 구현하려고 합니다. 이전 포스팅을 참조하시길 바랍니다. [JAVA] SpringBoot에서 JWT 설정 및 사용하기 (JJWT) [개발 환경] - OS: Windows 10 64bit - JAVA: 1.8 # Interceptor 설정하기 @RequiredArgsConstructor @Component public class JwtInterceptor implements HandlerInterceptor { private final JwtService jwtService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse resp..
[JAVA] SpringBoot에서 JWT 설정 및 사용하기 (JJWT)
·
프로그램/JAVA
안녕하세요! 프뚜입니다. 이전에 JWT 관련해서 포스팅했지만, 내용이 부족하고 소스가 없는 관계로 자세한 설명과 소스를 첨부하려고 합니다. [JWT] 토큰 환경 설정 및 생성 [JWT] 토큰 인증 및 payload 확인 [개발 환경] - OS: Windows 10 64bit - JAVA: 1.8 # build.gradle 설정하기 // 2022.12.15[프뚜]: JWT implementation("io.jsonwebtoken:jjwt:0.9.1") implementation('javax.xml.bind:jaxb-api:2.4.0-b180830.0359') # application.properties에 secretKey 넣기 # 2022.12.15[프뚜]: token key 유실 X pddu.jwt.ke..
[JAVA] SpringBoot 자동 리로드(liveReload) 설정 및 사용방법
·
프로그램/ETC
안녕하세요! 프뚜입니다. java, xml 등의 파일이 변경되면 server를 재시작해야 반영됩니다. 과거에는 jrebel을 통해서 서버 재실행을 하지 않고 사용했습니다. SpringBoot에서는 jrebel없이 사용할 수 있습니다. [개발 환경] - OS: Windows 10 64bit - JAVA: 11 build.gradle에 추가하기 // 2022.12.12[프뚜]: 소스코드 자동 리로딩 implementation("org.springframework.boot:spring-boot-devtools:2.7.6") Settings > Build, Execution, Deployment > Compiler > Build project automatically 체크하기 Edit Configurations..
[SpringBoot] Redis에서 keys VS scan 사용하기 (keys 대신 scan)
·
프로그램/JAVA
안녕하세요! 프뚜입니다. Redis는 Single Thread 아키텍처입니다. 블로킹의 영향으로 성능이 저하되고 장애가 발생할 수 있으므로 프로덕션 환경에서는 절대 사용하지 말아야한다고 알려져 있습니다. Redis > Keys는 Global Pattern으로 간단하게 모든 Key를 조회할 수 있고, 40ms 내에 100만 개의 key가 존재하는 데이터베이스를 스캔할 수 있다고 합니다. 하지만, 명령이 실행되는 도중에는 다른 모든 명령의 실행이 블로킹된다는 점 입니다. Redis > Scan은 non-blocking으로 비교적 안전하게 사용할 수 있습니다. 작은 단위로 증분 반복 순회를 하면서 데이터베이스를 스캔하기 때문입니다. [개발 환경] - OS: Windows 10 64bit - JAVA: 1.8 ..
[ELK] SpringBoot + ELK 연동 및 사용하기
·
프로그램/JAVA
안녕하세요! 프뚜(프로그래머 뚜)입니다! SpringBoot에서 API, AUTH, PORTAL log를 생성 후 출력합니다. Logstash에서 생성된 로그 파일을 input으로 가져옵니다. Logstash에서 가져온 로그를 filter를 통해 정리 후 ElasticSeach로 보냅니다. Kibana에서 ElasticSearch 설정 및 UI를 제공합니다. [개발 환경] - OS: windows 10 64bit - JAVA: 1.8 - ElasticSearch: 7.2.0 - Logstasg: 7.2.0 - Kibana: 7.2.0 1. SpringBoot > logback.xml 설정하기 // 2022.11.23[프뚜]: logback implementation 'net.logstash.logback..
[SolrJ] spring boot + solrj 연동 및 사용하기
·
프로그램/JAVA
안녕하세요! 프뚜(프로그래머 뚜)입니다! solrJ를 통해서 solrJ와 통신할 수 있습니다. [개발 환경] - OS: windows 10 64bit - JAVA: 1.8 1. solrj > gradle 추가하기 implementation 'org.apache.solr:solr-solrj' 2. Solrj 사용하기 // 2022.11.24[프뚜]: 주키퍼(3개) private String[] zookeepers = { "192.168.0.100:7777", "192.168.0.101:7777", "192.168.0.102:7777" }; // 2022.11.24[프뚜]: 연동 private CloudSolrClient solrClient = new CloudSolrClient.Builder( Arrays..
[JPA] Spring boot JPA 연결 및 사용하기
·
프로그램/JAVA
안녕하세요! 프뚜(프로그래머 뚜)입니다! [개발 환경] - OS: windows 10 64bit - DB: PostgreSQL 15.0 1. gradle 추가하기 // 2022.10.28[프뚜]: postgreSQL implementation 'org.postgresql:postgresql:42.5.0' // 2022.10.28[프뚜]: log4jdbc-log4j2 implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1' // 2022.10.28[프뚜]: JPA implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // 2022.10.28[프뚜]: lombok compil..
프뚜
'SpringBoot' 태그의 글 목록