2016-08-28 5 views
2

저는 스프링 부트를 처음 사용합니다. 나는 this guide을 언급했다.스프링 부트의 종속성 관리

저는 Spring Tool Suite (STS)에서 작업하고 있습니다. 내가 STS에서 처음으로 '봄 레거시 프로젝트'를 만들 때 다음 POM 파일이 이미 존재 :

<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>org.springframework.samples.service.service</groupId> 
    <artifactId>SpringBoot</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <properties> 

     <!-- Generic properties --> 
     <java.version>1.8</java.version> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 

     <!-- Web --> 
     <jsp.version>2.2</jsp.version> 
     <jstl.version>1.2</jstl.version> 
     <servlet.version>2.5</servlet.version> 


     <!-- Spring --> 
     <spring-framework.version>3.2.3.RELEASE</spring-framework.version> 

     <!-- Hibernate/JPA --> 
     <hibernate.version>4.2.1.Final</hibernate.version> 

     <!-- Logging --> 
     <logback.version>1.0.13</logback.version> 
     <slf4j.version>1.7.5</slf4j.version> 

     <!-- Test --> 
     <junit.version>4.11</junit.version> 

    </properties> 

    <dependencies> 

     <!-- Spring MVC --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring-framework.version}</version> 
     </dependency> 

     <!-- Other Web dependencies --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>${jstl.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>${servlet.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>${jsp.version}</version> 
      <scope>provided</scope> 
     </dependency> 

     <!-- Spring and Transactions --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>${spring-framework.version}</version> 
     </dependency> 

     <!-- Logging with SLF4J & LogBack --> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>${slf4j.version}</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>${logback.version}</version> 
      <scope>runtime</scope> 
     </dependency> 

     <!-- Hibernate --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>${hibernate.version}</version> 
     </dependency> 


     <!-- Test Artifacts --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>${spring-framework.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>${junit.version}</version> 
      <scope>test</scope> 
     </dependency> 

    </dependencies> 
</project> 

지금, 봄 부팅, 그것은 나를 위해 필요한 모든 종속성 추가를 관리 이해. 에있는는 봄 부팅 치어 파일의 위의 내용을 수행,

<?xml version="1.0" encoding="UTF-8"?> 
<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>org.springframework</groupId> 
    <artifactId>gs-spring-boot</artifactId> 
    <version>0.1.0</version> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.4.0.RELEASE</version> 
    </parent> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
    </dependencies> 

    <properties> 
     <java.version>1.8</java.version> 
    </properties> 


    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

내 질문은 : 내가 언급 the link에서, 나는 곧 내가 그것을 만들 때, 내 프로젝트에 다음 내용을 추가 들었다 과 함께 기존 콘텐츠를 추가해야합니까, 아니면 이전 콘텐츠를 잘라내어이 새로운 콘텐츠를 붙여 넣어야합니까 ?? Spring Boot가 나를 위해 나의 의존성을 관리한다면, 기존의 의존성이 존재해서는 안된다.

미리 감사드립니다.

봄 구성

package config; 

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 
import org.springframework.web.servlet.view.InternalResourceViewResolver; 

public class SpringConfig { 

    public void addResourceHandlers(ResourceHandlerRegistry reg) 
    { 
     reg.addResourceHandler("/resources/**/").addResourceLocations("/resources/**"); 
    } 

    public InternalResourceViewResolver viewResolver() 
    { 
     InternalResourceViewResolver vr = new InternalResourceViewResolver(); 
     vr.setPrefix("/WEB-INF/view/"); 
     vr.setSuffix(".jsp"); 
     return vr; 
    } 

} 

WebAppInit

package config; 

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

public class WebAppInit extends AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     // TODO Auto-generated method stub 
     return new Class[]{SpringConfig.class}; 
    } 

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

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

} 

컨트롤러

package hello; 

import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 

@RestController 
public class HelloController { 
    @RequestMapping("/") 
    public String index() { 
     return "Greetings from Spring Boot!"; 
    } 
} 

응용 프로그램 (메인)

package hello; 

import java.util.Arrays; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.context.ApplicationContext; 

@SpringBootApplication 
public class Application { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     ApplicationContext ctx = SpringApplication.run(Application.class, args); 
     System.out.println("Let's inspect the beans provided by Spring Boot:"); 

     String[] beanNames = ctx.getBeanDefinitionNames(); 
      Arrays.sort(beanNames); 
      for (String beanName : beanNames) { 
       System.out.println(beanName); 
      } 
    } 

} 
,

index.jsp를

<!DOCTYPE html> 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 


<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> 

<html> 
    <head> 
     <meta charset="utf-8"> 
     <title>Welcome</title> 
    </head> 
    <body> 

     Hello 
    </body> 
</html> 

답변

0

그냥 새, 봄 부팅 관리 하나 기존의 POM을 교체해야합니다 그래서, 기존 POM이 Spring에 의해 관리되지 않은 종속성을 포함하지 않는 무엇을 볼 수에서.

일반적으로 앞으로 나아갈 가장 좋은 방법은 기존 POM에서 시작하여 관리 종속성을 하나씩 제거하는 것입니다.

+0

감사합니다. –

+0

그리고이 애플리케이션을 어떻게 실행해야합니까? Java 응용 프로그램으로서? 또는보기가 있으므로 서버에서 실행해야합니다 ('서버에서 실행')? –

+0

SpringBoot 응용 프로그램 인 경우 응용 프로그램이 기본 메소드를 찾으면 Java 응용 프로그램으로 실행해야합니까? –