私はSpring 3を初めて使用し、宣言的なアプローチを回避する一連の注釈を提供します。アノテーションベースと宣言型アプローチの違いは何ですか? 注釈ベースの欠点はありますか?
1 に答える
2
注釈を使用することは、メソッドに追加の Java コードを含めるプログラムによるアプローチとは対照的に、宣言的なアプローチを使用する 1 つの方法です。
宣言的アプローチ:
@Transactional
public void transferMoney(Long debitorId, Long creditorId, BigDecimal amount) {
Account debitor = accountDAO.findById(debitorId);
Account creditor = accountDAO.findById(creditorId);
creditor.add(amount);
debitor.remove(amount);
}
プログラムによるアプローチ:
public void transferMoney(Long debitorId, Long creditorId, BigDecimal amount) {
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
Account debitor = accountDAO.findById(debitorId);
Account creditor = accountDAO.findById(creditorId);
creditor.add(amount);
debitor.remove(amount);
}
});
}
于 2012-08-10T08:22:48.807 に答える