私はWEBアプリケーションを持っています。POJO から Spring アプリケーション内のクラス (サービス) を呼び出すように依頼されました。
サービスは、Web サービスまたは REST として公開されていません。私はただのjarとしてのアプリケーションでした。これをビルドパスに追加してサービスを呼び出す必要がありました。
効きますか??
ひどく混乱しています!
私はWEBアプリケーションを持っています。POJO から Spring アプリケーション内のクラス (サービス) を呼び出すように依頼されました。
サービスは、Web サービスまたは REST として公開されていません。私はただのjarとしてのアプリケーションでした。これをビルドパスに追加してサービスを呼び出す必要がありました。
効きますか??
ひどく混乱しています!
ここにはあまり詳細はありませんが、これは Spring MVC を使用する Spring アプリケーションであると想定しています。その場合、サービスをクラスとして呼び出せない理由はありません。
これが、JUnit を使用して Spring で @Controller クラスをテストできる理由です。これは文字通り単なる POJO です。
これを行う方法の例として、以下のリンクを参照してください。
pojo が Spring Bean の場合、次のようにサービスを自動配線できます。
public class YourPojo {
@Autowired
YourService yourService;
}
Pojo に @Component でアノテーションを付けるか、ApplicationContext.xml で宣言して、Pojo を Spring Bean にすることを検討してください。
そうでない場合は、リクエスト オブジェクトがあれば、次のようにサービスを取得します。
ServletContext sc = req.getSession().getServletContext();
ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(sc);
YourService yourService = ac.getBean("yourService");