我是Spring 3的新手,它提供了一堆註釋,它避免了聲明式方法。 基於註釋和聲明式方法之間的區別究竟是什麼?註釋是否有缺點?Spring聲明與註釋
回答
使用註釋是一種方法使用聲明的方式,而不是使用programmpatic方法,包括在你的方法額外的Java代碼:
聲明方式:
@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);
}
});
}
不應該第一個是'註解方法',而聲明式方法==通過上下文配置XML聲明? – 2012-08-10 08:25:36
你給他們你想要的名字。我的觀點是使用註釋仍然是一種聲明方式。您使用註釋在源代碼中聲明,而不是在外部XML文件中聲明它,但它仍然是聲明性的,因爲它使方法的代碼保持原樣,完全集中在業務代碼上。 – 2012-08-10 08:33:22
你是對的,它們都是自然界的聲明。我可能會在原始問題的推動下發表評論:聲明與註釋?在這種情況下,正確的問題應該是:'在XML中聲明而在註釋中聲明'。 – 2012-08-10 09:05:40
- 1. 多行註釋聲明後
- 2. Spring批註與註釋
- 3. Spring MVC + Hibernate + Maven:在bean聲明中發現多個註釋
- 4. 如何在使用註釋時聲明Spring bean autowire-candidate =「false」?
- 5. 這個註釋是否適用於Spring聲明式事務
- 6. Spring JMS - 聲明式事務管理使用註釋
- 7. spring dataSource config。與註釋
- 8. Spring AOP與aspectj註釋
- 9. 闡明Spring註釋API文檔
- 10. 註釋中的spring-restdocs字段說明
- 11. XML註釋聲明的事件
- 12. Java @Target annotaion如何聲明Target註釋?
- 13. 從聲明中轉發註釋值
- 14. flex/bison多行註釋聲明
- 15. 函數聲明中的塊註釋?
- 16. spring @Transactional註釋
- 17. Spring @ComponentScan註釋
- 18. Spring @Value註釋
- 19. Spring名稱註釋
- 20. Spring註釋組件
- 21. Spring Scope註釋值
- 22. Spring + Hibernate ORM註釋
- 23. 註釋在Spring MVC
- 24. Spring MVC註釋@ModelAttribute
- 25. Spring @RequestMapping值與名稱註釋
- 26. 使用Spring MVC註釋驗證與Freemarker
- 27. JPA與Spring MVC通過註釋配置
- 28. 是否有用XML聲明的Spring Mvc控制器屬性的註釋替代?
- 29. 在Spring框架中使用** @ Autowired **註釋和接口聲明的一些疑問
- 30. #define聲明解釋
可能是http://stackoverflow.com/questions/182393/xml-configuration-versus-annotation-based-configuration?rq=1 – heldt 2012-08-10 06:19:26