Spring

Framework/Spring😊

[Spring] Batch 와 Scheduler 의 차이와 Scheduler사용법과 예제

1) Batch(배치) 란? Spring Batch는 대량 데이터 처리에 최적화된 프레임워크입니다. 복잡한 데이터 변환, 처리 및 전송 작업에 적합합니다. 배치 작업이 장애로 인해 실패한 경우, 다시 시작할 수 있는 기능이 있습니다. 이 경우에는 데이터 삭제 작업이 단순한 작업이라도 복잡한 전처리가 필요하지 않으므로 Spring Batch를 사용하기에는 과도한 기능을 가지고 있을 수 있습니다. 2) Scheduler(스케쥴러) 란? Spring Scheduler는 일정 간격으로 작업을 실행하는 스케줄링 기능을 제공합니다. 크론표현식을 사용하여 스케줄을 설정할 수 있으며, 작업이 간단할 때 사용하기에 적합합니다. 이 경우, 단순한 데이터 삭제 작업을 반복적으로 수행하기 때문에 Spring Scheduler..

Framework/Spring Boot😊

[Spring boot] spring security 을 사용한 로그인 구현

[Spring Security란] Spring Security는 Spring 기반의 애플리케이션의 보안(인증(Authentication과 권한, 인가(Authorization) 등)을 담당하는 스프링 하위 프레임워크이다. 기본 동작방식으로는 서블릿의 필터와 인터셉터로 처리된다. 스프링기반의 어플리케이션의 보안을 담당하는 프레임워크로써 사용자인증과 권한에대한 강력한 기능을 갖게된다. version spring boot 2.6.3 jdk 1.8 gradle 7.4.1 1. gradle 의존성추가 bulid.gradle 에 해당내용 추가 (어디서봤는데 버전은 다 맞춰주는게 좋다더라..) // https://mvnrepository.com/artifact/org.springframework.security/sp..

Server/Server

[Tomcat] 2개 서버 localhost 에서 세션 끊길때

개발을 하다보면 로컬에서 A, B 두개의 각기다른 WAS 서버로 구동하는 프로젝트가 있다. A 라는 사이트에서 로그인을하고 B 사이트에서 페이지이동이나 새로고침을하게되면 A 사이트에서 로그인이 끊기는 경우가 종종 발생한다. JSessionID 가 두개의 프로젝트에서 같은 세션 아이디로 저장이 되어서 충돌하기때문에 발생하는 문제이다. TOMCAT 에서는 서비스에따라 JSessionID의 세팅을 각각 해줄수있다. server.xml에서 context 부분에 를 추가해주면 각기다른 세션아이디가 설정이되기때문에 A, B 둘중의 하나의 프로젝트만 세팅해주면 해결된다. 그리고 실제로 도메인을갖고 운영되는 사이트는 세션 세팅을 따로해주지 않아도 충돌이 나지않는다. (localhost 에서만 발생하는 오류)

Framework/Spring😊

[SPRING] MYBATIS, JDBC 차이

JDBC(Java Database Connectivity) 개념 JDBC는 DB에 접근할수있도록 JAVA에서 제공해주는 API 이다. DB 종류에 상관없다. JDBC 흐름 1) JDBC 드라이버 로드 2) DB 연결 3) DB에 SQL문 작성 4) DB 연결 종료 JDBC 드라이버 종류 DBMS 별로 알맞은 JDBC 드라이버가 필요하다. MYSQL : com.mysql.jdbc.Driver ORACLE : oracle.jdbc.driver.OracleDriver MSSQL : com.microsoft.sqlserver.jdbc.SQLServerDriver QUBRID : cubrid.jdbc.driver.CUBRIDDriver JDBC URL DBMS 별로 다르다. 구성 : jdbc:[DBMS]:[데이터..