프레임 워크 스프링부트 MVC+ Mybatis

robin Han·2023년 6월 13일
0

Spring

목록 보기
13/13

spring boot 의 특징
독립실행
Was 내장
Spring 의존성 라이브러리

스프링 부트

독립적으로 실행되는 스프링 기반 애플리케이션을 쉽게 만들수있게 하는 프로젝트
확장자 jar
톰캣, jetty 내장
별도의 톰캣 설정, web.xml 설정하지않는다
starter 패키지를 이용하면 기본적인 라이브러리에 대한 의존성을 제공하여설정을 최소화 할수있다 .

주요 애노테이션

@SprinBootApplication

스프링 부트 프로젝트 생성시 메인 클래스에 자동으로 생성하는 애노테이션
@SpringBootApplication = @SpringBootConfiguration + @ComponentScan + @EnableAutoConfiguration

  • @SpringBootConfiguration. = @Configuration 같은 의미
  • @ComponentScan = 명시한 클래스들을 찾아서 스프링 빈으로 등록해주는 애노태이션
  • @EnableAutoConfiguration = 사전에 정의된 라이브러리 대상을 조건으로 빈으로 등록해주는 애노테이션

SpringBoot Starter

  • 스프링 부트의 구성요소중 하나로 미리 정의한 의존 관계 라이브러리들을 묶어서 제공

  • speing-boot-starter-parent : 검증된 의존관계 버전정보 조합 제공

@Transaction 애노테이션과 자바 설정 차이

애노테이션: 특별한 설정 없이 쉽게 사용할수있고, 원하는 곳에서만 트랜잭션 설정하여 성능에 영향을 최소화 할수있다
하지만 에노테이션이 누락되거나 여러 메서드에 사용되면 트랜잭션이 적용되지 않을수있고, 외부 라이브러리에는 적용이 불가하다.

자바: 공통으로 트랜잭션이 적용되기 때문에 트랜잭션이 누락될일이 없다 , 외부 라이브러리에도 적용 가능하다
하지만 트랜잭션이 필요없는곳 까지 적용되어 성능에 영향을 미친다, 원하는곳에만 적용하기 힘들다 , 모두 rollback처리된다.

예외 처리

@ExceptionHandler : 컨트롤러 별 예외처리

@ControllerAdvice: 전역으로 예외처리

-------------------MemberControllerAdvice.java
@Component 
@ControllerAdvice
public class MemberControllerAdivce{
	@ExceptionHandler(Exception.class){
    	e.prtinStackTrace();
        model.addAttribute("exception", e);
        return "member/error";
    }
}

0개의 댓글