Spring5 ver2

정재호·2024년 9월 3일


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

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

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

  • 17인지 확인
    모듈도 api와 비슷한 개념 - 배포로 만들때 모듈로 만들어집니다. 의존성 dependencies도 17버전
    api : 여러개 클래스 만들어 놓은겁니다.


    설정파일입니다.
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 만들어줍니다.

  • mapper는 컨트롤러가 씁니다.

    업캐스팅
    BoardMapper만 알면 됩니다.

    메모리만드는 주입하는것



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폴더를 만들로 옮겨주세요.

  1. root-context.xml파일에 그림보시고 아래추가해주세요.
profile
성장하는 하루가 되자

0개의 댓글