// 프레임워크, Framework
- 특정한 목적에 맞게 프로그래밍을 쉽게 하기 위한 약속
// Spring Framework(틀)
- http://spring.io
- Spring 1.0 ~ 6.0
- Spring 3.XX ~ 5.XX
- 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크
- 콘솔 프로그램 or 응용 프로그램 or 웹 응용프로그램 > 대부분 웹 응용 프로그램
- Servlet/JSP 버전업!
- 전자 정부 표준 프레임워크로 채택 > Spring 기반 > 공공기관 프로젝트 or 대기업
// 스프링 프레임워크 구성 요소(주요 기술)
1. POJO 기반
2. 의존성 주입 지원(DI)
3. 관점 지향 프로그래밍 지원(AOP)
4. Spring MVC
5. 레이아웃 지원(Tiles)
6. 데이터베이스 연동 지원
- JDBC
- Spring JDBC (X)
- ORM(JPA) > Hibernate (O)
- MyBatis > 점유율 1위 (O)
// 개발 환경
- OpenJDK 11(X) > Oracle JDK 11(O)
1. Eclipse 사용 > 설정할 게 많음 > 손이 많이 감...
2. Eclipse + 확장 프로그램(STS) > 간편!
3. STS(Eclipse가 들어 있음) > 간편
- STS 3.X > Spring 개발
- STS 4.X > Spring Boot 개발
- sts-bundle
~ sts-3.9.18.RELEASE > STS
~ pivotal-tc-se
- 환경변수 설정 : %JAVA_HOME% > ORACLE JDK 11 설치된 디렉토리
~ C:\Program Files\Java\jdk-11\
- STS.ini > 메모장에서 vm 설정
~ C:\Program Files\Java\jdk-11\bin\javaw.exe
- 롬복 재설치 > sts 폴더 잡기
~ java -jar lombok.jar
- Tomcat 9 > 9.0.76 > 64-bit Windows zip
- tomcat server.xml 에서 포트번호 8091로 변경(2개)
// 프로젝트 생성하기
- New > Spring Legacy Project
> Spring MVC Project
> name : "BeginTest"
> "com.test.begin"
// Spring MVC Project > 프로젝트 구조
1. src/main/java
- 여태까지 사용하던 Java 소스 폴더
2. src/main/resources
- Java 소스 이외의 자원 폴더
- 주로 스프링 설정 파일들을 보관
3. src/test/java
- 테스트용
4. src/test/resources
- 테스트용
5. JRE System Library
- JRE jar
- JavaSE-1.6 > JDK 1.6 > JDK 11 버전으로 수정 필요
6. Maven Dependencies
- 메이븐(빌드 도구, 라이브러리 관리 도구 등)
- 프로젝트 생성 & 유지 관리 & 배포를 도와주는 프로그램
- 수업용 > jar 파일 관리
7. src
- 1~4번까지의 폴더를 물리적으로 표현 > 윈도우 탐색기처럼 표시
7.1 webapp
- 웹 루트 폴더
7.2 webapp > resources
- CSS, JavaScript, Images 등을 저장하는 폴더
- 강제력(X) > 권장(O)
7.3 webapp > WEB-INF
7.3.1 classes
- 컴파일된 클래스 파일 저장폴더(이전에 bin)
- 개발자 관여 X
7.3.2 spring ★★★★★★
- 스프링의 모든 설정
7.3.2.1 appServlet
- servlet-context.xml : 스프링 설정 파일(스프링 MVC, 웹 관련)
7.3.2.2 root-context.xml : 스프링 설정 파일(스프링 전반)
7.3.3 views
- 뷰 페이지 폴더
7.3.4 web.xml
- 아파치 톰캣 서버 설정
7.4 pom.xml, Project Object Model
- 메이븐 프로그램 설정 파일
* C:\Users\user\.m2\repository >> 메이븐이 다운로드한 jar 보관 폴더(오류나면 날리고 다시..)
'서버 > Spring' 카테고리의 다른 글
[스프링(Spring)] MVC 에러 처리 (0) | 2023.06.16 |
---|---|
[스프링(Spring)] MVC 데이터 수신 및 전송 (1) | 2023.06.15 |
[스프링(Spring)] AOP (1) | 2023.06.15 |
[스프링(Spring)] JUnit (0) | 2023.06.14 |
[스프링(Spring)] DI, IoC (0) | 2023.06.14 |