728x90

Spring 26

Spring Scheduler 정리 (Spring Scheduler, Quartz)

스케쥴러(Scheduler)란? 특정한 시간에 등록한 작업을 자동으로 실행시키는 것 spring에서 scheduler는 대표적으로 2가지 방식을 제공한다. Spring Scheduler와 Quartz Spring Scheduler Spring Framework에서 기본으로 제공하는 Scheduler로 추가적인 의존(dependency) 설정이 불필요하다 @Component와 @Scheduled 어노테이션을 이용하여 사용이 쉽다. 기본적으로 1개의 Thread를 사용하여 동기 형식으로 진행 (@EnableAsync를 이용하여 비동기 형식으로도 사용 가능) @Slf4j @Component @RequiredArgsConstructor public class testScheduler { private final..

Spring 2023.02.13

Spring batch + 스케쥴러 사용 예제

출처) https://jojoldu.tistory.com/324?category=902551 1. Spring Batch 가이드 - 배치 어플리케이션이란? Spring Batch In Action이 2011년 이후 개정판이 나오지도 않고 (2019.03 기준), 한글 번역판도 없고, 국내 Spring Batch 글 대부분이 튜토리얼이거나 공식 문서 중 일부분을 짧게 번역한 내용들이라 대용량 시 jojoldu.tistory.com 배치란 일괄처리라는 의미를 가지고 있으며 다음의 조건을 만족해야만 한다. 1) 대용량 데이터 - 배치 어플리케이션은 대량의 데이터를 가져오거나, 전달, 계산하는 등의 처리를 할 수 ​​있어야 한다. 2) 자동화 - 배치 어플리케이션은 심각한 문제 해결을 제외하고는 사용자 개입 없..

Spring 2022.12.06

스프링 부트 - MyBatis 연동

Gradle을 이용하여 빌드를 진행하기 때문에 그에 맞춰 필요한 설정을 해준다, build.gradle에 dependency 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2' runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spr..

Spring 2022.12.04

스프링 부트 - Validator 검증

Validator는 사용자가 보낸 데이터에 대한 유효성 검사를 진행하는 것을 말한다. 이 유효성 검사는 두 단계로 진행하는 것이 보편적이다. 1. 클라이언트(브라우저, 사용자) : JS 2. 서버 : 파라미터 값을 검증 과거에는 이러한 검증방법이 회사마다 사용하는 곳마다 많이 달랐기 때문에 유지보수에 불리했지만 스프링에서는 Validator 인터페이스를 구현해놓았기 때문에 개발자들이 보다 일관된 코드를 작성할 수 있게 되었다. 사용자가 입력한 데이터를 확인하기 위한 Validator 예시 package com.kim.springboot; import org.springframework.validation.Errors; import org.springframework.validation.Validator;..

Spring 2022.10.26

스프링 부트 - 의존 주입

의존 주입은 1) new를 직접 수행해서 바로 사용 (강한 결합) 2) 미리 만들어진 객체를 할당받아서 사용 => DI 의존성 주입 (약한 결합) - 객체를 생성해주며 라이프사이클(생명주기)을 관리하고 의존 주입을 해준다 == 컨테이너 -> IoC 유지보수 용이 == 낮은 결합도, 높은 응집도 [의존 주입 방법] 1) .xml 2) 자바 코드 작성 3) @ @을 이용한 의존 주입 예시 1 각각의 예시 클래스들은 미리 작성해 둠 package com.kim.springboot.test; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configurat..

Spring 2022.10.25

스프링 부트 설치 및 시작

스프링 부트를 사용하게 되면 XML이 아닌 @을 사용하여 빈(Bean) 등록을 위한 설정파일(.xml)이 불필요해지므로 자바 코드만 보고서도 전체 내용 파악이 가능하게 된다. 라이브러리 관리 또한 pom.xml이 아닌 그레이들(GRADLE)을 사용하게 되면 .xml 대신 간단한 설정파일을 사용할 수 있다. 즉, 부트를 사용하게 되면 @을 사용하여 과도한 xml 설정이 필요 없어져 분석을 용이하게 할 수 있으며 외부 와스(WAS) 없이 내장된 톰캣 서버 사용이 가능하다. 또한 스트링 부트 스타터가 스프링 라이브러리 관리를 위한 자동 설정을 제공해준다. [스프링 부트 설치] 이클립스 추가 설치 or 사이트에서 직접 설치 https://spring.io/tools -> .jar 다운로드 확인 -> cmd .j..

Spring 2022.10.24

Spring Ajax를 사용한 정렬

ajax를 사용하여 컨트롤러(sortPrice.do)로 필요한 정보를 넘겨주고 result로 결과값을 받아와 상품을 새로 만들어 주었다. sortPrice.do 컨트롤러 스프링에서 주소가 아닌 값을 넘겨줄려면 @ResponseBody 어노테이션이 필요하다. @ResponseBody @RequestMapping(value="/sortPrice.do") public List sortPrice(ProductVO pVO, Model model) { List products=productService.selectAllProduct(pVO); return products; } 기존 화면 정렬 이후의 화면 낮은 금액순 높은 금액순

Spring 2022.10.07

Mybatis 프레임워크 스프링 연동

Mybatis에서 Spring 연동에 필요한 API를 제공하기 때문에 이를 사용하여 Spring 연동을 진행한다. 진행순서 1) pom.xml에 dependency 추가 org.mybatis mybatis-spring 1.2.4 아래의 설정과 충돌을 일으키는 경우가 있어 충돌 시 아래의 설정은 사용하지 않는다. org.apache.ibatis ibatis-core 3.0 2) db.properties 파일 삭제 datasource가 스프링 설정파일에 존재하기 때문에 db.properties 파일을 삭제한다. (스프링 설정파일에서 "dataSource"로 등록되어있음) 3) SqlSessionFactory 클래스(기존에는 SqlSessionBean 클래스 파일)를 스프링 설정 파일에 등록해야 한다. Myb..

Spring 2022.10.05

Mybatis 프레임워크

Mybatis는 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임 워크로서 JDBC를 통해 데이터베이스에 액세스 하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거한다. 한다. Mybatis에서는 프로그램에 있는 SQL 쿼리들을 한 구성 파일에 구성하여 프로그램 코드와 SQL을 분리할 수 있는 장점을 가지고 있다. 즉, Mybatis를 사용하는 이유로는 1) DB연동을 담당하는 JAVA 코드를 1~2줄로 줄일 수 있어 가독성이 증대된다. 2) SQL문을 JAVA 코드에서 분리하여 XML 파일로 별로 관리하여 응집도를 높일 수 있다. 따라서 기존의 일반 자바 JDBC와 ..

Spring 2022.10.04
728x90