전체 글
-
[스프링 부트 개념과 활용] 스프링부트 로그 설정SPRING/스프링부트 개념과 활용 2020. 12. 26. 14:34
보통 스프링에서 로그 관련 설정을 할 때 사용하는 라이브러리는 log4j, log4j2, logback 등을 사용한다. 스프링 부트에서는 기본적으로 logback을 제공해주기 때문에 logback에 대해서 정리하고자 한다. -> pom.xml spring-boot-starter-web 안에 spring-boot-starter-logging를 통하여 제공 위와 같이 Logger 설정을 한후 출력을 하면 콘솔창에 아래와 같이 출력한다. logback에 대한 세부 설정은 resources에 logback.xml이나 logback-spring.xml을 만들어준다. logback-spring.xml의 설정이다.
-
[스프링 부트 개념과 활용] 프로파일 관련 정리SPRING/스프링부트 개념과 활용 2020. 12. 25. 18:25
프로파일이란 ? 특정한 프로파일에서만 특정 동작(ex; Bean등록)을 하게 하고 싶을 때에 사용함. 프로파일 사용 예시 위와 같이 Configuration 파일을 작성하고 각각의 다른 Profile 어노테이션을 추가한다. 예를 들어 BaseConfiguration에서는 Profile이 prod일 때에만 적용이 되고, 그 외에는 사용되지 않는다. 위와 같이 hello를 Autowired로 주입 받아 바로 실행하면 Error가 발생함. 그 이유는 사용할 프로파일을 적용하지 않았기 때문이다. 아래 스크린샷과 같이 spring.profiles.active에 값을 주면 정상적으로 실행이 된다. ------------------------------------------------------------------..
-
[스프링 부트 개념과 활용] 외부설정 - @ConfigurationPropertiesSPRING/스프링부트 개념과 활용 2020. 12. 25. 01:17
@ConfigurationProperties properties 파일의 key값을 묶어서 Bean으로 등록이 가능하다. ex :) 아래와 같이 jump로 묶는 것이 가능함. @ConfigurationProperties 어노테이션을 사용하기 위해서는 아래와 같은 의존성을 추가해야 한다. org.springframework.boot spring-boot-configuration-processor true @Validated 어노테이션을 사용하기 위해서는 아래와 같은 의존성을 추가해야 한다. javax.validation validation-api 2.0.1.Final org.hibernate.validator hibernate-validator 6.0.7.Final properties 파일에 선언하였던, n..
-
[스프링 부트 개념과 활용] 외부설정 - Application.propertiesSPRING/스프링부트 개념과 활용 2020. 12. 24. 19:45
Application.properties - 애플리케이션에서 사용하는 여러 설정 값들을 정의할 수 있는 파일이다. - KEY- VALUE 형태로 어떤 값을 정의하면 애플리케이션에서 참조하여 사용한다. ${random.int} 와 같이 랜덤값 지정도 가능하다. 위와 같이 @Value 어노테이션을 사용하여 값을 출력할 수 있다. TESTCASE 작성 관련 외부설정 방법(Application.properties) 아래와 같이 test -> resources -> application.properties 를 생성해줍니다. crtl + alt + shift + s 단축키를 누르면 아래와 같이 Project Structure 가 뜹니다. 아래 화면과 같이 Modules 부분의 resources에서 Test Reso..
-
[스프링 부트 개념과 활용] SpringApplication 관련 정리SPRING/스프링부트 개념과 활용 2020. 12. 20. 12:20
Spring Boot 프로젝트에서는 프로젝트를 실행하는 방법이 아래와 같이 크게 3가지가 존재한다. 아래 소스의 2, 3번 방식의 경우 Customizing이 가능하다. @SpringBootApplication public class Application { /* // 1: 기본적인 STATIC METHOD 방식 public static void main(String[] args) { SpringApplication.run(Application.class, args); } // 2: 객체선언 방식 public static void main(String[] args) { SpringApplication app = new SpringApplication(Application.class); app.run(ar..
-
[스프링 부트 개념과 활용] 자동 설정 @EnableAutoConfigurationSPRING/스프링부트 개념과 활용 2020. 12. 13. 23:22
메인 클래스에 붙어 있는 @SpringBootApplication은 크게 3가지가 합쳐져 있다고 볼 수 있다. 1. @SpringBootConfiguration 2. @ComponentScan 3. @EnableAutoConfiguration 스프링 부트 어플리케이션은 Bean을 2번 등록한다. 처음에 ComponentScan으로 통하여 등록하고, 그 후에 EnableAutoConfiguration으로 추가적인 Bean들을 읽어서 등록한다. @ComponentScan 은 아래와 같은 Component들을 Scan 합니다. @Component @Configuration @Repository @Service @Controller @RestController @EnableAutoConfiguration Aut..
-
[RESTFUL 학습] JPA를 이용한 CRUD 심화(유저 -게시물 연동)SPRING/WEBSERVICE 2020. 10. 4. 01:03
개인 유저별로 작성할 수 있는 게시물에 대한 테이블을 JPA를 이용하여 작성하고 운영하려면, USER (1) ----> POST (N) 매핑이 되어야 된다. 즉 유저 1명 당 게시물이 0개 ~ N개의 글을 올릴 수 있기 때문에 해당하는 소스를 작성해야 된다. POST 객체 아래 대부분의 내용은 이전에 생성하였던 JPA Entity 내용과 동일하나, @ManyToOne(fetch = FetchType.LAZY) 어노테이션을 사용한 부분이 다르다. POST는 N에 해당하고 User는 1에 해당하기 때문에 ManyToOne 어노테이션을 사용하였다. import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.AllArgsConstructor; impor..