-
[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(); }
반응형'Server > Spring' 카테고리의 다른 글
[Spring] 스프링 프레임워크란? DI 의존주입이란? 의존주입방법 (0) 2020.04.01 [Spring] Intellij tomcat war 배포 - window에서 filezilla를 이용해 sftp 서버배포 (0) 2020.03.20 [spring] Lombok annotation (0) 2020.02.20 Spring Architecture (0) 2020.02.20 Spring Presentation Layer (0) 2020.02.20