´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Spring Framework Pavel Miˇcka
Pavel Miˇ cka
Spring Framework
1/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Obsah 1 2
3 4
´ Uvod Spr´ava z´avislost´ı Service locator Dependency injection Rozsah platnosti bean Dalˇs´ı vlastnosti Springu Moduly Springu
Pavel Miˇ cka
Spring Framework
2/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Co je to Spring framework
Inversion of control/Dependency injection container Open source Convention over configuration POJO–based (zabraˇ nuje vendor lock-inu) Nez´avisl´y na konkr´etn´ım paradigmatu Snadno integrovateln´y s mnoha frameworky a knihovnami Neinvazivn´ı Je kontejnerem s´am o sobˇe (nevyˇzaduje aplikaˇcn´ı server) Lze pouˇz´ıt pro desktopov´e i webov´e aplikace
Pavel Miˇ cka
Spring Framework
3/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Co je to Spring framework
Inversion of control/Dependency injection container Open source Convention over configuration POJO–based (zabraˇ nuje vendor lock-inu) Nez´avisl´y na konkr´etn´ım paradigmatu Snadno integrovateln´y s mnoha frameworky a knihovnami Neinvazivn´ı Je kontejnerem s´am o sobˇe (nevyˇzaduje aplikaˇcn´ı server) Lze pouˇz´ıt pro desktopov´e i webov´e aplikace
Pavel Miˇ cka
Spring Framework
3/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Co je to Spring framework
Inversion of control/Dependency injection container Open source Convention over configuration POJO–based (zabraˇ nuje vendor lock-inu) Nez´avisl´y na konkr´etn´ım paradigmatu Snadno integrovateln´y s mnoha frameworky a knihovnami Neinvazivn´ı Je kontejnerem s´am o sobˇe (nevyˇzaduje aplikaˇcn´ı server) Lze pouˇz´ıt pro desktopov´e i webov´e aplikace
Pavel Miˇ cka
Spring Framework
3/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Co je to Spring framework
Inversion of control/Dependency injection container Open source Convention over configuration POJO–based (zabraˇ nuje vendor lock-inu) Nez´avisl´y na konkr´etn´ım paradigmatu Snadno integrovateln´y s mnoha frameworky a knihovnami Neinvazivn´ı Je kontejnerem s´am o sobˇe (nevyˇzaduje aplikaˇcn´ı server) Lze pouˇz´ıt pro desktopov´e i webov´e aplikace
Pavel Miˇ cka
Spring Framework
3/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Co je to Spring framework
Inversion of control/Dependency injection container Open source Convention over configuration POJO–based (zabraˇ nuje vendor lock-inu) Nez´avisl´y na konkr´etn´ım paradigmatu Snadno integrovateln´y s mnoha frameworky a knihovnami Neinvazivn´ı Je kontejnerem s´am o sobˇe (nevyˇzaduje aplikaˇcn´ı server) Lze pouˇz´ıt pro desktopov´e i webov´e aplikace
Pavel Miˇ cka
Spring Framework
3/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Co je to Spring framework
Inversion of control/Dependency injection container Open source Convention over configuration POJO–based (zabraˇ nuje vendor lock-inu) Nez´avisl´y na konkr´etn´ım paradigmatu Snadno integrovateln´y s mnoha frameworky a knihovnami Neinvazivn´ı Je kontejnerem s´am o sobˇe (nevyˇzaduje aplikaˇcn´ı server) Lze pouˇz´ıt pro desktopov´e i webov´e aplikace
Pavel Miˇ cka
Spring Framework
3/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Co je to Spring framework
Inversion of control/Dependency injection container Open source Convention over configuration POJO–based (zabraˇ nuje vendor lock-inu) Nez´avisl´y na konkr´etn´ım paradigmatu Snadno integrovateln´y s mnoha frameworky a knihovnami Neinvazivn´ı Je kontejnerem s´am o sobˇe (nevyˇzaduje aplikaˇcn´ı server) Lze pouˇz´ıt pro desktopov´e i webov´e aplikace
Pavel Miˇ cka
Spring Framework
3/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Co je to Spring framework
Inversion of control/Dependency injection container Open source Convention over configuration POJO–based (zabraˇ nuje vendor lock-inu) Nez´avisl´y na konkr´etn´ım paradigmatu Snadno integrovateln´y s mnoha frameworky a knihovnami Neinvazivn´ı Je kontejnerem s´am o sobˇe (nevyˇzaduje aplikaˇcn´ı server) Lze pouˇz´ıt pro desktopov´e i webov´e aplikace
Pavel Miˇ cka
Spring Framework
3/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Co je to Spring framework
Inversion of control/Dependency injection container Open source Convention over configuration POJO–based (zabraˇ nuje vendor lock-inu) Nez´avisl´y na konkr´etn´ım paradigmatu Snadno integrovateln´y s mnoha frameworky a knihovnami Neinvazivn´ı Je kontejnerem s´am o sobˇe (nevyˇzaduje aplikaˇcn´ı server) Lze pouˇz´ıt pro desktopov´e i webov´e aplikace
Pavel Miˇ cka
Spring Framework
3/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Spring vs. EJB
Pavel Miˇ cka
Spring Framework
4/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection — motivace public class BookService { private BookDao bookDao = new BookDaoSqlImpl(); private OwnerDao ownerDao = new OwnerDaoSqlImpl(); private HashProvider hashProvider = new Sha1HashProvider(); ... } Z´avislost tˇr´ıdy BookService na implementac´ıch d´ılˇc´ıch sluˇzeb V´ymˇena Sql implementac´ı DAO objekt˚ u by vyˇzadovala pˇrepis vˇsech inicializac´ı v programu ˇ Casovˇ e n´aroˇcn´e a n´achyln´e k chyb´am Pavel Miˇ cka
Spring Framework
5/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection — motivace public class BookService { private BookDao bookDao = new BookDaoSqlImpl(); private OwnerDao ownerDao = new OwnerDaoSqlImpl(); private HashProvider hashProvider = new Sha1HashProvider(); ... } Z´avislost tˇr´ıdy BookService na implementac´ıch d´ılˇc´ıch sluˇzeb V´ymˇena Sql implementac´ı DAO objekt˚ u by vyˇzadovala pˇrepis vˇsech inicializac´ı v programu ˇ Casovˇ e n´aroˇcn´e a n´achyln´e k chyb´am Pavel Miˇ cka
Spring Framework
5/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection — motivace public class BookService { private BookDao bookDao = new BookDaoSqlImpl(); private OwnerDao ownerDao = new OwnerDaoSqlImpl(); private HashProvider hashProvider = new Sha1HashProvider(); ... } Z´avislost tˇr´ıdy BookService na implementac´ıch d´ılˇc´ıch sluˇzeb V´ymˇena Sql implementac´ı DAO objekt˚ u by vyˇzadovala pˇrepis vˇsech inicializac´ı v programu ˇ Casovˇ e n´aroˇcn´e a n´achyln´e k chyb´am Pavel Miˇ cka
Spring Framework
5/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Service locator public class BookService { private ServiceLocator locator = ServiceLocator .getInstance(); private BookDao bookDao = locator.get("bookDao" ); private OwnerDao ownerDao = locator.get(" ownerDao"); private HashProvider hashProvider = locator.get ("hashProvider"); ... }
Aplikace je nez´avisl´a na konkr´etn´ıch implementac´ıch sluˇzeb Vznikla vˇsak z´avislost na implementaci service locatoru Pavel Miˇ cka
Spring Framework
6/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection I. public class BookService { private BookDao bookDao; private OwnerDao ownerDao; private HashProvider hashProvider; public void setBookDao(BookDao bookDao){ this.bookDao = bookDao; } public void setOwnerDao(OwnerDao ownerDao){...} public void setHashProvider(HashProvider hashProvider){...} ... }
Kdo bude inicializovat z´avislosti? Pavel Miˇ cka
Spring Framework
7/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection II.
ˇ Zivotn´ ı cyklus je ˇr´ızen extern´ım kontejnerem Kontejner zajist´ı, ˇze dan´a instance bude m´ıt nastavenou spr´avnou implementaci Tomuto principu se ˇr´ık´a Dependency injection Druh´ym pouˇzit´ym principem je Inversion of control Programovan´a aplikace je v roli knihovny ˇ ızen´ı toku zajiˇst’uje framework R´ Hollywood principle — don’t call us, we’ll call you
Pavel Miˇ cka
Spring Framework
8/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection II.
ˇ Zivotn´ ı cyklus je ˇr´ızen extern´ım kontejnerem Kontejner zajist´ı, ˇze dan´a instance bude m´ıt nastavenou spr´avnou implementaci Tomuto principu se ˇr´ık´a Dependency injection Druh´ym pouˇzit´ym principem je Inversion of control Programovan´a aplikace je v roli knihovny ˇ ızen´ı toku zajiˇst’uje framework R´ Hollywood principle — don’t call us, we’ll call you
Pavel Miˇ cka
Spring Framework
8/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection II.
ˇ Zivotn´ ı cyklus je ˇr´ızen extern´ım kontejnerem Kontejner zajist´ı, ˇze dan´a instance bude m´ıt nastavenou spr´avnou implementaci Tomuto principu se ˇr´ık´a Dependency injection Druh´ym pouˇzit´ym principem je Inversion of control Programovan´a aplikace je v roli knihovny ˇ ızen´ı toku zajiˇst’uje framework R´ Hollywood principle — don’t call us, we’ll call you
Pavel Miˇ cka
Spring Framework
8/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection II.
ˇ Zivotn´ ı cyklus je ˇr´ızen extern´ım kontejnerem Kontejner zajist´ı, ˇze dan´a instance bude m´ıt nastavenou spr´avnou implementaci Tomuto principu se ˇr´ık´a Dependency injection Druh´ym pouˇzit´ym principem je Inversion of control Programovan´a aplikace je v roli knihovny ˇ ızen´ı toku zajiˇst’uje framework R´ Hollywood principle — don’t call us, we’ll call you
Pavel Miˇ cka
Spring Framework
8/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection II.
ˇ Zivotn´ ı cyklus je ˇr´ızen extern´ım kontejnerem Kontejner zajist´ı, ˇze dan´a instance bude m´ıt nastavenou spr´avnou implementaci Tomuto principu se ˇr´ık´a Dependency injection Druh´ym pouˇzit´ym principem je Inversion of control Programovan´a aplikace je v roli knihovny ˇ ızen´ı toku zajiˇst’uje framework R´ Hollywood principle — don’t call us, we’ll call you
Pavel Miˇ cka
Spring Framework
8/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection II.
ˇ Zivotn´ ı cyklus je ˇr´ızen extern´ım kontejnerem Kontejner zajist´ı, ˇze dan´a instance bude m´ıt nastavenou spr´avnou implementaci Tomuto principu se ˇr´ık´a Dependency injection Druh´ym pouˇzit´ym principem je Inversion of control Programovan´a aplikace je v roli knihovny ˇ ızen´ı toku zajiˇst’uje framework R´ Hollywood principle — don’t call us, we’ll call you
Pavel Miˇ cka
Spring Framework
8/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Dependency injection II.
ˇ Zivotn´ ı cyklus je ˇr´ızen extern´ım kontejnerem Kontejner zajist´ı, ˇze dan´a instance bude m´ıt nastavenou spr´avnou implementaci Tomuto principu se ˇr´ık´a Dependency injection Druh´ym pouˇzit´ym principem je Inversion of control Programovan´a aplikace je v roli knihovny ˇ ızen´ı toku zajiˇst’uje framework R´ Hollywood principle — don’t call us, we’ll call you
Pavel Miˇ cka
Spring Framework
8/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
XML-based injection
<property name="driverClassName" value="com.mysql .jdbc.Driver"/> <property name="url" value="jdbc:mysql:// localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="masterkaoli"/>
Beana dan´e tˇr´ıdy m´a pro dan´e vlastnosti setter Odkazovat lze jak hodnoty, tak kolekce, tak jin´e Spring beany Umoˇzn ˇuje ze od jedn´e tˇr´ıdy vytvoˇrit mnoho r˚ uzn´ych instanc´ı Setter injection je pouˇz´ıv´ana zejm´ena pro konfiguraci aplikace a integraci dalˇs´ıch technologi´ı Pavel Miˇ cka
Spring Framework
9/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
XML-based injection
<property name="driverClassName" value="com.mysql .jdbc.Driver"/> <property name="url" value="jdbc:mysql:// localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="masterkaoli"/>
Beana dan´e tˇr´ıdy m´a pro dan´e vlastnosti setter Odkazovat lze jak hodnoty, tak kolekce, tak jin´e Spring beany Umoˇzn ˇuje ze od jedn´e tˇr´ıdy vytvoˇrit mnoho r˚ uzn´ych instanc´ı Setter injection je pouˇz´ıv´ana zejm´ena pro konfiguraci aplikace a integraci dalˇs´ıch technologi´ı Pavel Miˇ cka
Spring Framework
9/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
XML-based injection
<property name="driverClassName" value="com.mysql .jdbc.Driver"/> <property name="url" value="jdbc:mysql:// localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="masterkaoli"/>
Beana dan´e tˇr´ıdy m´a pro dan´e vlastnosti setter Odkazovat lze jak hodnoty, tak kolekce, tak jin´e Spring beany Umoˇzn ˇuje ze od jedn´e tˇr´ıdy vytvoˇrit mnoho r˚ uzn´ych instanc´ı Setter injection je pouˇz´ıv´ana zejm´ena pro konfiguraci aplikace a integraci dalˇs´ıch technologi´ı Pavel Miˇ cka
Spring Framework
9/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
XML-based injection
<property name="driverClassName" value="com.mysql .jdbc.Driver"/> <property name="url" value="jdbc:mysql:// localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="masterkaoli"/>
Beana dan´e tˇr´ıdy m´a pro dan´e vlastnosti setter Odkazovat lze jak hodnoty, tak kolekce, tak jin´e Spring beany Umoˇzn ˇuje ze od jedn´e tˇr´ıdy vytvoˇrit mnoho r˚ uzn´ych instanc´ı Setter injection je pouˇz´ıv´ana zejm´ena pro konfiguraci aplikace a integraci dalˇs´ıch technologi´ı Pavel Miˇ cka
Spring Framework
9/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Constructor injection
Obdoba setter injection, kter´a pouˇz´ıv´a konstruktor pro nastaven´ı vlastnost´ı Nejm´enˇe pouˇz´ıvan´a
Pavel Miˇ cka
Spring Framework
10/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Metadata injection @Component("MovieRecommender") @Scope("request") public class MovieRecommender { @Autowired private ApplicationContext context; public MovieRecommender() {} ... }
Nejˇcastˇeji pouˇz´ıvan´a pro tˇr´ıdy aplikace Omezuje redundanci k´ od–konfigurace Pavel Miˇ cka
Spring Framework
11/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Metadata injection @Component("MovieRecommender") @Scope("request") public class MovieRecommender { @Autowired private ApplicationContext context; public MovieRecommender() {} ... }
Nejˇcastˇeji pouˇz´ıvan´a pro tˇr´ıdy aplikace Omezuje redundanci k´ od–konfigurace Pavel Miˇ cka
Spring Framework
11/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Service locator Dependency injection Rozsah platnosti bean
Rozsahy platnosti bean
Kontejner zajiˇst’uje omezenou platnost jednotliv´ych bean (scope) Singleton — jedna instance na aplikaci (v´ychoz´ı platnost) Prototype — vˇzdy nov´a instance Session — instance v´azan´a na HTTP session (web) Request — instance v´azan´a na HTTP request (web)
Spring umoˇzn ˇuje definici vlastn´ıch rozsah˚ u Typicky pouˇzito ve spolupr´aci s webov´ym frameworkem (JSF2 flash scope...)
Pavel Miˇ cka
Spring Framework
12/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
@Configurable I. Obˇcas nen´ı moˇzn´e, aby Spring spravoval ˇzivotn´ı cyklus beany, ale pˇresto vyˇzadujeme injekci z´avislost´ı Integrace framework˚ u, kter´e na to nejsou apriori pˇripraveny JPA entity jsou vytv´aˇreny JPA frameworkem a Spring proto o jejich existenci nev´ı Dle OOP paradigmatu je objekt mnoˇzina dat a operac´ı (operace obvykle vyˇzaduj´ı spolupr´ aci v´ıce objekt˚ u)
Probl´em ˇreˇs´ı anotace @Configurable, kter´a oznaˇcuje objekty mimo rozsah Spring kontejneru, kter´e maj´ı b´yt injektov´any Realizov´ano pomoc´ı instrumentace bytek´ odu (aspect weaving) Load-Time weaving (java agent) Compile-time weaving (aspect compiler)
Pavel Miˇ cka
Spring Framework
13/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
@Configurable II. @Configurable(preConstruction=true) @Entity @Table(name="users") public class User { @Column(length=40, nullable=false) private String password; @Column(length=40, nullable=false) private String salt; @Autowired private transient HashProvider provider; ... public void setPassword(String password) { this.password = provider.computeHash( password + salt + "/* long string */"); } } Pavel Miˇ cka
Spring Framework
14/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Deklarativn´ı demarkace transakc´ı public interface UserService { @Transactional(readOnly=true) public List<UserDTO> getAllUsers(); @Transactional public UserDTO saveUser(UserDTO user, String password); @Transactional(readOnly=true) public UserDTO getUserByUserName(String name); @Transactional public void deleteUser(Long id); ... }
Transakce mohou b´yt deklarov´any pomoc´ı anotac´ı Transakˇcn´ı API je nez´avisl´e na konkr´etn´ı implementaci Pavel Miˇ cka
Spring Framework
15/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Deklarativn´ı zabezpeˇcen´ı metod @Transactional(propagation=Propagation.REQUIRED) public interface UserService { @Secured("ROLE_ADMIN") public UserDTO save(UserDTO userDTO, String password, Boolean isAdmin, Boolean isEditor ); @Secured("ROLE_ADMIN") public void removeById(Long id); ... }
Autorizace pˇr´ıstupu k metod´am pomoc´ı anotac´ı Pavel Miˇ cka
Spring Framework
16/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Vybran´e moduly Springu
Spring Core — j´adro frameworku Spring AOP — podpora aspektov´eho programov´an´ı Spring ORM — integrace s JPA Spring MVC — MVC webov´y framework Spring Test — podpora testov´an´ı Spring Security — zabezpeˇcen´ı aplikace Spring Social — podpora soci´aln´ıch s´ıt´ı Spring Integration — integrace aplikac´ı ve velk´em
Pavel Miˇ cka
Spring Framework
17/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Vybran´e moduly Springu
Spring Core — j´adro frameworku Spring AOP — podpora aspektov´eho programov´an´ı Spring ORM — integrace s JPA Spring MVC — MVC webov´y framework Spring Test — podpora testov´an´ı Spring Security — zabezpeˇcen´ı aplikace Spring Social — podpora soci´aln´ıch s´ıt´ı Spring Integration — integrace aplikac´ı ve velk´em
Pavel Miˇ cka
Spring Framework
17/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Vybran´e moduly Springu
Spring Core — j´adro frameworku Spring AOP — podpora aspektov´eho programov´an´ı Spring ORM — integrace s JPA Spring MVC — MVC webov´y framework Spring Test — podpora testov´an´ı Spring Security — zabezpeˇcen´ı aplikace Spring Social — podpora soci´aln´ıch s´ıt´ı Spring Integration — integrace aplikac´ı ve velk´em
Pavel Miˇ cka
Spring Framework
17/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Vybran´e moduly Springu
Spring Core — j´adro frameworku Spring AOP — podpora aspektov´eho programov´an´ı Spring ORM — integrace s JPA Spring MVC — MVC webov´y framework Spring Test — podpora testov´an´ı Spring Security — zabezpeˇcen´ı aplikace Spring Social — podpora soci´aln´ıch s´ıt´ı Spring Integration — integrace aplikac´ı ve velk´em
Pavel Miˇ cka
Spring Framework
17/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Vybran´e moduly Springu
Spring Core — j´adro frameworku Spring AOP — podpora aspektov´eho programov´an´ı Spring ORM — integrace s JPA Spring MVC — MVC webov´y framework Spring Test — podpora testov´an´ı Spring Security — zabezpeˇcen´ı aplikace Spring Social — podpora soci´aln´ıch s´ıt´ı Spring Integration — integrace aplikac´ı ve velk´em
Pavel Miˇ cka
Spring Framework
17/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Vybran´e moduly Springu
Spring Core — j´adro frameworku Spring AOP — podpora aspektov´eho programov´an´ı Spring ORM — integrace s JPA Spring MVC — MVC webov´y framework Spring Test — podpora testov´an´ı Spring Security — zabezpeˇcen´ı aplikace Spring Social — podpora soci´aln´ıch s´ıt´ı Spring Integration — integrace aplikac´ı ve velk´em
Pavel Miˇ cka
Spring Framework
17/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Vybran´e moduly Springu
Spring Core — j´adro frameworku Spring AOP — podpora aspektov´eho programov´an´ı Spring ORM — integrace s JPA Spring MVC — MVC webov´y framework Spring Test — podpora testov´an´ı Spring Security — zabezpeˇcen´ı aplikace Spring Social — podpora soci´aln´ıch s´ıt´ı Spring Integration — integrace aplikac´ı ve velk´em
Pavel Miˇ cka
Spring Framework
17/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Vybran´e moduly Springu
Spring Core — j´adro frameworku Spring AOP — podpora aspektov´eho programov´an´ı Spring ORM — integrace s JPA Spring MVC — MVC webov´y framework Spring Test — podpora testov´an´ı Spring Security — zabezpeˇcen´ı aplikace Spring Social — podpora soci´aln´ıch s´ıt´ı Spring Integration — integrace aplikac´ı ve velk´em
Pavel Miˇ cka
Spring Framework
17/18
´ Uvod Spr´ ava z´ avislost´ı Dalˇs´ı vlastnosti Springu Moduly Springu
Zdroje a literatura
SpringSource http://www.springsource.org/
Spring Framework — dokumentace http://static.springsource.org/spring/docs/3.1.x/ spring-framework-reference/html/
Spring 3 a Maven http://blog.springsource.org/2009/12/02/ obtaining-spring-3-artifacts-with-maven/
Pavel Miˇ cka
Spring Framework
18/18