[Javalist] Spring mongodb repository

zamek42 zamek42 at gmail.com
2012. Júl. 12., Cs, 13:43:18 CEST


hello,

A spring mongo doksi szerint a repository úgy néz ki, hogy csinálok egy 
interface-t, ami öröklődik a Repository vagy valami *Repository 
interface-től.
Ezután a repository package útvonalát megadva a spring kivánságra 
szolgáltat egyet.

Egy mintapéldában ez működik is:

<mongo:repositories base-package="charris.example.repositories" />

a szóban forgó repository igy néz ki:

public interface ProductRepository extends MongoRepository<Product, 
String>, QueryDslPredicateExecutor<Product> {

}

a használat:
ProductRepository repo = context.getBean(ProductRepository.class);

Ez működik, annak dacára, hogy a repository egy interface!

Ennek analógiájára szeretnék a saját web app-omban is eljárni:

package com.zamek.monitor.core.server.logging.repositories;
...
public interface BaseEventRepository extends MongoRepository<BaseEvent, 
Long>,
QueryDslPredicateExecutor<BaseEvent> {
}

az appContext.html-ben ez van:

<context:annotation-config />

<mongo:mongo host="localhost" port="27017" />

<bean id="mongoTemplate"
class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongo" />
<constructor-arg name="databaseName" value="monitordb" />
</bean>

<mongo:repositories 
base-package="com.zamek.monitor.core.server.logging.repositories"/>

Így szeretnék kapni egy példányt:

BaseEventRepository repository = 
this.context.getBean(BaseEventRepository.class);

Erre kapok egy szép nagy exception-t:

cause NoSuchBeanDefinitionException (id=174)
beanName null
beanType Class<T> 
(com.zamek.monitor.core.server.logging.repositories.BaseEventRepository) 
(id=189)
cause NoSuchBeanDefinitionException (id=174)
detailMessage "No unique bean of type 
[com.zamek.monitor.core.server.logging.repositories.BaseEventRepository] 
is defined: expected single bean but found 0: " (id=188)

Mit rontok el?

-- 
thx
Zoltan (Zamek) Zidarics
programmer
email:zamek42 at gmail.com
skype:zamek_z



További információk a(z) Javalist levelezőlistáról