● Spring 의 Project별 특징
[Spring] : jdk 16이하
① Maven Project
=> xml 기반의 Spring을 사용하는 프로젝트(서버 - Tomcat (8.5)기반 -> Linux 기반) : 단독서버
② Spring legacy Project
=> properties 기반으로 Spring을 사용하는 프로젝트 (서버 - VM ware 기반)
: VM ware (Linux : Ubuntu) => Docker : 클라우드 서버 이용
∴ Maven 쓰면 클라우드 서버 미사용, vmware 쓰면 클라우드서버 쓴다고 보면 됨
[Spring Boot 기반] : jdk 17이상
① Spring starter Project
=> Spring(v3.0이하 JDK-16 이하), Spring-Boot(v3.0이상 - JDK-17부터)
=> VM ware (Linux : Ubuntu)
∴ Spring Boot 사용시 클라우드 서버 사용한다고 보면 됨
(boot는 vmware 기반 => vmware 는 클라우드서버 쓰니까)
→ 미리 라이브러리 뭐 쓸지 정해서 세팅해줘야함
kotlin - 어플
groovy - 윈도우 어플
packaging -> 배포파일 형태
● Spring 세팅법 요약 정리
1. Window → Preference → encode → UTF- 8 로 설정
2. Install/update => checbox 해제
3. Run/Debug → Console => 1000000으로 설정
4. Project 를 생성하는 형태 → Maven Project 생성
- Create a simple project 체크 하며, use default 를 체크
- Group Id, Artifact Id 동일한 이름으로 생성 , Packinging war로 변경
5. Project 우클릭 -> Properties 로 이동
- Java Build Path => JRE 11, Server(Apache tomcat 8.5x) 를 라이브러리에 추가
- 주의사항) HttpRequest 사용시 빨간색 밑줄 다운받은 서버 삭제 후 새로 다운로드하여
라이브러리에 추가
- Java Compiler 에서 java-11 버전으로 변경
- Project Facets : Java 버전 11로 변경, Dynamic web Module 3.1로 변경
- Web Project Settings => context 를 ' / ' 로 변경
6. pom.xml 에 필요한 라이브러리 모두 추가
7. web.xml 을 생성 및 해당 web.xml 을 수정함 (Dispatcher 및 언어셋 수정 및 입력)
8. /WEB-INF/webpage.xml 을 생성 (단, spring bean configuration File로 XML을 생성)
- bean, context, mvc 체크 후 최신 버전 형태로 생성을 해야함
9. Server restart 진행 후 Controller를 생성 (일반 class로 생성)
10. @Controller, @RequestMapping("/생성할do.do") 이용하여 웹페이지가 출력되는지 확인
11. lombok 사이트 및 pom.xml 해당 라이브러리 추가 및 설치
12. STS3를 재실행 후 class를 생성하여 @Setter @Getter을 이용하여 메소드가 자동 생성이 되는지
확인
● Spring 세팅 상세 ( new project 생성 )
① default 하게 세팅
②
- groupid :ex) kr.co.choongang
- artifact id : jar 로 배포시 사용 ex) kr.co.choongang -> 주로 도메인을 따서 만듬
- Parent Project : 관리자 페이지 있을 때 사용③ 모든 spring 은 pom.xml 에 오타나거나 pom.xml 이 없으면 작동안됨
● properties 설정
① java build path설정
- 아래 이미지 처럼 jdk 버전 잡아주기
- server runtime 도 apache로 잡기
② java compiler 설정
- jdk 버전 맞춰주기
③ Project Facets 설정
- java 8 이상이면 Dynamic Web Module은 3.1 이상 사용
- runtime 도 apache로 잡음
④ web project settings
- 실행 시킬 때 경로에 /webspring/ 한번 더 쓰고 들어가야하므로 ' / ' 로 바꿈
● pom.xml 설정
- maven repository 에서 필요한 라이브러리 다운받아 pom.xml로 로드
- 모두 로드 후 적용 후 restart 해줘야함(pom.xml에서는 restart 대신 프로젝트 우클릭 후 maven 의 update project 클릭)
- dependencies 태그 : spring에 사용되는 모든 라이브러리를 관리하는 태그
① maven-war-plugin 라이브러리 로드
- 배포 파일에 맞춰서 해당 압축파일을 생성하는 라이브러리 (얘만 bild 태그 안의 plugin 태그 안에 생성 나머지는 dependencies에 생성)
- 아래 빨간 박스 안의 text 복사
② pom.xml 수정
- 빨간 박스 안 태그 생성 후 복사한 텍스트 붙여넣기
③ tomcat catalina 다운
- 사용중인 tomcat 버전에 맞춰서 들어간 후 아래의 텍스트 복사
- dependencies 태그 안에 붙여넣기
④ web MVC 로드
- spring 은 무조건 mvc 형태로 제작하기 때문에 필요함
- 텍스트 긁어와서 dependencies 태그 안에 복붙
⑤ Mysql 연결 라이브러리 (DB)
- 텍스트 긁어와서 dependencies 태그 안에 복붙
⑥ spring + Mysql 연결 라이브러리 (DB)
- 텍스트 긁어와서 dependencies 태그 안에 복붙
⑦ JSTL (JSP UPDATE 버전) 라이브러리 로드
- JSTL 검색하면 동일한 jstl 2개 뜨는데, 그 중 에러 안뜨는 걸로 로드
- 텍스트 긁어와서 dependencies 태그 안에 복붙
⑧ mail을 사용하는 라이브러리
- jdk 8이상일 경우 오류 발생하므로 activation 도 로드해줌
- 텍스트 긁어와서 dependencies 태그 안에 복붙
⑨ Lombok 라이브러리 설치
- Getter, Setter 를 @을 이용하여 보다 쉽게 메소드를 생성하는 API
- pom.xml 에도 추가해주고 , lombok 사이트 접속해서 다운로드 받은 후 cmd를 이용하여 설치 후 STS IDE를 재 실행해줘야함
ⓐ maven 에서 설치 - POM.XML 에 추가
ⓒ cmd 에서 실행
ⓑ google 에 lombok 검색 후 설치
- 설치 후 d 드라이브로 이동
ⓓ specify location 클릭 후 select
- installer 뜨면 이미지와 같이 sts 선택
ⓔ install 후 빠져나가기
ⓕ sts 재실행
ⓖ getter, setter 가 자동으로 생성 되는지 확인
⑩ 로드 한 라이브러리 적용하기
- 프로젝트 우클릭 후 maven 의 update project 클릭
- Force update 체크 후 적용 해줌
⑪ 잘 로드 되었는지 확인
- java class파일 아무렇게나 생성 후 아래의 노란색 코드 작성 시 에러 없다면 문제없음
● web.xml 설정
① 첫 줄 http 를 https 로 변경
② 코드 작성
- dispatcher 사용이유 : web @(Controller) 을 사용하기 위한 xml 로드 파일 구현
-> servlet 일 경우 do 를 생성하기 위해서 지속적으로 태그를 사용하는 형태였으나 Spring 으로 변화하면 bean에서 관리하도록 변환됨
- load-on-startup : param-value 에 사용되는 xml 파일을 첫 번째로 읽어서 사용
- servlet-mapping 부분 : 보안 맵핑을 사용(view 출력형태)
url-pattern : ' / ' (webapp에서 jsp를 실행가능) or ' /* ' (webapp에서 jsp실행불가능 - do 를 거쳐야 접근가능)
③ 언어셋 세팅
④ 서버 가동 후 문제 없다면 ok
● spring bean file 생성
spring 은 기본으로 mvc형태의 web 프레임 워크이므로 beans, context, mvc 를 사용
- beans : 의존성 여부를 체크하는 소스코드
- context(자바 class를 의미), mvc(jsp로 출력하는 형태)
① web.xml 우클릭 후 아래와같이 other 클릭
② spring bean configuration file 클릭
- 클릭 후 file name을 webpage.xml 로 작성 후 next 클릭
③ next 후 아래와 같이 뜬다면 제대로 로드된것,
④ 필요한 것 최신 버전으로 설정
⑤ finish 클릭 하면 webpage.xml 생성됨
- 생성 후 web.xml 의 param-value 값을 수정
- controller가 있는 xml파트가 아래의 박스임
- 수정 후 add & remove 에서 서버 추가 해주고 서버 restart
● webpage.xml 파일 수정 -> controller xml 파트
① @를 일반 class 파일에 사용할 수 있도록 하기 위해 코드 변경
② 코드 추가 작성 - webpage.xml 속성 추가
<!-- @를 일반 class 파일에 사용할 수 있도록 하겠다는 것 --> <annotation-driven></annotation-driven> <!-- 모든 파일을 사용할 수 있도록 적용. 단 , resource에 특정파일을 적용 시 해당 파일 속성만 적용되도록 함. --> <resources location="/" mapping="/**"></resources> <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- prefix : view 페이지를 보여줄 경로, suffix : view 페이지 파일 속성명 --> <beans:property name="prefix" value="/"></beans:property> <beans:property name="suffix" value=".jsp"></beans:property> </beans:bean> <!-- class를 로드하는 부분(controller) --> <beans:bean class="webspring.mainpage"></beans:bean> </beans:beans>
'Spring' 카테고리의 다른 글
Database 연결 (Spring) (0) | 2024.07.09 |
---|---|
JSTL 사용법 (0) | 2024.07.09 |
Spring 의 Controller (0) | 2024.07.09 |
웹 경로에서 프로젝트 명 빼기 (0) | 2024.07.08 |
Spring 기초 (0) | 2024.07.08 |