SpringBoot
-
테스트백기선(인프런 강의)/스프링 부트 개념과 활용 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("====================================="); } } ..
-
-
내장 웹 서버 이해백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 4. 7. 08:45
스프링 부트는 스프링을 편리하게 사용하는 기능을 제공하는 것이지 스프링 부트 자체는 서버가 아니다. 아래의 코드는 내장 tomcat를 구현해서 만드는 코드이다. public class Application { public static void main(String[] args) throws LifecycleException { Tomcat tomcat = new Tomcat(); tomcat.setPort(8090); Context context = tomcat.addContext("/", "/"); HttpServlet servlet = new HttpServlet() { @Override protected void doGet(HttpServletRequest req, HttpServletRespons..
-
자동설정 만들기백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 4. 6. 12:28
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-developing-auto-configuration Starter와 Autoconfigure Xxx-Spring-Boot-Autoconfigure 모듈: 자동 설정 Xxx-Spring-Boot-Starter 모듈: 필요한 의존성 정의 그냥 하나로 만들고 싶을 때는? Xxx-Spring-Boot-Starter 자동설정 구현 - 의존성 추가 pom.xml 에서 아래와같이 의존성을 추가해준다. org.springframework.boot spring-boot-autoconfigure org.springframework.boot spring-boot-autoco..