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 |