Spring은 "dev"프로필에서 Bean을 초기화 할 수 없습니다.

아담 오스트로 즐릭

내 코드에서 다음 예외가 발생합니다.

Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'Unknown' available
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:686)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1210)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1089)
    at core.Main.main(Main.java:38)

혼합 구성-XML 및 주석 기반을 사용하고 있습니다.

개발 컨텍스트 :

<beans profile="dev">

    <context:component-scan base-package="core"/>
    <context:annotation-config/>

    <import resource="classpath:beans/beans.xml"/>

</beans>

Beans.xml 컨텍스트 : XML로 초기화 된 다른 Bean을 포함합니다. 여기에는 주석이 사용되지 않습니다.

<beans profile="dev,default">
   <bean ...
   <bean ...
</beans>

그리고 여기에 문제가있는 구성이 있습니다 (아래 주석을 참고하십시오).

@Configuration
@Profile({"dev"})
public class MyConfig {

    @Bean(value="Unknown")
    @Description("Bean for unknown user")
    public User getUnknownUser() {
        User user = new User(-1);
        user.setUsername("Unknown");
        return user;
    }
}

Spring은 XML에 정의 된 Bean을 올바르게 초기화 default합니다. 이 Bean은 프로필에 있습니다. 알 수없는 사용자 만 dev프로필에 있습니다.

메인 클래스 :

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("dev.xml");
applicationContext.getEnvironment().acceptsProfiles("dev");
User unknown = (User)applicationContext.getBean("Unknown");
LOGGER.info(unknown.toString());

당신의 도움을 주셔서 감사합니다

아담 오스트로 즐릭

이 줄이 누락되었음을 발견했습니다.

    applicationContext.refresh();

지금 작동합니다. 감사합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Spring에서 Bean 클래스를 초기화 할 수 없습니다.

Electron-프로그램을 초기화 할 수 없습니다.

Spring Bean 초기화 시간을 계산할 수 있습니까?

Android에서 Parse 용 Mandrill을 초기화 할 수 없습니다.

Julia에서 큰 행렬을 초기화 할 수 없습니다.

초기화에서 유형을 변환 할 수 없습니다.

Wine은 더 이상 OpenGL을 초기화 할 수 없습니다.

PHP 7로 mbstring을 초기화 할 수 없습니다.

{0}로 부동 배열을 초기화 할 수 없습니다.

timeIntervalSince1970으로 NSTimeInterval을 초기화 할 수 없습니다.

초기화 후 DataGrid에 행을 추가 할 수 없습니다.

언어 서버 프로토콜을 초기화 할 수 없습니다.

App Engine에서 클래스를 초기화 할 수 없습니다. dev_appserver에서 작동합니다.

C ++ : 같은 형식의 상수에서 열거 형 값을 초기화 할 수 없습니다.

Spring은 기본 Spring Boot 앱에서 Bean을 찾을 수 없습니다.

classpath:wsdl에서 기본 wsdl을 초기화할 수 없습니다.

값을 정수 배열로 처음 초기화 한 후 다시 초기화 할 수 없습니다.

AJAX 응답에서 DataTable을 다시 초기화할 수 없습니다.

curtains.js — 셰이더 프로그램을 초기화 할 수 없습니다.

C++ 11에서 유니온을 초기화할 수 없습니다.

초기화되지 않은 변수, Void 메서드는 값을 반환 할 수 없으며 변수로 확인할 수 없습니다.

프록시를 초기화 할 수 없습니다. Spring 인터셉터 내부에 세션이 없습니다.

LazyInitializationException : 프록시를 초기화 할 수 없습니다-Spring 및 Hibernate에 세션이 없습니다.

Dev Express DataGrid 셀은 VB.NET에서 값을 변경할 수 없습니다.

Mac 용 VSCode에서 PowerShell 세션을 초기화 할 수 없습니다.

Windows에서 Elastic Beanstack을 초기화 / 구성 할 수 없습니다.

컨트롤러에서 youtube_it을 초기화 할 수 없습니다.

Angular JS 2에서 연속 선택을 초기화 할 수 없습니다.

C에서 큰 2D 배열을 초기화 할 수 없습니다.

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관