次の状況。Domain JpaRepository(インターフェース)システムが好きなので、spring-dataを使いたいです。
ここに来ますが、私はSpring-Framework自体を使いたくありません。javax.* ejb3 仕様に固執したい
プロジェクト構成をセットアップしようとしています。
pesrstance レイヤーを表す spring-data-jpa を使用したプロジェクトがあります。@autowired の代わりに @Service と @Inject のスプリングの代わりに @Stateless を使用しています (同義語があると聞いたためです。persistancelayer 内の Accountservice は、目的をテストするためだけに存在します。
PersistanceModule(Eclipseproject)
|
|-com.ns.persistance
| |-domain
| |-Account
| |-repository
| |-AccountRepository (JpaRepositry interface)
| |-test
| |-AccountService (which contains a method do save a user in the database)
アカウントリポジトリ
public interface AccountRepository extends JpaRepository<Account, Long> {
Account findByUsername(String username);
}
テスト目的のアカウント サービス。
@Stateless
public class AccountService {
@Inject
private AccountRepository ar;
public void createTestAccount() {
Account account = new Account();
account.setUsername("testAccount");
account.setPassword("sicheres passwort");
account.setEmail("kks.cs@web.de");
account.setCreationTime(new Date());
account.setLastModificationDate(new Date());
account = ar.save(account);
}
}
春のデータをテストするワークジョブ
@Singleton
public class SSService {
@EJB
AccountService as;
@Schedule(minute = "*/5", hour = "*", persistent = false)
public void doWork() {
System.out.println("WorkJob!!!!!!!");
//as.createTestAccount();
}
}
spring-data-config.xml があります
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
<jpa:repositories base-package="com.ns.persistence.repository" />
</beans>
JBoss は、AccountService が NULL (Nullpointer) であると私に言い続けます。いくつかの構成を設定するのを忘れたと思いますが、コツがつかめず、グーグルで簡単なSpringframeworkソリューションを取得し続けています。私の質問: 何を見逃しましたか? Spring データは EJB(javax) で動作しますか、それとも springframework を使用する必要がありますか。