기본 환경 설정

김태은·2022년 5월 11일
0

코멘토 실무 과제

목록 보기
1/4
post-thumbnail

기본 환경 설정하기

  • Spring boot를 기반으로 프로젝트를 개발하고자 한다.
  • my batis 환경에서 my sql을 연동해 사용한다.
  • swagger.io를 이용하고자 한다.


1. spring initializr을 이용해 필요한 dependency를 추가하고 GENERATE버튼을 눌러 spring boot 파일을 다운받는다.


2. 다운로드한 파일의 압축을 풀어 원하는 장소에 저장한다.


3. 인텔리제이를 실행한 뒤 File -> Open을 선택 후 다운받은 파일을 연다.


4. application.properties에 DB Connection을 위한 DB 정보를 작성한다.


5. config 패키지를 생성한 뒤 DataSourceConfig를 작성한다.

@Configuration
public class DataSourceConfig {
    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }
}

@Configurtion

  • 어노테이션 기반 환경 구성을 도움
  • 이 어노테이션을 붙이고 클래스 내에 하나 이상의 @Bean 메소드를 구현하면 스프링 컨테이너가 Bean 정의를 생성하고 런타임 시 그 Bean 들의 요청을 처리할 것을 선언한다.

@ConfigurationProperties

  • 앞서 설명했던 외부 설정 파일(application.properties)을 참조할 때 쓰는 방법 중 하나이다.(ex. @Value)
  • application.properties의 key를 같은 값으로 시작하게 구현해두면(접두어), 이를 묶어서 Bean으로 등록할 수 있다. (여기선 spring.datasource로 구현해뒀음)
  • 즉, 위 코드처럼 prefix = "spring.datasource" 라고 하면 spring.datasource가 접두어로 붙어 있는 application.properties 값들을 참조할 수 있다.
  • 이 어노테이션을 @Bean이 붙은 메소드에 붙여주면 써드파티 컴포넌트(여기선 Datasource) 에 바인딩을 할 수 있다.
  • 즉, Datasource가 application.properties에 spring.datasource 로 시작되는 값들을 참조해서 쓴다는 것이다.

출처 : https://doozi0316.tistory.com/entry/Spring-Boot-MyBatis-MySQL-%EC%97%B0%EB%8F%99-%EB%B0%A9%EB%B2%95

  1. swagger.io를 이용하기 위한 환경을 세팅한다.

1) swagger 환경 설정

pom.xml에서 spring-boot 버전을 바꾼다. (2.6.7 -> 2.4.2)

dependency를 추가한다.

<!--swagger -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
</dependency>

SwaggerConfig를 추가한다.

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any() )
                .paths(PathSelectors.any())
                .build();
    }
}

2) 서버실행 후 Swagger UI 접속

-> 접속 완료

0개의 댓글