본문 바로가기

반응형

⭐ SpringBoot

(68)
@Transactional # @Transactional 클래스, 메소드에 @Transactional이 선언되면 해당 클래스에 트랜잭션이 적용된 프록시 객체 생성가 생성된다. 프록시 객체는 @Transactional이 포함된 메서드가 호출될 경우, 트랜잭션을 시작하고 Commit or Rollback을 수행을 수행한다. CheckedException or 예외가 없을 때는 Commit을 수행 UncheckedException이 발생하면 Rollback을 수행 - 우선순위는 아래와 같다. 클래스 메소드 > 클래스 > 인터페이스 메소드 > 인터페이스 - 예제 어노테이션 @Transactional(readOnly = true) - Exception @Transactional(rollbackFor = Exception.class) - 끝 -
수동으로 빌드하기 with shellscript # 수동으로 빌드하기 - 수동 빌드를 하는 이유. 개발환경을 세팅하다보면 CI/CD를 구현하는 것보다 손이 좀 가지만 수동으로 빌드를 하는 경우 공수가 덜 드는 경우가 있다. (개발 환경 세팅이 아직 안된 상태에서 짧은 기간 확인을 위한 빌드 절차? 정도 생각하면 될 듯하다.) 빌드 프로세스는 아래와 같다. - 보통은 CI/CD를 통해 레포지토리에 업로드 후 빌드를 수행하여 확인을 하지만, 수동으로 하는 경우는 위와 같이 개발자가 IDE에서 직접 Commit / Push를 수행하고 EC2에서 git clone을 하여 수동으로 빌드를 수행한다. 1. IDE와 Git Repository 연동 - InteliJ를 예를들어 설명하자면, 아래와 같이 Git 메뉴에서 Manage Remotes 를 클릭한다. - R..
SpringBoot에 스케줄 적용하기 # SpringBoot에 스케줄을 적용해서 정기적으로 데이터를 CRUD 해보자.- 일단 스프링은 기능이 참 많은거 같다... 어노테이션... 시작해보자.1. 일단 main 클래스에 스케줄 어노테이션을 붙이자.- 복수의 클래스에 아래의 어노테이션이 있어도 무관하더라.@EnableScheduling @EnableBatchProcessing // 배치 기능 활성화2. Schedule 컨트롤러를 만들자.@Slf4j @RestController public class ScheduleController { @Autowired private ScheduleMapper scheduleMapper; @Scheduled(cron = "* * * * * *", zone = "Asia/Seoul") @PostMapping("..
@SpringBootApplication 의 의미 # @SpringBootApplication 의 의미 - 보통 메인 메소드에 해당 어노테이션을 붙여서 사용 하는 경우가 많다. 그럼 @SpringBootApplication이 가지고 있는 기능이 무엇인지 보면 아래와 같다. @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = {@org.springframework.context.annotation.ComponentScan.Filter(type = org.springframework.context.annotat..
SpringBatch 테스트 코드 및 실행 # SpringBatch 테스트 코드 및 실행하기 - 일단 테스트 용도로 SpringBoot 프로젝트에서 SpringBatch 코드를 작성해보자. 1. SpringBatch를 실행 하기위한 라이브러리를 build.gradle에 추가하자. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-batch', version: '2.4.4' testImplementation group: 'org.springframework.batch', name: 'spring-batch-test', version: '4.2.6.RELEASE' 2. SpringBatch를 실행 하기 위한 main 메소드를 생성한다. package com.tes..
<dto> dto에서 null값 제거하기 # dto에서 null값 제거하기 간단하다. dto 클래스에 아래의 내용 넣어주면 됨 @JsonInclude(JsonInclude.Include.NON_NULL) 결과는 아래와 같다. null 값이 제거된 항목만 도출 된다.
maven to gradle converting # maven 에서 gradle로 컨버팅 https://sagioto.github.io/maven2gradle/ Maven to Gradle Dependencies Converter maven 2 gradle Paste your maven dependencies here (with or without the dependencies root element): . Convert ⇨ . Go get 'em! You should paste something in! Oh snap! something went wrong sagioto.github.io
Mybatis 공식 사이트 # Mybatis 공식 사이트는 아래와 같다. https://mybatis.org/mybatis-3/ko/dynamic-sql.html MyBatis – 마이바티스 3 | 동적 SQL 동적 SQL 마이바티스의 가장 강력한 기능 중 하나는 동적 SQL을 처리하는 방법이다. JDBC나 다른 유사한 프레임워크를 사용해본 경험이 있다면 동적으로 SQL 을 구성하는 것이 얼마나 힘든 작업인지 mybatis.org - 위의 공식 사이트에서 여러가지 Mybatis 관련 정보들을 볼 수 있다.

728x90
반응형