전체 글
-
Spring-Boot-Devtools백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 4. 21. 08:38
Spring-Boot-Devtools 스프링 부트가 제공하는 optional한 tool이다. 기본적으로 적용되는 것이 아니다. 아래와 같이 의존성을 추가해줘야한다. 아래의 의존성을 추가하게되면 기본적으로 제공되는 properties들이 바뀌는 것들이 존재한다. 캐쉬관련된 항목들이 개발환경에 맞게 변경이 된다.(캐쉬관련된 항목들이 false로) org.springframework.boot spring-boot-devtools re-start 코드가 수정이 될 때 스프링 애플리케이션이 재실행이된다. restart classloader를 사용하여, 애플리케이션을 실행 후, 코드 수정하고 빌드만 해주면, 서버가 재시작 된다. 이것이 restart기능이다. 스프링 부트는 클래스로더를 2개 사용한다. base cl..
-
테스트백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 4. 16. 23:43
테스트란 테스트 파일에는 @SpringBootTest가 아래와같이 붙어있다. @SpringBootTest 어노테이션은 @SpringBootApplication 어노테이션이 붙어있는 스프링 메인 애플리케이션을 찾아간다. 이후 메인부터 시작하는 모든 Bean을 찾는다. 다음으로는 테스트용 애플리케이션 context를 만들면서 Bean을 등록해준다. 이 중에 MockBean에 해당되는 Bean을 찾아서 교체를 해준다. 교체된 MockBean은 테스트마다 리셋이된다. 테스트 예시 코드 @RestController public class SampleController { @Autowired private SampleService sampleService; @GetMapping("hello") public Stri..
-
스프링 부트 기본 로거 설정백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 4. 16. 09:03
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html - 커스텀로그 설정 파일 사용 https://docs.spring.io/spring/docs/5.0.0.RC3/spring-framework-reference/overview.html#overview-logging - spring 5 로거 관련 변경 사항 스프링 부트가 사용하는 로깅 원리 스프링 보트 기본적으로 Commons logging을 사용한다. 리소스 코드에서도 SLF4j를 사용하면 됨 SLF4j가 더 안정적인데 Commons logging을 사용한는 이유는 스프링 코어를 개발 할 때 SLF4j가 존재하지 않아서이이다. CommonsLogging과 SL..
-
프로파일백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 4. 14. 09:04
백기선님이 자기가나오는 화면이 크다고 자책하시면서 작게 하셨다. 예전부터 느꼈던건데.. 수정해주시다니 감사할따름이다. 프로파일 이것을 보기 전 전에 정리한 내용을 한 번 돌아보자 2020/03/17 - [백기선 Spring/스프링 프레임워크 핵심 기술] - IoC 컨테이너와 빈 (3) - Enviornment - 프로파일 특정 프로파일에만 Bean을 등록하고 싶거나, 애플리케이션의 동작을 특정 프로파일일 때만 동작할 때 사용 @Configuration이란 어노테이션기반 환경구성을 도운다., 클래스가 하나이상의 @Bean 메소드를 제공하고 스프링 컨테이너가 Bean정의를 생성하고 런타임시 그 Bean들의 요청을 처리할 것을 선언하게 된다. spring.profiles.active(프로파일 활성화) 각각 프..
-
외부 설정 2부백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 4. 13. 22:10
@ConfigurationProperties properties이 아래와같이 시작을 하면 이것을 묶어서 Bean으로 등록이 가능하다. properties의 값은 기본적으로 문자열이다. @ConfigurationProperties 을 붙여주고 key값을 적어준다.(key값은 properties에 만들어둔 jinseok) 그리고 @Component를 붙여 Bean으로 등록해주고 아래와같이 getter, setter를 만들어준다. @Component @ConfigurationProperties("jinseok") public class JinseokProperties { String name; int age; String fullName; public String getName() { return name; ..
-
외부 설정 1부백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 4. 13. 08:27
외부 설정 application.properties key - value 형태로 properties에 작성 @Component public class SampleRunner implements ApplicationRunner{ @Value("${jinseok.name}") private String name; @Override public void run(ApplicationArguments args) throws Exception { System.out.println("====================================="); System.out.println(name); System.out.println("====================================="); } } ..
-