학원 수업 35일차 221011
스프링 시작!
- 9-10
과제 리뷰!
팝업창 vs 모달창
- 11-12
스프링 설정!
Help > Eclipse Marketplace > sts 검색(Spring Tools Suite) > Spring Tools 4 인스톨 > Confirm > 기다렸다가 뜨면 accept > finish
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#web.servlet.embedded-container.jsp-limitations
docs 스프링 부트 참조 문서
8. Web > 8.1.3. Embedded Servlet Container Support > JSP Limitations
When running a Spring Boot application that uses an embedded servlet container (and is packaged as an executable archive), there are some limitations in the JSP support.
JSP파일을 잘 쓰지 않는 걸 추천드리긴 하지만 실제론 많이 씀
공식적으로 JSP엔진을 지원하지 않아요 추가로 설치해야 함
8. Web > 8.1. Servlet Web Applications > 8.1.1. The “Spring Web MVC Framework” > Template Engines
JSP 보단
Spring Boot includes auto-configuration support for the following templating engines:
- FreeMarker
- Groovy
- Thymeleaf (추천! JSP랑 비슷)
- Mustache
이런 애들을 추천드려요
우리는 Thymeleaf 를 프론트 디자인에 쓰도록 할게요
Maven XML기반
Gradle 그루비 언어 기반 -> 요걸로 가볼게요
Maven vs Gradle ?
- 12-1
New > Spring Starter Project > 이름 적고 Type : Gradle Project, Packaging : War, Java version : 11, Package이름 확인 후 Next
> Developer Tools 에서 Spring Boot DevTools, Lombok, Spring Configuration Processor 선택, 아래 SQL에서 MyBatis Framework, Oracle Driver 선택하고,
아래 Template Engines에서 Thymeleaf, 아래 Web에서 Spring Web 선택(7개)
아래 Progress 탭에서 진행상황 확인할 수 있음
start.spring.io에서도 파일 생성 가능
https://spring.io/quickstart
스프링의 가장 큰 특징
dependency 의존관계
dependency injection 의존성 주입 (DI)
예시> 옛날핸드폰 배터리 교체하듯이.. 조립만 해서 쓰시면 됩니다
maven도 만들어보자
New > Spring Starter Project 여기서 Type만 Maven Project로 만들어
*바로 New에서 Maven Project 아님
/springWeb01/build.gradle 설정파일
수정하고 나면 프로젝트 우클릭 > Gradle > Refresh Gradle Project 눌러주고 실행해야함
> Run As > Spring Boot App
크롬 열어서 주소창에 http://localhost:8080/ 치고 여기 열어보면 됨
- 2-3
New Spring Starter Project Dependencies
SQL > Spring Data JPA (자바기반 DB컨트롤)
maven repository
https://mvnrepository.com/
https://mvnrepository.com/search?q=jpa
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa/2.7.4
HikariDataSource
hikari connection pool 히카리
https://code-lab1.tistory.com/209
MyBatis Spring Boot Starter
http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
Quick Setup : Will create and register an instance of a SqlSessionTemplate got out of the SqlSessionFactory
- 3-4
(MybatisConfig.java)
https://mybatis.org/spring/getting-started.html 참고하여 작성
Bean이 뭔 말이야? 싱글톤을 구현하는 코드
스프링 빈(Spring Bean)이란? 개념 정리
https://melonicedlatte.com/2021/07/11/232800.html
- 4-5
빈? 싱글톤?
https://devjem.tistory.com/11
Spring에서는 ApplicationContext라는 이름으로 쓰고있는 컨테이너가 존재(보관장소)
이 안에 저장되어 있는 객체들을 '빈'이라고 부름
/springWeb01/src/test/java/com/green/nowon/SpringWeb01ApplicationTests.java
테스트 실행시 우클릭 > Run as > JUnit Test
BoardMapper.java (웹mybatis처럼 xml이 아닌, 인터페이스로 만들게요)
- 5-6
/springWeb01/src/main/java
여기에는 자바코드만 만들고
나머지는 여기에 /springWeb01/src/main/resources
com.green.nowon.domain.dao
com.green.nowon.domain.dto
https://melonicedlatte.com/2021/07/24/231500.html
(board-mapper.xml)
(BoardMapper.java)
(Board.java)
(...)(점 세개) 가변 배열 표현
/springWeb01/src/test/java/com/green/nowon/SpringWeb01ApplicationTests.java