Maven 웹 프로젝트에 SpringFramwork 적용

Welcome to Seoyun Dev Log·2022년 5월 9일
0

Spring Boot

목록 보기
1/2

1. Maven이란?

https://mongdal.tistory.com/16
https://jeong-pro.tistory.com/168

Maven은 자바 프로젝트의 빌드(build)를 자동화 해주는 빌드 도구이다. 즉, 자바 소스를 컴파일하고 package해서 deploy하는 일을 자동화 해주는 것
*단순 빌드 툴이 아닌 IDE(Integrated Development Environment 통합 개발 환경 = 빌드도구) 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어

프로젝트 성격을 변경하는 것
기능이기때문에 설치를 해야한다.
남의 것을 가져다쓰는 프로그램(라이브러리) -> 다운로드라고 생각

빌드 과정

  • 프로젝트 생성 -> 라이브러리 설정 -> 코드 작업 -> 컴파일 -> 테스트-> 패키지 만들기 -> 배포 -> 레포팅
    : 위 빌드 과정을 효율적으로 할 수 있도록 도와주는 것

Maven이 참조하는 설정 파일

1) settings.xml
maven 자체의 설정 값을 바꾸는 일인데 잘 없다.
maven tool 자체에 관련된 설정을 담당한다.

2) pom.xml
: 하나의 자바 프로젝트에 빌드 툴로 maven을 설정했다면 프로젝트 최상위 디렉토리에 "pom.xml"이라는 파일이 생성되었을 것이다.
pom.xml은 POM(Project Object Model)을 설정하는 부분으로 프로젝트 내 빌드 옵션을 설정하는 부분이다.
꼭 pom.xml이라는 이름을 가진 파일이 아니라 다른 파일로 지정할 수도 있다. 그러나 maven의 원칙,편의성으로 다른 개발자들과 소통하기 위해 pom.xml으로 통일하여 쓰기를 권장한다.

: xml 파일은 설정파일로,
pom.xml = 다운로드 관련된 메이븐 설정파일
pom.xml에 소스 태그를 붙여넣는다 (위치 중요)

3) web.xml
: spring설치 / 한글처리

4) spring-servlet.xml
: 스프링 세부 설치
★태그안에 컨트롤러 경로 확인할 것

2. dependency(의존성)

  • dependency를 추가하는 것
    : 일반적인 자바 어플리케이션에서 클래스패스(classpath)에 spring-context 모듈을 추가한다는 것

    **클래스패스(classpath)란?**
    : 클래스와 패키지의 위치를 지정해주는 역할

[ <properties>...</properties> 안의 속성값은 ${속성명}으로 치환된다. ] 

ex) <org.springframework-version>4.3.3.RELEASE</org.springframework-version>로 선언되어있으면 ${org.springframework-version}가 4.3.3.RELEASE로 치환된다.

① spring-context

identifier를 가진 5.0.2.RELEASE 버전의 artifact에 대한 의존(dependency)을 추가한 것

	<!-- spring container(core) -->
		<dependency>
			<groupId>org.springframework</groupId>
 			<artifactId>spring-context</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

artifact : maven은 한 개의 모듈을 artifact라는 단위로 관리한다.
artifact = module = jar파일

참고로 각 artifact ( = module = jar 파일 ) 들의 완전한 이름은 "아티팩트이름-버전.jar"이어서,
결국 이 코드는 Java compiler와 JVM이 사용하는 classpath 변수에 spring-context-5.0.2.RELEASE.jar 파일 경로를 추가한다. 라는 뜻

② spring-web

③ spring-webmvc

④ spring-jdbc

⑤ ojdbc6

3. jstl

4. Mabatis

5. jackson

6. common fileupload

profile
하루 일지 보단 행동 고찰 과정에 대한 개발 블로그

0개의 댓글