- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我相当确信存在一些类或 jar 问题,但我不清楚它是什么。 beanName 错误不会在任何类型的搜索中提供非常有用的数据。当我收到错误时,我正在尝试在 Tomcat 8 上启动它。我在 hibernate 5 上运行。这是我的错误:
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring/data.xml]: 'beanName' must not be empty; nested exception is java.lang.IllegalArgumentException: 'beanName' must not be empty
at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:223)
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:222)
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:86)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:284)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:166)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:681)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:523)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5189)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1404)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1394)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: 'beanName' must not be empty
at org.springframework.util.Assert.hasText(Assert.java:168)
at org.springframework.beans.factory.config.RuntimeBeanReference.<init>(RuntimeBeanReference.java:58)
at org.springframework.beans.factory.config.RuntimeBeanReference.<init>(RuntimeBeanReference.java:46)
at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:178)
at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitPropertyValues(BeanDefinitionVisitor.java:141)
at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:82)
at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:220)
... 18 more
这是 data.xml 中引用的 bean:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean" >
<property name="dataSource" ref="${database.dataSource}" />
<property name="annotatedClasses">
<list>
<value>com.adilly.giftlist.model.BaseEntity</value>
<value>com.adilly.giftlist.model.EmailOptOut</value>
<value>com.adilly.giftlist.model.Event</value>
<value>com.adilly.giftlist.model.EventComment</value>
<value>com.adilly.giftlist.model.EventUser</value>
<value>com.adilly.giftlist.model.PersistentLogins</value>
<value>com.adilly.giftlist.model.User</value>
<value>com.adilly.giftlist.model.WishItem</value>
<value>com.adilly.giftlist.model.WishItemComment</value>
<value>com.adilly.giftlist.model.WishItemReservation</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${database.dialect}</prop>
<prop key="hibernate.connection.autocommit">true</prop>
<prop key="hibernate.connection.autoReconnect">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">${database.showSQL}</prop>
<!--
<prop key="hibernate.current_session_context_class">thread</prop>
<prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop>
-->
</props>
</property>
</bean>
最佳答案
问题是您将属性指向数据源!
<property name="dataSource" ref="${database.dataSource}" />
您应该创建一个 ID 为“datasource”的 bean,并在您的 sessionFactory 上引用它!看看这个例子:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}"/>
</bean>
然后,在您的 sessionFactory
上,更改为:
<property name="dataSource" ref="dataSource" />
关于java - beanName 不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41152741/
使用 @Qualifier("beanName") 和 @Component("beanName") 有什么区别吗?如果没有,是否有首选方法? 最佳答案 通常,您在组件上使用 @Component("
使用 @Qualifier("beanName") 和 @Component("beanName") 有什么区别吗?如果没有,是否有首选方法? 最佳答案 通常,您在组件上使用 @Component("
有人知道使用@Resource和getBean获取bean的过程有何不同吗?现在我遇到的情况是这样的: @Autowired ApplicationContext applicationContext
我相当确信存在一些类或 jar 问题,但我不清楚它是什么。 beanName 错误不会在任何类型的搜索中提供非常有用的数据。当我收到错误时,我正在尝试在 Tomcat 8 上启动它。我在 hibern
嗨@All :) 我这里有一个奇怪的问题。我想用 @EJB(beanName="user") 在类中注入(inject) UserBean 托管实体。如果我不使用 beanName 属性,我会收到以下
在我的简单 Spring Batch 应用程序中,出现错误 'beanName' 不能为空。我不知道,spring 配置中缺少什么。 spring-beans.xml
问题 有一个Processor处理基于其 typesToProcess 的类: import org.springframework.stereotype.Component; @Component
问题是我需要使 beanName 可为空。因为 spring 的某些部分传递了 null 而不是有效的 bean 名称(例如 Quartz)。 Java 上的相同实现可以正常工作。 我尝试添加 Jet
这可能吗?我想这样做: @EJB(beanName = "MyStratImpl") public DateTimeReadImpl(MyStrategy myStrategy) { this.s
class 标签的 beanName 属性和 jsp:useBean 属性有什么区别。 最佳答案 只需阅读 the documentation (page 35) 。这是相关性的摘录: class=
我正在研究一种实验方法,该方法将采用 bean 名称、属性名称和值表达式,并使用 Spring SPeL 为该 bean 的该属性分配该值。具有此方法的类是 ManagedResource,因此我可以
name 和有什么区别, beanName和 mappedName注释属性 @EJB在 EJB3.0 中? 我在以下链接在网上找到了这个 - http://www.tutorialspoint.com
我在很多情况下都见过 .handle("someBean", "someMethod") EIP 方法,在集成流程中发挥着巨大的作用。我可以理解它只是以前的 XML 配置中的一个服务激活器,但我需要一
我是 Spring MVC 的初学者,我不明白为什么我总是收到同样的错误: java.lang.IllegalStateException: Neither BindingResult nor pla
我是一名优秀的程序员,十分优秀!