|
|
|
Spring @Transactional и @RequestMapping, транзакции не работают
|
|||
|---|---|---|---|
|
#18+
Доброго дня. По архитектуре Spring MVC, желательно использовать три слоя: Контроллер, Сервис, ДАО. Правильно в контроллере делать валидацию данных, в сервисе реализовывать бизнес логику, а дао реализует простые методы доступа к данным. В моем случае я пропустил Service слой, так как в нем нет особо надобности иначе в контроллере вызывается один метод сервиса. Когда был сервис слой, то на метод я навешивал аннотацию Transactional и транзакция работает, после переноса я попытался навесить аннотацию на контроллер и у меня она перестала работать. Spring context'a у меня два, один при загрузки web приложения, в web.xml : Код: xml 1. 2. 3. 4. 5. 6. 7. , где application-context.xml описана работа транзакций: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. второй контекст подгружается: диспетчер Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. , где в servlet-context.xml описан пакет для контроллеров. Может кто знает как победить проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2013, 22:40:55 |
|
||
|
Spring @Transactional и @RequestMapping, транзакции не работают
|
|||
|---|---|---|---|
|
#18+
Наверное проблема уже давно решена, но все же напишу. По идее, если у вас в component-scan прописаны разные пакеты в разных контекстах, то не должно быть проблемы. У меня именование пакетов не подходит для того, чтобы можно было сканировать их по-отдельности, поэтому я делал так: application-context.xml Код: xml 1. 2. 3. 4. 5. servlet-context.xml Код: xml 1. 2. 3. Здесь обязательно необходимо указать use-default-filters="false" . Как видно, tx:annotation-driven указан на уровне application-context.xml, соответственно использовать его надо на уровне @Service, @Repository и т.д., что в принципе логично. Ссылка по теме: http://java.dzone.com/articles/how-i-resolved ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2013, 02:01:37 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2129332]: |
0ms |
get settings: |
12ms |
get forum list: |
19ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
37ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 435ms |

| 0 / 0 |
