2009-09-04 7 views
3

私は、まずUserServiceFactory Beanを作成し、それを使用してUserServiceのインスタンスを取得することで、SpringでGoogle App Engineユーザサービスを結びたいと考えました。Springを使用してGoogle App EngineのUserServiceFactoryを配線する

<bean id="googleUserServiceFactory" 
     class="com.google.appengine.api.users.UserServiceFactory"></bean> 

<bean id="googleUserService" 
     class="com.google.appengine.api.users.UserService" 
     factory-bean="googleUserServiceFactory" 
     factory-method="getUserService"></bean> 

私は、これはあなたが工場から入手豆を配線するための正しい方法はかなり確信しているが、私はこのエラーを取得:

Error creating bean with name 'googleUserService' defined in ServletContext resource [/WEB-INF/hardwire-service.xml]: No matching factory method found: factory bean 'googleUserServiceFactory'; factory method 'getUserService'

これは、ファクトリメソッドが見つからないことを言います。ファクトリメソッド名が変更されている可能性がありますか?

答えて

2

代わりにMethodInvokingFactoryBeanを使用してこれを動作させました。それは私が以前にしたものが何が間違っているかを考えるのは私にはまだバグです。とにかく:

<bean id="googleUserService" 
     class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 

     <property name="staticMethod" 
       value="com.google.appengine.api.users. 
          UserServiceFactory.getUserService"> 
     </property> 
</bean> 
1

あなたもこれを行うことができます。

@Configuration 
public class AppConfig { 

    @Bean 
    public UserService userService() { 
     return UserServiceFactory.getUserService(); 
    } 
関連する問題