토이프로젝트 2일차 회고록

두별·2022년 4월 13일
0

TIL

목록 보기
15/46

1. 프로젝트 구조

프로젝트 우클릭 > Module...
해당 프로젝트에 사용자 API를 구현할 server와
frontend, 관리자용 API admin server를 생성
이미지와 같이 하위 모듈에 생긴 porm.xml은 상위 모듈의 porm.xml 라이브러리를 끌어오기 때문에
사용자 API, 관리자 API를 따로 사용하더라도 한번에 관리할 수 있어서 편리하다!

2. SpringBoot MySQL 셋팅 (Maven)

  • Dependency 등록
    porm.xml
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
  • DB 셋팅
    application.properties
server.port=9090

spring.datasource.url=jdbc:mysql://204.236.172.167:3306/데이터베이스명?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=권한계정
spring.datasource.password=계정비번
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

mybatis.mapper-locations=classpath:mappers/**/*.xml

useSSL=?
HTTPS를 사용할때 데이터를 암호화 할건지에 대한 여부

3. Spring Annotation

  • SpringBootApplication
    스프링 부트의 가장 기본적인 설정을 선언
    - SpringBootConfiguration
    - EnableAutoConfiguration
    - ComponentScan

  • Controller
    요청을 처리한 후에 ViewName 반환

  • ResponseBody
    Controller를 사용하여 데이터를 반환해야하는 경우 사용, Json 형태로 객체 데이터를 반환

  • RestController
    Controller + ResponseBody
    데이터를 응답으로 제공하는 REST API를 개발할 때 주로 사용하며 객체를 ResponseEntity로 감싸서 반환

  • RequestMapping
    API URL (value), 어떤 메소드를 처리할지를 매핑
    @GetMapping, @PostMapping, @PutMapping, @DeleteMapping 등

  • RequiredArgsConstructor
    lombok을 사용한 의존성 주입
    의존성 주입 방법
    - 생성자 주입
    - Setter
    - Field

    아래 글이 예시가 다양해서 이해하기 쉬웠음 저분 노벨상 줘야함
    https://velog.io/@developerjun0615/Spring-RequiredArgsConstructor-어노테이션을-사용한-생성자-주입

느낀점

인강으로 공부했을 때는 잘 이해하지 못했던 의존성에 대한 개념을 이제는 좀 알 것 같다. Spring을 이래서 쓰는구나 .. Lombok이 정말 편리한거구나 .. 조금 이해하고 보니까 로직의 흐름을 이해하는데에도 도움이 많이 되는 것 같고 Spring 공부 해온 이래 오늘이 가장 재미있었다. 오늘 공부한 것 바탕으로 토이프로젝트에 필요한 API도 정리해봐야겠다!

0개의 댓글