Maven 기반-[기본 스프링 프로젝트 생성]

728x90

- 기존의 객체지향(JAVA) 불편함 확인

[다형성 문제점]

-객체 생성 코드를 모두 찾아서 변경해야 한다.(유지보수 어려움)

-다형성 개념을 활용한 기존 클래스가 변경되었을 때 참조 변수 선언 부분은 수정하지 않아도 되지만 어쨌든 객체 생성 부분 코드를 모두 찾아서 변경되어야 하는 불편함 존재


[스프링 프레임워크]

-스프링 프레임워크 적용 시 자바코드 작성 부분 확연히 줄어드는 효과 큼

-다만, 초기 프로젝트 셋팅 복잡

          1) xml 사용하는 방법

          2) 자바 @애노테이션 사용하는 방법

[Maven]

-자바 프로젝트 빌드 자동해주는 도구

-개발자가 (.xml) 에 작성한 프로젝트 정보를 토대로 컴파일하고 라이브러리 연결 지원

[스프링 프로젝트 생성]

-관련 프로젝트 정보 추가하고 저장하는 순간

-> 작업 진행 (스프링 관련 라이브러리 자동으로 다운로드받음)

<관련 단축키>

(ctrl+shift+F) : xml 
파일에 메이븐 관련 의존 모듈 추가할 때, 코드 정리

(ctrl+shift+/) : 자동 주석처리
(ctrl+shift+(\) ): 주석 해제

[pom.xml] : 메이븐 의존 모듈 추가

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>ko.co.softcampus</groupId>
	<artifactId>SpringBasic</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!-- xml에서 사용할 속성들 -->
	<properties>
		<!-- 자바 버전 -->
		<java-version>1.8</java-version>
		<!-- 스프링 버전 -->
		<org.springframework-version>4.3.25.RELEASE</org.springframework-version>

		<!-- <org.springframework-version>5.1.9.RELEASE</org.springframework-version> -->
		<org.slf4j-version>1.7.26</org.slf4j-version>
		<ch.qos.logback-version>1.2.3</ch.qos.logback-version>
	</properties>

	<dependencies>
		<!-- spring context -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.3.25.RELEASE</version>
		</dependency>
		<!-- slf4j -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${org.slf4j-version}</version>
		</dependency>
	<!--logback -->
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>${ch.qos.logback-version}</version>
    <exclusions>
    	<exclusion>
    		<groupId>org.slf4j</groupId>
    		<artifactId>slf4j-api</artifactId>
    	</exclusion>
    </exclusions>
    <scope>runtime</scope>
</dependency>

	</dependencies>
</project>

 

[파일 구조]

src/main/java 
패키지[kr.co.softcampus.main] -> MainClass.java 파일 작성
패키지[kr.co.softcampus.config] -> beans.xml 파일 작성
패키지[kr.co.softcampus.beans]
->HelloWorld 인터페이스 작성(추상메소드 sayHello() 정의)
->구현한 (1) HelloWorldEn 클래스 작성
             (2) HelloWorldKo 클래스 작성

--> 처음 프로젝트 생성만 까다롭다.

이 설정 기반으로 자바 소스 코드 간결해지고 유지보수 용이해짐.

 

[참고] - SpringFramework 개발자를 위한 실습을 통한 입문 과정

728x90