
maven과 관련
.war로 압축 - 배포
.jar로 압축 - 배포 방법이 있습니다.
스프링부트는 독립형 어플리케이션으로 만들 수 있습니다.

다른 파일을 가져왔을때
환경변수가 다른버전이면 가지고 올 수 있습니다.

어제 17로 만들었기때문에 바꿉니다.

17버전

plugins {
id 'java'
}
group = 'org.example'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
// Spring, JDBC, Mybatis API 추가 ~
// Tomcat 연동
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
}
test {
useJUnitPlatform()
}
에서 추가됩니다.
웹 서블릿
요청 - request
응답 - response
자바 톰캣서버
jsp 서블릿
서블릿 - 프론트컨트롤
POJO - 일반컨트롤(프론트 컨트롤을 좀 도와주는것)
서비스클래스
배포할때 다 들어가됩니다. jar로 묶을때는 lombok은 필요가 없습니다. 다 게터,세터가 들어가는걸로 만들어지고
컴파일할때 필요합니다.
implementation 'org.springframework:spring-webmvc:5.3.10'
lombok은 코딩 할떄 도와주는것

2번을 버튼 눌러야 변합니다.
DispatcherServlet - Front Controller
(모든 요청을 받습니다.)

중요
Controller가 Framework 모양과 성격이 바꿉니다.
Handler mapping : 누가 처리할지 알려줌
어떤 뷰인가 알려줌
포워딩해서 알려줌


kr.board 삭제

설정입니다.
xsi:schemaLocation="http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
xsd
schema 구조
<태그> 쓸 수 있는걸 정해놨습니다.
객체를 나타내는것입니다.

autowired
객체를 올려놓으면 다른사람이 써먹을수 있게합니다.
의존성주입 내가 만든걸 끌어당깁니다.
spring 핵심기술은 new 가 없습니다.
xml 설정파일에다가 미리 필요한 객체를 메모리에 올립니다.
내가 당겨서 씁니다.
객체 생성
web.xml이 가장먼저 실행됩니다.


가장 먼저 시작합니다.
세팅이 끝나야합니다.
db연결이 가장먼저입니다. Listener
설정읽어옵니다.

property가 setter 메서드를 호출합니다.
- property 속성

예시 (빨강)


세터가 없으면 생성자를 만들면 됩니다.

A가 B의 객체를 받아 A에서 쓸려면
1. 세터주입
2. 생성자주입





서버가 커넥션을 미리 만들고
쓰고 반납하려면
POOL
HIKARICP가 POOL만들고 [제로오버헤드]
가져다쓰는 클래스(SqlSessionFactoryBean)



인터페이스는 안됩니다.

구현체입니다.
BoardMapper 메모리에 있어야합니다.
scan이 중요합니다.
여러개있을 수 있습니다.
implements를 하려고 mapper 스캔해라

1. 커넥션
2. sql
3. ArrayList
boardList 만들어줍니다.





pojo
FE(프론트)가 자기와 일할 클래스가 어딨는지 알아야합니다.
web.xml

xml인데 bean 아니고 servlet (이것도 객체 생성)
일반적으로 디스팩처.xml


스프링이 내부적으로 사용중
핸들러매핑
@RequestMapping 내부적으로 동작 (빨리 처리하고 위해서)


---

lombok도 설치


tomcat





1.build.gradle에 아래 추가 해주시고
implementation 'org.springframework:spring-jdbc:5.3.10'

2.BoardMapper.xml을
resources아래에 mapper폴더를 만들로 옮겨주세요.