Hallo,
ich schau mir gerade ein Rich Domain Beispiel an und es ist mir auch ziemlich klar, was ich nicht ganz verstehe ist, was @Transactional (unten) genau macht, @Service ist mir klar -> dem Spring Framework wird bekanntgegeben, dass es sich um einen Service handelt (was das dann bringt, hab ich auch noch nicht herausgefunden), @Autoowired ist klar, die DAOs werden in das Object injiziert, @Transactional ist mir in diesem Kontext nicht klar, @Transactional hat ja was mit Datenbanken zu tun aber was bringt mir das, wenn ich die Methode @Transactional deklariere?
Vielleicht könnte jemand kurz eine Erklärung abgeben,
Besten Dank,
ich schau mir gerade ein Rich Domain Beispiel an und es ist mir auch ziemlich klar, was ich nicht ganz verstehe ist, was @Transactional (unten) genau macht, @Service ist mir klar -> dem Spring Framework wird bekanntgegeben, dass es sich um einen Service handelt (was das dann bringt, hab ich auch noch nicht herausgefunden), @Autoowired ist klar, die DAOs werden in das Object injiziert, @Transactional ist mir in diesem Kontext nicht klar, @Transactional hat ja was mit Datenbanken zu tun aber was bringt mir das, wenn ich die Methode @Transactional deklariere?
Vielleicht könnte jemand kurz eine Erklärung abgeben,
Besten Dank,
Java:
@Service
public class ThinNewShoppingCartService implements ShoppingCartService {
private ShoppingCartDao shoppingCartDao;
private ProductDao productDao;
@Autowired
public ThinNewShoppingCartService(ShoppingCartDao shoppingCartDao, ProductDao productDao) {
this.shoppingCartDao = shoppingCartDao;
this.productDao = productDao;
}
@Transactional
public void putInto(Long shoppingCartId, Long productId, int amount) throws ShoppingLimitExceededException {
ShoppingCart cart = shoppingCartDao.getShoppingCartById(shoppingCartId);
Product product = productDao.getProductById(productId);
cart.add(product, amount);
}
}