2017-01-17 9 views
2

MySQL을 백엔드로 사용하는 스프링 부트 (1.4.3.RELEASE) 애플리케이션이 있습니다. Oracle UCP 및 MySQL과 함께 Spring 데이터를 사용하여 연결 풀링을위한 Java 연결. 이제 다중 모듈 프로젝트로 이동하려고합니다. 따라서 프로젝트 구조는 다음과 같습니다. 웹에서스프링 데이터가있는 스프링 부트 maven 다중 모듈 프로젝트

<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/maven-v4_0_0.xsd"> 

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

    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.test</groupId> 
    <artifactId>test-parent</artifactId> 
    <packaging>pom</packaging> 
    <version>1.0.0-SNAPSHOT</version> 
    <name>Test Project</name> 
    <description>Test components</description> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
     <version.spring.boot>1.4.3.RELEASE</version.spring.boot> 
     <version.mysql.connector>6.0.5</version.mysql.connector> 
     <version.slf4j>1.7.21</version.slf4j> 

    </properties> 

    <dependencyManagement> 
     <dependencies> 
      <!-- Spring --> 
      <dependency> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-configuration-processor</artifactId> 
       <version>${version.spring.boot}</version> 
       <optional>true</optional> 
      </dependency> 
      <dependency> 
       <groupId>org.slf4j</groupId> 
       <artifactId>slf4j-api</artifactId> 
       <version>${version.slf4j}</version> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <modules> 
    <module>cc-model</module> 
    <module>cc-common</module> 
    <module>cc-dbrepo</module> 
    <module>cc-dbservice</module> 
    <module>cc-dbserviceimpl</module> 
    <module>cc-web</module> 
</modules> 

</project> 

Application.java :

@SpringBootApplication(scanBasePackages = 
      { "com.test.dbrepo.service.impl", "com.test.db.service", "com.test.dbrepo.repository" }) 
public class DialerApplication { 

웹의 pom.xml 다음과 같이

parent project 
|---pom.xml -> This is a parent pom. 
|---common 
    |---pom.xml 
    |---src 
|---model 
    |---pom.xml 
    |---src 
|---service(Interface only) 
    |---pom.xml 
    |---src 
|---service Impl(Implementations only) 
    |---pom.xml 
    |---src 
|---repository(Spring Data) 
    |---pom.xml 
    |---src 
|---web 
    |---pom.xml 
    |---src 

내 부모의 pom.xml은

<dependencies> 

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

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

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

     <dependency> 
     <groupId>com.cc.dialer</groupId> 
     <artifactId>cc-dbservice</artifactId> 
     <version>${project.version}</version> 
    </dependency> 

에서 내 저장소 pom.xml, 스프링 데이터 있음

내 데이터 소스 코드와 리포지토리가 리포지토리 프로젝트에 있습니다. 주입을 통해 서비스 모듈을 사용하는 웹 모듈에 스프링 보안 코드가 있습니다.

내 웹 모듈 응용 프로그램을 시작할 때 아래와 같은 오류가 발생합니다.

오류 'webSecurityConfig'이름 bean 작성 : 불만족 의존성 필드 'UserDetailsService도'를 통해 표현; 예외는 입니다. org.springframework.beans.factory.UnsatisfiedDependencyException : 이름이 'userDetailsService'인 bean을 만드는 중 오류가 발생했습니다 : 불만족 'userService'필드를 통해 종속성을 표현했습니다. 자동으로 묶어 후보 자격을 예상 적어도 1 콩 'com.cc.test.db.service.UserService' 가능한 유형의 없음 자격 콩 : 중첩 된 예외는 org.springframework.beans.factory.NoSuchBeanDefinitionException입니다. 종속성 주석 : {@ org.springframework.beans.factory.annotation.Autowired이 (= TRUE 필수)}

이 없거나 다른 설정이있다.

시작할 때 서비스 임플란트 모듈의 Bean이 발견되지 않습니다.

감사

+0

POM을, 그래서 우리는 정말 여기에 당신을 도울 수

귀하의 주석은 다음과 같이한다. 드라이버에 선언 된 SQL 데이터 소스가 누락 되었습니까? WAR에서 tomcat에 포함되어 있습니까? 또는 jar 파일이 spring-boot 실행 가능한 jar 파일에 포함되어 있습니까? mysql 드라이버가 maven에서 어디에 선언 되었습니까? – zenbeni

+0

내 게시물이 업데이트되었습니다. – user1578872

+0

답변을 삭제하겠습니다. 오류 메시지에 _ "만족되지 않는 종속성"이라는 단어로 인해 오해가 있다고 생각합니다. 아마 당신의 Maven POM이 맞을 수도 있지만 Spring 빈 정의에 문제가있다. Spring bean ** (Annotations ???) **을 정의 할 때 코드의 필수 부분을 게시해야합니다. – JimHawkins

답변

0

패키지 com.cc.test.db.service은 구성에 따라 검색되지 않습니다.

추가하십시오. 당신이 불완전 보여

@SpringBootApplication(scanBasePackages = 
      { "com.test.dbrepo.service.impl", "com.test.db.service", "com.test.dbrepo.repository", "com.cc.test.db.service" }) 
관련 문제