< 에러 메시지 >
4월 28, 2024 12:23:48 오후 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 47 in XML document from file [C:\dev\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\04_springJdbc_Self\WEB-INF\classes\context-root.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 47; columnNumber: 98; The prefix "beans" for element "beans:bean" is not bound.
XmlBeanDefinitionStoreException
스프링 애플리케이션 컨텍스트에서 xml형식의 빈 정의를 로드할때 주로 발생
- 빈정의 파일의 오류 ( XML 빈 정의 파일에 구문 오류가 있거나, 빈 정의가 올바르게 구성되지 않은 경우 발생 )
- 빈클래스 누락 ( 빈 정의에서 참조하는 클래스가 존재하지 않거나, 클래스 패스에 없는 경우에 발생 )
- 빈을 로드하거나 구성할때 문제 ( 빈 정의에서 지정된 빈을 로드하거나 구성하는 동안 발생하는 문제로 인해 발생 )
< 원인 >
<beans:bean id="encryptorConfig" class="org.jasypt.encryption.pbe.config.EnvironmentPBEConfig">
<beans:property name="algorithm" value="PBEWithMD5AndDES" />
<beans:property name="passwordEnvName" value="TEST_KEY" />
</beans:bean>
<beans:bean id="encryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<beans:property name="config" ref="encryptorConfig" />
</beans:bean>
<beans:bean class="org.jasypt.spring31.properties.EncryptablePropertyPlaceholderConfigurer">
<beans:constructor-arg ref="encryptor" />
<beans:property name="locations">
<beans:list>
<beans:value>classpath:config/db-context-loc.properties</beans:value>
</beans:list>
</beans:property>
</beans:bean>
beans가 앞에 다 붙어있어 beans안에 beans가 있어서 에러
< 해결 >
<!-- 암호화 -->
<bean id="encryptorConfig" class="org.jasypt.encryption.pbe.config.EnvironmentPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<property name="password" value="jun" />
</bean>
<bean id="encryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="encryptorConfig" />
</bean>
<bean class="org.jasypt.spring31.properties.EncryptablePropertyPlaceholderConfigurer">
<constructor-arg ref="encryptor" />
<property name="locations">
<list>
<value>classpath:/application.properties</beans:value>
</list>
</property>
</bean>
bean의 앞에 붙어있는 beans 제거
'에러 모음' 카테고리의 다른 글
UnsatisfiedDependencyException, BeanCreationException, IllegalArgumentException (0) | 2024.05.10 |
---|---|
CannotLoadBeanClassException (0) | 2024.05.09 |
BadSqlGrammarException (0) | 2024.05.09 |
TransientDataAccessResourceException (0) | 2024.05.09 |
EmptyResultDataAccessException (0) | 2024.05.08 |