스프링 부트 16

자동 구성 라이브러리 만들기/사용

자동 구성 라이브러리 만들기 저번에 jar를 만들었던 프로젝트를 v2로 변경해서 파일을 추가함 @AutoConfiguration 스프링 부트가 제공하는 자동 구성 기능을 적용할 때 사용하는 어노테이션 @ConditionalOnProperty memory=on 이라는 환경정보가 있을 때 라이브러리를 적용 (스프링빈 등록) 라이브러리를 가지고 있더라도 상황에 따라서 해당 기능을 켜고 끌수 있게 유연한 기능을 제공 제일 중요한 부분! 자동 구성 대상으로 지정해주기 위해 파일을 생성해야함 파일명 주의! 위치 : src/main/resources/META-INF/spring/ (META-INF, spring 폴더 생성해야함) 생성 파일명 : org.springframework.boot.autoconfigure.A..

순수 라이브러리 사용

순수 라이브러리 사용 memory-v1.jar 라이브러리를 project-v1 에 적용 라이브러리 추가 project-v1/libs 폴더 생성 후 memory-v1.jar 복사&붙여넣기 project-v1/build.gradle 에 memory-v1.jar 추가 project-v1/libs 폴더 생성 후 memory-v1.jar 복사&붙여넣기 project-v1/build.gradle 에 memory-v1.jar 추가 후 Reload 라이브러리 설정 추가한 라이브러리를 스프링 빈으로 등록해 동작하도록 해야함 스프링 부트 자동 구성을 사용하지 않았기에 빈을 직접 등록함 실행 서버 실행 라이브러리 내부에 있는 어떤 빈을 등록해야하는지 알아야하고, 직접 등록해야함 복잡한 라이브러리였다면 상당히 힘들 것으로 예..

자동 구성 (Auto Configuration) - 1

자동 구성 (Auto Configuration) 자동 구성 예제 Member 를 만들고 Jdbc를 연결해 들어간 데이터가 맞는지 테스트 예정 Member 클래스 생성 DbConfig 클래스 생성 JdbcTemplate 을 사용해 회원 데이터를 DB에 보관하고 관리하는 기능 각 기능들을 스프링 빈으로 직접 등록 외부 DB 가 아닌 JVM 내부에서 동작하는 메모리 DB 사용 (H2) Repository 생성 Test 코드 @Transactional 어노테이션을 사용해 트랜잭션 기능 적용 TransactionManager 가 스프링 빈으로 등록되어 있어야 함 테이블 생성, 회원 저장, 조회 후 검증 JdbcTemplate , DataSource , TransactionManager 모두 사용했지만 스프링 빈으..

스프링 부트와 내장 톰캣 - 2

편리한 부트 클래스 만들기 부트 : 시작을 편하게 처리해주는 것 어노테이션 만들기 만든 어노테이션으로 컴포넌트를 스캔 하기 때문에 HelloConfig에 어노테이션은 주석 처리 프로젝트를 실행 시키는 main클래스 생성 (많이 본 형태임) 패키지 위치가 중요 (hello) 만든 어노테이션에 컴포넌트 스캔이 추가되어 해당 어노테이션이 붙은 클래스의 현재 패키지부터 하위 패키지까지 스캔 대상으로 사용 MySpringApplication.run(설정 정보, args) 실행하면 됨 @MySpringBootApplication 어노테이션과 MySpringApplication.run() 메서드만 기억하면 됨 내장 톰캣, 스프링 컨테이너 생성, 디스패처 서블릿, 컴포넌트 스캔까지 한번에 동작함 스프링 부트 프로젝트 ..

스프링 부트와 내장 톰캣 - 1

WAR 배포 방식의 단점 WAS 를 별도로 설치해야함 개발 환경 설정이 복잡함 배포 과정이 복잡함 톰캣 버전을 변경하려면 톰캣을 다시 설치해야함 외장 서버 VS 내장 서버 왼쪽은 WAS 를 실행해서 동작하는 방식, 오른쪽은 JAR안에서 WAS 라이브러리가 포함되는 방식 내장 톰캣 - 설정 서블릿 관련해서도 다 들어있음 내장 톰캣 - 서블릿 내장 톰캣 생성해서, 8080 포트에 연결 서블릿 등록 tomcat.addServlet() 서블릿 등록 context.addServletMappingDecoded() 서블릿 경로를 매핑 tomcat.start() 톰캣 시작 내장 톰캣 - 스프링 내장 톰캣 (8080) 포트 연결 스프링 컨테이너 빈 (Bean) 등록 스프링 MVC 디스패처 서블릿을 만들고 스프링 컨테이너..