TIL 23.11.20

황은하·2023년 11월 20일
0

TIL

목록 보기
117/146

📌Today I Learned

Spring

초기 설정

https://github.com/pinnpublic/class

Spring Tools 3 > Spring Tool Suite 3.9.18 > spring-tool-suite-3.9.18.RELEASE-e4.19.0-win32-x86_64.zip
go to link

https://download.springsource.com/release/STS/3.9.18.RELEASE/dist/e4.19/spring-tool-suite-3.9.18.RELEASE-e4.19.0-win32-x86_64.zip


  1. JDK 11 확인
    C:\Users\Eunha>javac --version
    javac 11.0.18

  2. 받은 파일.zip > 이클립스(+스프링) > Spring Tool Suite > STS 3(Spring) / STS 4(Spring Boot)

  3. C:\class\dev\sts-3.9.18.RELEASE

  4. Lombok 설치
    a. 프로그램에 직접 설정
    b. 프로젝트에서 참조

    • cmd > java.exe -jar lombok.jar (얘도 실행하는 방법)

    c. C:\class\dev\sts-3.9.18.RELEASE

이클립스 폴더에서 lombok.jar 실행 + 설정

  1. 워크스페이스 지정
    • C:\class\code\spring

WEB-INF\spring -> 핵심 파일

폴더나 파일에 S가 붙은 애들 -> 스프링이 관리하고 있는 파일이라는 뜻


  1. 워크스페이스 설정
    a. 인코딩 > UTF-8
    - Workspace
    - CSS
    - HTML
    - JSP
    - Content Types

    b. 폰트
    c. Apatch Tomcat

  2. http://localhost:8090/spring


Servlet/JSP : 초반(쉬움) > 후반(어려움) > 5일 업무
Spring : 초반(어려움) > 후반(쉬움) > 프레임워크 > 2일 업무


Spring Framework

  • https://spring.io
  • Spring 1.0 ~ 6.0
  • Spring 3.xx ~ 5.xx > Spring 5.xx 수업
  • 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다.
  • 콘솔 or 응용 or 웹 응용
  • 현업 > 웹 응용 제작
  • Servlet/JSP > 버전 업
  • 전자 정부 표준 프레임워크로 채택

스프링 코어 + 추가 프로젝트 + 스프링

  • Spring
  • Spring MVC
  • Spring AOP
  • Spring Data
  • Spring Security
  • Spring Boot

스프링 프로젝트 구성 요소(주요 기술)
1. POJO 기반, Plain Old Java Object. Java로 생성하는 순수한 객체를 뜻한다. => Class
2. 의존성 주입 지원(DI)
3. 관점 지향 프로그래밍 지원(AOP)
4. Spring MVC > 스프링 웹 사이트
5. 레이아웃 지원 > Tiles
6. 데이터베이스 연동 지원
- JDBC
- Spring JDBC > 낮음 > 수업(X)
- ORM(JPA) > 해외(70%) > 수업(O)
- MyBatis > 국내(70%) > 수업(O)


Maven(메이븐)
- 빌드 도구, 라이브러리 관리 도구 등...
- 프로젝트 생성 or 유지 관리 or 배포를 도와주는 프로그램 > 집사
- 수업 > 라이브러리 관리용(jar) > jar 다운로드 + 참조 + 관리
- pom.xml

<dependency> -> 필요한 jar 파일 기술
<groupId> -> 패키지명
<artifactId> -> jar 파일명

lombok.jar 추가 방법
1. Build path > lib 참조
2. WEB-INF > lib 폴더 복사
3. Maven > Dependency 추가


스프링 버전 설정 + JDK 버전 설정

  • Spring MVC Project (초기)
    - 스프링 3.xx
    • JDK 1.6

DI, AOP > 스프링 기술(X), 면접(!!!)

Spring DI

  • 디자인 패턴
  • Dependence Injection > DI
  • 의존(성) 주입
  • 스프링에서 중요한 개념 > 스프링내의 모든 객체 관리에 사용
  • 프로그래밍에서 구성 요소간의 의존 관계가 소스 내부가 아닌 외부 환경에서 정의되게 하는 디자인 패턴

"의존 관계"?

  • src/main/java > "com.test.spring.di01" 패키지 생성
    > "Main.java"

> "Hong.java" : 기존 방식
> "Pen.java"

> "Lee.java" : DI 방식
> "Brush.java"

  • src/main/java > "com.test.spring.di02"
    > "di02.xml"

https://docs.spring.io/spring-framework/docs/


hong을 만들기 위해서 pen을 먼저 생성한 다음에 pen을 넣어 hong을 생성한다.
스프링이 파일을 읽고 관계를 파악하여 필요한 객체를 알아서 생성해준다.

프로젝트

사용자 유스케이스 작성, 뷰 DDl 작성, 개발문서 작성, 테스트케이스 작성

profile
차근차근 하나씩

0개의 댓글