2017-10-07 10 views
0

봄 부팅 응용 프로그램에 새내기가 있습니다. 나머지 컨트롤러로 처리해야하는 일반적인 저장소를 만드는 작업이 있습니다. 방금 몇 가지 예를 시작했습니다. 하지만 내 응용 프로그램은 임베디드 바람둥이 시작되지 않습니다. 또한 나머지 컨트롤러 URI는 매핑되지 않습니다. 이것은 maven 모듈 프로젝트이며 모든 의존성은 부모 클래스에서 설정됩니다. 이 문제를 해결하는 방법. 여기 스프링 부트 응용 프로그램이 포함 된 톰캣을 시작하지 않습니다.

내 코드입니다

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

@SpringBootApplication 
public class CRUDEngineApplication { 

public static void main(String[] args) { 
    SpringApplication.run(CRUDEngineApplication.class, args); 
} 
} 

컨트롤러

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.web.bind.annotation.RestController; 

import com.scm.services.CRUDEngineService; 

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.http.HttpStatus; 
import org.springframework.http.ResponseEntity; 
import org.springframework.web.bind.annotation.RequestBody; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 

@RestController("/api") 
public class CRUDEngineController { 
@Autowired 
private CRUDEngineService crudEngineService; 

public static final Logger logger = 
LoggerFactory.getLogger(CRUDEngineController.class); 


/* public void setProductService(CRUDEngineService crudEngineService) { 
    this.crudEngineService = crudEngineService; 
}*/ 
@RequestMapping(value = "/user", method = RequestMethod.POST) 
public ResponseEntity<?> createUser(@RequestBody Object entity) { 
    System.out.println("Check point entered."); 
    crudEngineService.save(entity); 
    return new ResponseEntity<String>(HttpStatus.CREATED); 
} 
} 

서비스 인터페이스는

import java.util.UUID; 

public interface CRUDEngineService { 

void save(Object entity); 

void delete(UUID id); 
} 

서비스 구현 클래스가

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Service; 
import com.scm.repositories.CRUDEngineRespository; 
import java.util.UUID; 

@Service 
public class CRUDEngineServiceImpl implements CRUDEngineService { 

@Autowired 
private CRUDEngineRespository productRepository; 

@Override 
public void save(Object entity) { 
    productRepository.save(entity); 
} 

@Override 
public void delete(UUID id) { 
    productRepository.delete(id); 
} 
} 
,369 임

그리고 침전물 저장소 구현은

import java.util.UUID; 
import org.springframework.data.repository.CrudRepository; 

public interface CRUDEngineRespository extends CrudRepository<Object, UUID> 
{ 

} 

하위의 pom.xml이

<?xml version="1.0"?> 
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd" 
xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<modelVersion>4.0.0</modelVersion> 
<parent> 
<groupId>com.scm</groupId> 
<artifactId>scm-parent</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
</parent> 
<artifactId>crudEngineService</artifactId> 
<packaging>war</packaging> 
<name>crudEngineService</name> 
<url>http://maven.apache.org</url> 
<properties> 
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
<dependencies> 
<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <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>com.scm</groupId> 
<artifactId>scm-parent</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>pom</packaging> 

<name>scm-parent</name> 
<description>scm project for Spring Boot</description> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.7.RELEASE</version> 
    <relativePath /> <!-- lookup parent from repository --> 
</parent> 

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

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

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-cassandra</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-rest</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-tomcat</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>5.4.1.Final</version> 
    </dependency> 
</dependencies> 

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


<modules> 
    <module>userService</module> 
    <module>authenticationService</module> 
    <module>dataLayerService</module> 
    <module>uiService</module> 
    <module>crudEngineService</module> 
</modules> 

입니다 그리고 콘솔 결과가

0입니다
2017-10-07 13:03:32.348 INFO 6508 --- [   main] 
c.s.configuration.CRUDEngineApplication : Starting CRUDEngineApplication on 
STS-STP-A808 with PID 6508 (started by muthuvignesh.k in E:\Septa_Bench\STS 
Septa Repo\ppts_scm\scm-parent\crudEngineService) 
2017-10-07 13:03:32.350 INFO 6508 --- [   main] 
c.s.configuration.CRUDEngineApplication : No active profile set, falling 
back to default profiles: default 
2017-10-07 13:03:32.378 INFO 6508 --- [   main] 
s.c.a.AnnotationConfigApplicationContext : Refreshing org.spring[email protected]4df828 
d7: startup date [Sat Oct 07 13:03:32 IST 2017]; root of context hierarchy 
2017-10-07 13:03:32.766 WARN 6508 --- [   main] 
o.h.v.m.ParameterMessageInterpolator  : HV000184: 
ParameterMessageInterpolator has been chosen, EL interpolation will not be supported 
2017-10-07 13:03:32.872 WARN 6508 --- [   main] o.h.v.m.ParameterMessageInterpolator  : HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported 
2017-10-07 13:03:33.052 INFO 6508 --- [   main] com.datastax.driver.core.Native   : Could not load JNR C Library, native system calls through this library will not be available (set this logger level to DEBUG to see the full stack trace). 
2017-10-07 13:03:33.052 INFO 6508 --- [   main] com.datastax.driver.core.ClockFactory : Using java.lang.System clock to generate timestamps. 
2017-10-07 13:03:33.197 INFO 6508 --- [   main] com.datastax.driver.core.NettyUtil  : Did not find Netty's native epoll transport in the classpath, defaulting to NIO. 
2017-10-07 13:03:33.541 INFO 6508 --- [   main] c.d.d.c.p.DCAwareRoundRobinPolicy  : Using data-center name 'datacenter1' for DCAwareRoundRobinPolicy (if this is incorrect, please provide the correct datacenter name with DCAwareRoundRobinPolicy constructor) 
2017-10-07 13:03:33.543 INFO 6508 --- [   main] com.datastax.driver.core.Cluster   : New Cassandra host /10.10.30.125:9042 added 
2017-10-07 13:03:33.795 INFO 6508 --- [   main] o.s.j.e.a.AnnotationMBeanExporter  : Registering beans for JMX exposure on startup 
2017-10-07 13:03:33.804 INFO 6508 --- [   main] c.s.configuration.CRUDEngineApplication : Started CRUDEngineApplication in 1.619 seconds (JVM running for 2.002) 
+1

당신은 '시작되지'무엇을 의미합니까? 어떤 오류가 있습니까? catalina.out 로그를 붙이십시오. – zuckermanori

+0

콘솔 결과를 업데이트했습니다. @zuckermanori –

+1

컨테이너가 없으므로 제공된 범위로 설정합니다. 즉, 런타임시 사용할 수 없으므로 시작할 것이 없습니다. –

답변

1

<scope>provided</scope>을 pom.xml에서 삭제하고 다시 실행 해보십시오. war를 다른 독립 실행 형 tomcat에 배포하려면 (제공된)을 사용하십시오.

참조 : Spring Boot Embedded Tomcat