spring boot 의 특징
독립실행
Was 내장
Spring 의존성 라이브러리
독립적으로 실행되는 스프링 기반 애플리케이션을 쉽게 만들수있게 하는 프로젝트
확장자 jar
톰캣, jetty 내장
별도의 톰캣 설정, web.xml 설정하지않는다
starter 패키지를 이용하면 기본적인 라이브러리에 대한 의존성을 제공하여설정을 최소화 할수있다 .
스프링 부트 프로젝트 생성시 메인 클래스에 자동으로 생성하는 애노테이션
@SpringBootApplication = @SpringBootConfiguration + @ComponentScan + @EnableAutoConfiguration
스프링 부트의 구성요소중 하나로 미리 정의한 의존 관계 라이브러리들을 묶어서 제공
speing-boot-starter-parent : 검증된 의존관계 버전정보 조합 제공
애노테이션: 특별한 설정 없이 쉽게 사용할수있고, 원하는 곳에서만 트랜잭션 설정하여 성능에 영향을 최소화 할수있다
하지만 에노테이션이 누락되거나 여러 메서드에 사용되면 트랜잭션이 적용되지 않을수있고, 외부 라이브러리에는 적용이 불가하다.
자바: 공통으로 트랜잭션이 적용되기 때문에 트랜잭션이 누락될일이 없다 , 외부 라이브러리에도 적용 가능하다
하지만 트랜잭션이 필요없는곳 까지 적용되어 성능에 영향을 미친다, 원하는곳에만 적용하기 힘들다 , 모두 rollback처리된다.
-------------------MemberControllerAdvice.java
@Component
@ControllerAdvice
public class MemberControllerAdivce{
@ExceptionHandler(Exception.class){
e.prtinStackTrace();
model.addAttribute("exception", e);
return "member/error";
}
}