onnnzeoz
Published 2023. 5. 25. 17:25
spring boot 스프링부트 Spring Boot

spring boot

스프링을 편리하게 사용할 수 있게 하는 도구

특징

1. REST API를 작성하기에 적합하다

2. jsp를 지원하지 않는다

따로 라이브러리 지정해줘야한다

 <!-- jsp 관련 jasper -->      
      <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper -->
      <dependency>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>tomcat-jasper</artifactId>
          <version>9.0.71</version><!-- 톰캣 버전에 맞게(dynamic module 4.0 부터는 tomcat 9.0 이상 사용 해야 한다.) -->
      </dependency>

      <!-- jsp 관련 jstl -->
      <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
      <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>jstl</artifactId>
      </dependency>

3. 내장 tomcat이 있어 tomcat 설치 없이도 서비스 작동이 가능

4. 독립된 자바 프로그램(JAR)으로도 만들 수 있음

스프링에서는 WAR라는 압축파일을 톰캣에 던져서 프로그램을 시작했지만, 스프링부트는 JAR를 클릭하여 바로 실행시킬 수 있음

war를 톰캣이 있어야 사용가능함

jar을 통해 톰캣 없이 혼자 돌아가게도 가능하다(내장톰캣 덕분에 가능함)

 

 

Controller

@RestController를 사용하면 @ResponseBody를 사용하지 않아도된다

(@ResponseBody는 자바객체를 JSON형태로 반환해서 HTTP BODY에 담는 어노테이션/스프링에서 비동기처리를 하는 경우 사용된다)

 

Cross domain issue

- 기본적으로 view와 server는 같은 도메인에 존재하는데 

다른 도메인에 존재한다면 ajax통신을 보안상 막는것

->@CrossOrigin을 사용하면 통신할 수 있다

- @CrossOrigin : 모든 url에 대해 적용

- @CrossOrigin(origins={"허용하는 url만 넣어주기"}) : 명시된 url에 대해서만 적용

- class위에 위치한다면 class 내 모든 요청에 대해 적용, 특정 method 위에 위치한 경우 걔만 적용

 

Logger적용

스프링 부트에서 logger는 기본 내장되어있다ex) logging.level.root=inforoot는 모든 패키지만약 com.boot.main라면 com.boot.main 패키지

 

Mybatis연동

스프링부트에서는 프로젝트 생성시 필요한 라이브러리를 추가할 수 있다

Mybatis연동을 위해선 Mybatis Framework 와 MariaDB Driver 를 선택 해 주면 된다.

db 접속 정보는 application.properties에 명시해주기

 

sql 로그도 찍어주려면

1. pom.xml에 라이브러리를 추가

2. application.properies에서 설정 바꿔주기

3. src/main/resources에 파일 2개 추가

4. application.properies에서 로그레벨 지정해주

 

 

 

'Spring Boot' 카테고리의 다른 글

11_WebClient와 12_ApiServer를 한 이유  (0) 2023.06.01
WebClient  (0) 2023.05.31
필드 주입과 생성자 주입, rest, @RestController  (0) 2023.05.30
GetMapping, PostMapping, hashmap단점, 쿼리로그 찍기  (0) 2023.05.25
log4j.xml  (0) 2023.05.23
profile

onnnzeoz

@onnnzeoz

비전공자의 개발 공부 일지입니다 💦 국비 풀스택 과정 수강중