ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] 이클립스로 스프링 프로젝트 생성하기
    Server/Spring 2020. 3. 15. 13:18

    🍓 eclipse

    java -> project -> Maven project -> 두개 체크 -> Group id & Artifactd id작성

    Group id  : spring4 전체 큰 프로젝트

    Artifactd id  : testPjt 현재 만드는 

     

    >src

      >main

         >java : java 언어 사용해 기능 구현한 project. java파일 관리

         >resource : 보조적인 역할을 하는 자원파일 관리

     

     

     


    🍓 pom.xml 파일이란?

    모듈 가져오는 파일

    필용한 라이브러리만 다운로드 해서 사용.

    메이븐 설정파일이다. 메이븐은 라이브러리를 연결해주고 빌드를 위한 플랫폼이다.

     

    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 
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>spring4</groupId>
      <artifactId>testPjt</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      
      <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
           		<version>4.1.0.RELEASE</version>
            </dependency>
      </dependencies>
      
      	<build>
      		<plugins>
      			<plugin>
      				<artifactId>maven-compiler-plugin</artifactId>
      				<version>3.1</version>
      				<configuration>
      					<source>1.8</source>
      					<target>1.8</target>
      					<encoding>utf-8</encoding>
      				</configuration>
      			</plugin>
      		</plugins>
      	</build>
      
    </project>
    

     

    => 에러가 뜨면 버전이 맞지 않아서 이기 때문. 우클릭 - Maven - update project

     

    dependencies, build 추가

    dependencies ?

    내가 필요한 모듈 명시. main repositories로 부터 local로 라이브버리가 자동으로 다운로드 할 수 있다.

     

    build ?

    실제 내가 만든 프로젝트가 빌드될 때 필요한 빌드 명령들.

     

     

    spring framework ?

    java + 수많은 모듈

     

     

     

     


    🍓 applicationContext.xml 이란?

    빈 (=spring 컨테이너의 객체)을 만들어주는 녀석

    spring framework에서는 객체를 생성하는데 new 키워드를 사용하기 보다는

     

    resources / applicationContext.xml에 컨테이너 역할을 해주는 파일을 만들어놓고

     

    main class 에서

    STEP 1) GenericXmlApplicationContext 클래스를 이용해 컨테이너 생성

    STEP 2) 컨테이너 안에 있는 빈이라는 객체를 가져다 쓰기만 한다. 생성은 컨테이너가 알아서 한다.

    STEP 3) 사용을 끝낸 컨테이너 자원은 반환한다.

     

     

    applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
    	   		http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    
        <bean id="tWalk" class="testPjt.TransportationWalk"/>
    
    </beans>

    <bean id="" calss="패키지명.클래스명" />

    이렇게 명시해주면

    내가 이 클래스루부터 객체를 사용하기 위해 new로 객체생성하지 않아도 된다.

     

    객체가 생성됐다는 것?은 메모리가 로드됐다는 것을 의미

    객체들을 담고 있다. container

     

     

    main class에서 사용하면 된다.

    기존 - new를 이용해서 사용했다.

    public static void main(String[] args) {
    		TransportationWalk transportationWalk = new TransportationWalk();
    		transportationWalk.move();
    	}

    수정 - 이제는 bean에 등록을 했으니 위의 코드를 지우고

    public static void main(String[] args) {
    //	객체생성 및 생성자 호출 & 메서드 호출
    //	TransportationWalk transportationWalk = new TransportationWalk();
    //	transportationWalk.move();
    		
    //	spring
    	//container생성
    	GenericXmlApplicationContext ctx = 
                   new GenericXmlApplicationContext("classpath:applicationContext.xml");
    		
    	//tWalk id의 bean을 통해 transportationWalk 객체생성.
    	TransportationWalk transportationWalk = ctx.getBean("tWalk" , TransportationWalk.class);
    	transportationWalk.move();
    		
    	//container 자원 반환
    	ctx.close();
    }

     

     

     

    반응형
Designed by Tistory.