부트가 뭐냐 사전에 많은 작업을 대신 해주는 것
기존에
beans,core,context,web,webMVC,ORM에 라이브러리 추가, xml 에 dependency주입 및 설정
파일 업로드 설정,Transaction 설정등을 또 다른 설정 등등을 했었는데, 스프링 Boot는 이런 것들을 자동으로 해준다.
프로젝트에 따라서 자주 사용되는 library들이 미리 조합되어 있다.
복잡한 설정을 자동으로 처리
톰캣과 같은 WAS를 추가로 설치하지 않아도 개발 가능
WAS에 배포하지 않고도 실행할 수 있는 jar파일로 Web Application을 개발할 수 있다.
부트에는 임베디드 방식으로 내장 WAS가 있기때문에!
APP안에 Main이 있다???
어플리케이션 안에 내장 톰캣이 있기때문에 main이 있을 수 있다.
이제 jar파일로 web Application을 개발할 수 있다.
jar=JAVA archaive file (자바 압출 파일)
근데
jsp는 jar에 포함되지 않음 -뷰가 없어지는 문제가 생김
그래서 REST API를 이용해서 데이터만 제공해주는 방식이 많이 쓰임. 그리고 프론트에서 뷰나 리액트로 처리해주는
방식이 요새 트렌드
만드는 법
쓰거나 STS에서 spring Starter Project로 만들면 된다.
아티팩트랑 네임이랑 맞춘다 보통
아티팩트랑 패키지랑 같을 필요가 없다.
패키지는 잘 기억해야한다. 3-depth com.ssafy.pakage- 이따가 중요한 역할을 한다.
rest는 jsp를 사용하지 않는다.
부트 프로젝트의 주요 파일
hellospringbootApplication.java - 어플리케이션을 시작할 수 있는 main method가 들어있다.
static - css,js,img,html 등의 정적 자원을 담음
담기만 하는게 아니라 담아놓으면 spring boot가 자동으로 경로를 찾아감.
templates - thymeleaf,Velocity,FreeMaker등 옛날에 많이 쓰는거들의 위치다.
근데 요샌 순수 html로 처리하기때문에 잘 안쓰인다.
application.properties 스프링 부트의 끝판왕
db,file-size,file-folder이런 것들이 이전엔root-context,servlet-context로 나눠서 사용했다.
하지만 이 모든 것들을 한방에 application.properties에 넣어서 설정한다.
src/main - 마지막 jsp사용이다.
+ 커스텀 설정이 가능하다.
실행방법
springbootapp누름
그럼 서버부터 알아서 실행됌
8080 , /board 이런건 이전에 server.xml에 설정했었음
스프링부트는 신기한 것들이 많다.
@Springbootanotation이 있고 여기 들어가면
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
요런 메서드가 있음 얘가 알아서 해준다.
***************************************************************************************************************************
컴포넌트 스캔은 Application.java가 있는 곳을 기본으로 한다.
그래서 다른 곳까지 스캔을 잡으려면
@ComponentScan(basePackages ={"com.ssafy.*.controller"})추가 해주면 됌 마치 상속처럼 적용이 된다.
***********************************************************************************************************************
프로퍼티의 주석은 #
프로퍼티에서 주석은 영어로 써야함.
스프링 부트는 디폴트로 jsp를 쓰게끔 해놨나 못쓰게 해놨나 -> 못쓰게 해놨따.
그래서 fom.xml에
<!-- JSP Setting -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
추가 해주면 된다.
부트는 씌펄 버젼도 알아서 맞춰준다.
버젼이 5.23이면 5.23이랑 칭구들 버젼도 호환잘되는 걸로 골라온다.
'스프링' 카테고리의 다른 글
스프링 짧은 지식 (0) | 2023.07.23 |
---|---|
Spring RequestContextHolder (0) | 2023.07.23 |
스프링 핵심 (0) | 2023.01.12 |
SpringMVC (0) | 2023.01.12 |
스프링(Spring) (0) | 2022.10.31 |