source

@Spring Boot Application 주석을 사용한 구성

factcode 2023. 2. 17. 21:40
반응형

@Spring Boot Application 주석을 사용한 구성

스프링 부트 설정에 문제가 있다.

https://start.spring.io/을 사용하여 기본 Spring Boot 프로젝트를 만들었습니다.

문제가 있습니다.설정은 서브카탈로그의 클래스에 대해서만 기능합니다.

여기에 이미지 설명 입력

주석 @ComponentScan을 시도했지만 도움이 되지 않았습니다.

내가 이걸로 뭘 할 수 있을지 알기나 해?

상태에 관한 Spring Boot 매뉴얼

Boot 에 "Spring Boot"에 .@Configuration,@EnableAutoConfiguration ★★★★★★★★★★★★★★★★★」@ComponentScan 주석들은 되기 때문에( 위의 베스트프랙티스를 ), 한 Spring Boot을 @SpringBootApplication★★★★★★ 。

주석은 사용하는 것과 같으며 기본 속성인 [...]를 사용합니다.

여기서 javadoc은

특정 패키지가 정의되지 않은 경우 이 주석을 선언하는 클래스의 패키지에서 검색이 수행됩니다.

「」와 만이, 「」라고 하는 입니다.ReadingListApplication캔캔됩됩됩됩됩

는, 인 설정을 합니다.@Configuration,@EnableAutoConfiguration , , , , 입니다.@ComponentScan(일부러)

스프링 매뉴얼 확인:

http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/SpringBootApplication.html

@SpringBootApplication을 사용하여 컴포넌트 스캔의 기본값을 덮어쓸 수 있습니다.파라미터로 포함하기만 하면 됩니다.

@SpringBootApplication(scanBasePackages = "entertainment")

또는 문자열 배열:

@SpringBootApplication(scanBasePackages = {"entertainment", "readinglist"})

를 할 때Spring boot 포함)를 취득합니다.@SpringBootApplication기본 패키지에 주석을 추가합니다.

@SpringBootApplication컴포넌트 스캔입니다.단, 서브패키지만 스캔합니다.즉, com.mypackage에 해당 클래스를 넣으면 com.mypackage.*와 같은 서브패키지의 모든 클래스가 스캔됩니다.

않다면 하면 .@ComponentScan(예: 「」)@ComponentScan("com.mypackage")

기본 패키지, 즉 com.mypackage를 추천합니다.그리고 이 패키지 안에는 서브 패키지가 들어 있습니다.다음 내용을 포함하는 클래스가 있습니까?@SpringBootApplication그 기본 패키지에 넣어주세요.

저도 같은 문제가 있어서 해결하려고 패키지의 이름을 이렇게 바꿨어요.

"com.project"

Spring Boot Aplication 메인 클래스를 배치하고 "com.project"로 시작하는 다른 패키지를 만들 수 있습니다.

"com.project.dao"

"com.project.controller"

이 서브프로젝트 구조를 작성하면 @SpringBootApplication 주석에서 scanBasePackages를 사용할 필요가 없습니다.이 작업을 수행하면 프로젝트의 모든 컴포넌트를 찾을 수 있습니다.

또한 scanBasePackages를 사용하기로 선택한 경우 모든 구성 요소 패키지를 다음과 같이 설정해야 합니다.

@SpringBootApplication(scanBasePackages = {"com.project.dao", "com.project.controller")

패키지 스캔이 제대로 작동하려면 다음 작업을 수행해야 합니다.

@SpringBootApplication(scanBasePackages = {"com.your.package.test.*.*"})

첫 번째 아스타리스크는 메인 패스(com.your.package.test) 내의 모든 패키지를 스캔하도록 지시하고 두 번째 아스타리스크는 각 패키지의 모든 파일을 스캔하도록 지시합니다.

예를 들어 다음과 같습니다.

com.your.package.test
|_ config
|_ business
|_ controller
|_ domain
|_ repository

Boot라는 이 붙은 모든 로는 Spring Boot의 생활을 싶다고 .@SpringBootApplication 에서는 '클래스의 패키지 아래에 '라는 입니다.ReadingListApplication 「」를 참조해 주세요.readinglist(신호)

이 예에 따라 컨트롤러, 저장소 및 빈북을 작성할 수 있습니다(도메인 이름을 기반으로 함).

그렇게 하면 여분의 것이 있다.할 수 .ReadingListApplication이을 합니다.은 Java 패키지로 할 수 .readinglist이 콩들을 스캔할 거예요

수 있는 ('만').@SpringBootApplication(미국의)

「」의 .readinglist패키지에는 설정이 필요합니다.

IDE에 합니다.@SpringBootApplication '아까운'이 나올 거예요.scanBasePackages.

'''scanBasePackages아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 맞다.예시와 같이 추가 패키지를 추가하려면 이 주석을 사용해야 합니다.

@SpringBootApplication(scanBasePackages = {"readinglist","entertainment"})

list"를 다시 를 모두 에서는 "reading list" 패키지는입니다.왜냐하면 스캔을 상세하게 구성하고 필요한 모든 추가 패키지를 추가합니다.이에개개개개개개개개개개개1 개개개entertainment.

하면,의 패키지가 「」라고 표시됩니다.readinglist ★★★★★★★★★★★★★★★★★」entertainment을 사용하다을 "Java Configuration" 에 넣을 수 .entertainment이 콩들을 스캔할 거예요

언급URL : https://stackoverflow.com/questions/33619532/configuration-using-annotation-springbootapplication

반응형