1

次の問題に直面しています。ユーザーを SpEL を使用してサービス メソッドに渡そうとすると、

evaluate expression="commonService.userTest(user)" result="flowScope.user"

春は私に次の例外をスローします:

org.springframework.expression.spel.SpelEvaluationException: EL1004E:(pos 14): メソッド呼び出し: メソッド userTest(com.x.domain.common.User) が com.sun.proxy.$Proxy114 タイプで見つかりません

しかし、User オブジェクトの代わりにプレーン テキストを渡すと、

evaluate expression="commonService.userTest('Hello')" result="flowScope.user"

エラーはありません。

@Entity
@Table(name = "users")
@Getter
@Setter
@NoArgsConstructor
@Slf4j
public class User extends BaseEntity implements UserDetails {

    @Column(unique = true)
    @NotEmpty
    private String username;

    @Column
    @NotEmpty
    @Size(min = 5)
    private String password;
}

@Service("commonService")
public class CommonServiceImpl implements CommonService {
    @Transactional(readOnly = true)
    @Override
    public User userTest(String name) {
        User user = createUser();
        user.setUsername(name);
        return user;
    }
    @Transactional(readOnly = true)
    @Override
    public User userTest(User user) {
        return user;
    }
}
4

2 に答える 2