web

코드로 배우는 스프링 웹프로젝트 01

늉_늉 2020. 9. 28. 15:29

<properties>
		<java-version>1.8</java-version>
		<org.springframework-version>5.0.7.RELEASE</org.springframework-version>
		<org.aspectj-version>1.6.10</org.aspectj-version>
		<org.slf4j-version>1.6.6</org.slf4j-version>
	</properties>

 

 

 

 

 

생성된 프로젝트의 라이브러리는 pom.xml을 통해 관리한다.

 

 

다음과 같이 수정한다 

<properties>
		<java-version>1.8</java-version>
		<org.springframework-version>5.0.7.RELEASE</org.springframework-version>
		<org.aspectj-version>1.6.10</org.aspectj-version>
		<org.slf4j-version>1.6.6</org.slf4j-version>
	</properties>

 

 

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArgument>-Xlint:all</compilerArgument>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
 </plugin>

 

저장( ctrl+s )  후 alt+f5  눌러서 updateProject 진행이 끝나면 

 

 

 

 

 

 

 

 

별 문제가 없다면 아래와같은 화면을 볼 수있다.

 

 

lombok설치방법

 

구글에 lombok 검색후 설치 진행하고 exe파일 실행후 location을 사용하는 ide까지로 해주면 된다.

ex) sts를 쓴다면 sts.exe로 설정해준다.

 

 

 

 

[Java configuraion사용시 프로젝트 - jex00 ]

 

 

 

똑같이 org.zerock.controller로 생성해주고

 

 

web.xml과 spring폴더를삭제한다.

 

 

web.xml을 삭제하면 pom.xml에서 에러가난다 -> web.xml을 기본으로 설정했기때문에

 

 

pom.xml에 plugin 설정을 추가해 준다.

 

            <plugin>
            	<groupId>org.apache.maven.plugins</groupId>
            	<artifactId>maven-war-plugin</artifactId>
            	<version>3.2.0</version>
            	<configuration>
            		<failOnMissingWebXml>false</failOnMissingWebXml>
            	</configuration>
            </plugin>

 

java설정도 변경해 준다.

	<properties>
		<java-version>1.8</java-version>
		<org.springframework-version>5.0.7.RELEASE</org.springframework-version>
		<org.aspectj-version>1.6.10</org.aspectj-version>
		<org.slf4j-version>1.6.6</org.slf4j-version>
	</properties>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArgument>-Xlint:all</compilerArgument>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
            </plugin>

 

 

Java설정을 이용하는경우 xml대신 설정 파일을 직접 작성해야한다.

 

@configuration이라는 어노네이션을 이용하면 해당 클래스의 인스턴스를 이용, 설정파일을 대신한다.

 

 

다음과 같은 패키지를 만들어준다.

 

 

RootConfig.class

 

 

 

 

package org.zerock.config;

import org.springframework.context.annotation.Configuration;

@Configuration
public class RootConfig {

}

 

 

 

web.xml을 대신하는 클래스를 작성

 

config 패지키에 WebConfig.class 를 작성해 준다.

 

 

Abstract... 라는 긴이름의 추상클래스를 상속(extends)받는다.

package org.zerock.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class WebConfig extends AbstractAnnotationConfigDispatcherServletInitializer{

	@Override
	protected Class<?>[] getRootConfigClasses() {
		// 해당 메소드의 return값을 다음과같이 변경
		return new Class[] {RootConfig.class};
	}

	@Override
	protected Class<?>[] getServletConfigClasses() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	protected String[] getServletMappings() {
		// TODO Auto-generated method stub
		return null;
	}

}