Mocking Spring Boot beans with Spock

Spock is a powerful Groovy-based framework that makes testing applications written in Java (as well as Groovy, Kotlin etc.) a very pleasant experience. Because it’s built on top of good ol’ JUnit, it integrates well with most of the existing test/build tooling. However, making it play nicely with the testing infrastructure of Spring framework...

Spring Certifikace

Sepsal jsem pár poznámek ze školení, které jsem absolvoval, i Spring certifikace, kterou jsem právě složil.

Spring a podpora pre Multipart HTTP upload

Ako rýchlo rozbehať multipart upload súborov cez HTTP? Ak máte k dispozícii servlety 3.x, môžete ich nakonfigurovať veľmi jednoducho.

Deset let, které neotřásly Spring frameworkem


Spring Security Impersonation

Pojem Impersonation (počeštěně Impersonifikace), který v doslovném překladu znamená imitování nebo zosobnění, se dá vysvětlit touto poučkou: Přihlášený uživatel předstírá, že je někdo jiný, aby získal práva a data cizího uživatele.

Příklad na Spring Boot, REST architekturu a Spring Cache

Na posledním školení jsme vytvořili aplikaci, která je ukázkou technologií Spring Boot, Spring Data JPA, REST web. služeb (XML a JSON) a Spring Cache. Jestlí Vás zajímají tyto technologie, pak to pro Vás bude určitě užitečný příklad. Demo aplikace je online (na Heroku) a zdrojové kódy jsou k dispozici volně na GitHubu.

Jak vytvořit u Spring Boot web. aplikace WAR soubor?

Ve výchozím nastavení používá Spring Boot web. aplikace embedded Tomcat. To je super u hello world příkladů, extra jednoduchých aplikací, nebo pokud používáte Cloud Foundry. Obyčejně ale chcete vytvořit klasickou webovou aplikaci, kterou poté můžete nasadit na jakýkoli Java EE server. Jak na to?

Spring Web MVC aplikace kompletně bez XML

Pokud ve Vaší Spring Web MVC webové aplikaci nechcete používat vůbec žádný XML konfigurační soubor (web.xml, Spring konfigurace apod.), pak čtěte dál :-)

Testování Spring MVC controllerů

Až dosud byly v zásadě dvě možnosti, jak automatizovaně testovat webovou vrstvu aplikace postavené na Springu: Selenium testy nebo klasické unit testy. Obojí má svoje nevýhody. Od verze Spring Frameworku 3.2 lze testovat Spring MVC controllery novým způsobem a myslím, že stojí za to.

Nakopnite MVC webaplikáciu Spring Boot-om

Spring Boot je čerstvý framework pre naštartovanie webových aplikácií založených na Spring MVC. V kombinácii s Groovy sa webaplikácie prototypujú jedna radosť.

Remember me - Java, Spring Security

Možnost pamatovat si přihlášení uživatele i po vypršení session je vlastnost mnoha internetových systémů. Ukažme si jak tuto funkcionalitu implementovat do Java aplikace s využitím Spring Security.

Omezení dostupnosti služeb – Java, Spring, Quartz

Na webu se tato omezení často nevyskytují, ale určitě mimo svět internetu to taková vzácnost už není. Ukažme si tedy jak definovat časový interval a poté zjistit zda aktuální okamžik do něj spadá v jazyce Java s pomocí Springu a Quartz.

Ako rozbehať Spring HTTP Invoker na vzdialené volanie procedúr?

Ako rozbehať Spring HTTP Invoker na vzdialené volanie procedúr? Ukážka kompletného projektu a jeho architektúry vrátane dvoch možností realizácie servera: ako modulu v servletovom kontajneri alebo jednoduchšieho servera pre Oracle JDK6.

Spring profiles a použití v testech

Po 3 letech dělám větší refaktoring na našem direct mailingovém modulu a jako první jsem se rozhodl povýšit verze knihoven a zrefaktorovat JUnit testy, které jsou tam ještě psané ve stylu JDK 1.4.V souvislosti s tím jsem samozřejmě přepracoval formu testů z dědičné hierarchie na anotace, které byly představeny poprvé veSpring 3.X (pokud se...

Spring, JSP a IndexOutOfBoundsException

Po nějaké době praxe řešíte většinu problému rutinně, metodou kouknu a vidím. Občas je to ovšem zásek, se kterým na první pohled netušíte, jak pohnout. Tohle je jeden z takových. Měli jsme JSP formulář, který fungoval rok bez chyby. Renderoval se v pořádku, ale binding začal házet IndexOutOfBoundsException. Ale přitom na modelu byl field...

Spring, REST a e-mail jako parametr

Denně jako vývojáři řešíme jeden problém za druhým. O většině si nejspíš myslíte, že nestojí za samostatný článek na blog (což není pravda). Mezi takové, které jsem odsunul do pozadí, by patřil i tento, pokud by se ovšem na to samém nepozastavil i kolega. Jde o to, že když používáte Spring spolu s RESTovým url a chcete používat e-mail jako...

Speciální nabídka Školení Spring Framework pro absolventy a studenty VŠ!

 Společnost Anywhere s.r.o.nabízí absolventům a studentům VŠ školení Spring Framework za speciální cenu 3.260,-Kč.Popis školení naleznete na http://www.anywhere.cz/ Podmínky akce Zájemce doloží VŠ diplom, jehož datum vydání nebude v den registrace starší 12-ti měsíců.(případně potvrzení o studiu). Zájemce vyplní závaznou...

Jak testujete přístupová práva své aplikace?

Security
Celá řada komplexních aplikací obsahuje také složitou logiku řízení přístupu k datům nebo k používání konkrétních funkcí. Je jedno jestli je řízení přístupu postavené na konfigurovatelných ACL (oprávněních) nebo jestli je zvolen jednodušší a statičtější přístup pomocí předem definovných rolí. Zcela jistě je ve vašem zájmu toto řízení přístupu...

Použití vlastních bezpečnostních anotací pro ochranu metod se Spring Security

Nedávno jsme na našich projektech upgradovali z prastaré Acegi Security na nejnovější verzi - dnes už Spring Security. Spolu s tím, jsme začali ve větší míře používat ochranu volání metod na byznys vrstvě pomocí anotací @PreAuthorize / @PostAuthorize. Použití tohoto způsobu ochrany však vede k rozmnožení často se opakujících "Stringů" v těle tříd,...

Dokumentace Spring Framework 3.1 v Kindle formátu mobi (Spring Framework 3.1. Documentation as Kindle mobi)

Koupil jsem si Kindle. A protože hodlám absolvovat certifikaci Spring Professional, tak jsem jako první zjišťoval, jak na Kindle dostat Spring dokumentaci.

Synchronizace scheduleru v clusteru

Na jednom našem projektu jsme potřebovali implementovat automatické provádění úkolu určeného ke zpracovávání dat v databázi. Ve frameworku Spring, který je pro vývoj použit, je tato úloha jednoduše řešitelná například pomocí TaskScheduler. Zajímavější situace nastává, pokud aplikace  bežet v clusterovém řešení. To znamená, že je potřeba řešit...

JTA v integračních testech bez aplikačního serveru

JTA tedy distribuované transakce se dost často použivájí v enterprise systémech, kde je potřeba přistupovat jak k více databázím, tak třeba v kombinaci databáze a messaging systém (např. Websphere MQ). Mezi vývojáři obecně panuje mezi představa, že pro jeho využítí potřebuji aplikační server ala Jboss či Websphere, případně také, že bez EJB JTA...

Dependency Injection je cesta, nikoliv cíl

Když jsem asi před šesti lety objevil dependency injection (dále v textu DI) jako způsob pro odstranění těsných vazeb mezi objekty, připadalo mi to jako Svatý grál programování. Díky masivnímu rozšíření Spring frameworku a zanesení DI do všech dalších frameworků a standardů, které přišly po něm se DI stalo běžnou součástí dnešního programování....

Custom Spring Namespace + Embedded Groovy pre Business DSL

Spring umožňuje pre svoju xml konfiguráciu okrem hromady dodávaných namespacov (jdbc, context, tx…) zaregistrovať aj vlastný namespace handler a tým používať custom xml tagy pre vytváranie bean, prípadne iné zasahovanie do contextu. V AspectWorks to používame napríklad pre konfiguráciu validátorov atp. Sila tohoto prístupu je však omnoho väčšia, v...

Konečně profily ve Springu 3.1

Před časem vyšel nový Spring 3.1 M1 a krom jiného zavádí novinku v podobě profilů pro Spring beany. Na něco takového čekáme už od prvních verzí a dosud jsme to obcházeli neelegantními způsoby. Ale je to konečně tady! Podívejme se na to, jak to funguje.

Proč jsem nepoužil Spring Batch?

Když jsem si srovnal zadání na mém posledním projektu, tak vše na první pohled nasvědčovalo tomu, že bude vhodné použít Spring Batch, další projekt z rodiny Springů. Za to jsem byl moc rád, protože jsem již delší dobu hledal příležitost, abych tento zajímavý projekt vyzkoušel.  Na začátku jsem Spring Batch znal jen z několika článků, a proto, když...

Znáte Spring Data (JPA)?

Již jsem o tom psal na Twitteru, ale myslím, že si to zaslouží trochu větší a delší pozornost, tak to píši ještě sem. Pod hlavičkou firmy SpringSource se v poslední době objevilo spoustu nových projektů a jedním z nich je i projekt Spring Data.

Konfigurace Selenium testů ve Springu

V minulém článku "Selenium a návrhový vzor Page Objects" jsem popisoval, jak strukturovat Selenium testy. Už tam ale nebylo rozebráno, jak je možné, že to celé dohromady funguje. Pokusím se tedy ukázat konfiguraci Selenium komponent ve Springu 3.0 a jak si připravit pohodlné předky pro testy a stránky.

Jak vytvořit java web aplikaci s podporou Spring a JPA

Nedávno se kolega ptal na to jak vytvořit a nakonfigurovat jednoduchou aplikaci využívající Spring IoC a JPA. Aplikace má sloužit jako platforma pro jednoduché testování a jedinou úlohou bylo ukládání a čtení několika málo entit. Potřeboval přidávat nové třídy do business logiky, psát testy a výstup na web. Namísto obvyklého RTFM jsem se...

Spring – MyBatis integrace a něco navíc

Článek popisuje možnosti integrace Spring a MyBatis frameworků a představuje užitečné rozšíření - factory na automatickou registraci Mapper rozhranní implementovaných XML definicí.

Kdy Spring vyhodnotí anotace @Transactional na CgLib proxy třídách

Spring Framework
 Testování transakční logiky vaší aplikace je obvykle poměrně problematické, pokud využíváte aspektového přístupu Spring frameworku. Ačkoliv existují způsoby řešení tohoto problému, nejsou zadarmo a nejsou přímočaré. Navíc jsme si jako programátoři příliš zvykli spoléhat na to, že jednoduché deklarování @Transactional anotace prostě funguje, takže...

Plošné vypnutí povinného @Autowired

Při testování naší agendiové aplikace jsem se již několikrát dostal do stavu, že složitost a propletenost celé aplikace mi neumožňovala napsat rozumně testy. Zejména jsem měl problém vůbec vše potřebné nakonfigurovat, aby se všechny závislosti správně nastavily.Po nějakém čase mě napadlo, že by možná bylo vhodné pro účely testování vypnout...

Integrace Spring, DWR a jQuery

Oblíbená trojkombinace technologií v podobě aplikačního rámce Spring, DWR a jQuery nám umožňuje Javascriptem volat metody servisních tříd spravovaných Springem. To je poměrně efektivnější přístup než příprava podobných řešení přímo v duchu MVC. Ve Springu 3.0. je však nově implementována zjednodušená podpora pro Ajax v podobě mvc-ajax modulu,...

Spring 3.0, JEE 6 a anotácie pre automatické prepájanie komponentov

Spring 3.0 prináša podporu pre anotácie z JSR-330, ktoré sa nedávno stali štandardom pre injektovanie závislostí. Popri tom však existuje ďalší štandard JSR-299. Aký je vzťah medzi všetkými anotačnými možnosťami? Aké možnosti ponúka Spring?

Spring: podmíněná konfigurace

spring logo
Při vývoji aplikací ve Springu jste jistě narazili na problém nasazení do různých prostředí. Pravděpodobně jste to řešili vytvořením samostatných buildů. Ovšem ne vždy je to potřeba. Proč nenechat konfiguraci na adminovi? Existuje jednoduché a elegantní řešení jménem BeanReferenceFactoryBean.

Prezentace - Java EE 6 and how their relate to Spring Framework

spring logo
Jürgen Höller presents some of the new features coming in Java EE 6 and how their relate to Spring Framework: Profiles, Servlet 3.0, JSR-236 Concurrency, JSF 2.0, JPA 2.0, JSR-303, JAX-RS, EJB 3.1, JSR-299. Doporučuji juknout až tak od 25. minuty záznamu. Z meho pohledu Java EE 6 zatím vypadá jako jeden velký rozharany stroj. Tak uvidíme jestli se...

Implementace audit info pomocí Spring AOP

spring logo
Jakákoliv forma informace o aktuálně přihlášeném uživateli a timestamp bývá často součástí každé entity v projektu. V následujícím příspěvku je popsána jedna z možností jak lze jednoduché audit informace do entity vložit bez velké námahy a zásahů do existující struktury vrstev aplikace pomocí Spring AOP.

Konec Spring Modules, nastupuje Spring Extensions

Opožděně jsem si všimnul, že projekt Spring modules již není aktivně podporován (je deprecated) a místo toho je doporučeno přejít na Spring Extensions.Spring Modules obsahuje rozšíření, moduly, pro jednodušší napojení Spring frameworku na knihovny třetích stran. Kromě toho nabízí pro určité oblasti odstínění od konkrétních technologií, např....

Spring ROO

Poprvé jsem o projektu Roo slyšel na konferenci SpringOne v červnu v roce 2007. Tehdy vlastně jen oznamovali začátek projektu a musím říct, že mě to nijak příliš nezaujalo. Dokonce jsem si na tento projekt vzpomněl minulý rok na podzim a myslel jsem si, že ten projekt již dávno skončil.A neskončil. Po dvou letech se objevila první verze, oznámení...

Integrace Groovy ve Springu

V poslední době zažívají skriptovací jazyky boom. Jedním z takových je i Groovy, který funguje ve virtuálním stroji Javy. Přímý přechod z jednoho jazyka na druhý ve firmách zpravidla není možný, naštěstí Spring umožňuje jeho integraci.

Spring security namespaces

spring logo
Koncept "namespaců" resp. možnost vytváření vlastních konfiguračních XML tagů je ve Springu již od verze 2.0 a již je celkem hodně zajímavých tagů - ať už přímo ve Spring frameworku nebo v jiných Spring knihovnách nebo i v knihovnách třetích stran, např. DWR. Cíl je jasný - umožnit jednodušší (= rychlejší, přehlednější, jasnější, ...) konfiguraci...

Jednoduché logování ve Springu

spring logo
Tušil jsem, že to je jednoduché, ale že to je AŽ tak jednoduché, to jsem nevěděl. Dokončujeme projekt pro jednu velkou českou banku a potřebovali jsme mít podrobným logováním pokrytou co největší část aplikace pro případ, že by se vyskytly problémy na prostředí, do kterého, z bezpečnostních důvodů, nemáme a nikdy nebudeme mít přístup. Jako...

Spring One - závěrečný den

Spring One Europe - logo
Dnes se mi podařilo vychytat velmi dobré přednášky, takže jsem si po včerejším dm Serveru rozhodně spravil chuť. První dnešní přednášky se týkala Groovy a především novinek ve verzi 1.6. Zprvu se zdálo, že Guillame pojede pouze po povrchu Groovy, ale brzy se přednáška rozjela, takže si z ní člověk nakonec odnesl opravdu hodně. Přednáška stavěla...

Spring One - den druhý

Spring One Europe - logo
Dnešní den přenesl (alespoň v mém případě) řadu roztrpčení. K tomu se ale dostanu až o pár odstavců později. Dnešní keynote se nesla v duchu Lean software development - a to především ve smyslu, jak se co nejrychleji dostat z fáze vývoje do fáze produkčního běhu. Přednáška byla poměrně zajímavá - Adrian Colyer ukazoval prostřednictvím STS živý...

Spring One - po prvním dni

Spring One Europe - logo
Dnes začala v Amsterodamu konference Spring One zaměřená na technologie okolo Spring Frameworku (Spring samotný, Spring MVC, Spring WebFlow, Grails, Spring Batch, Spring Security, Spring tc a dm Server atd.). Konference se koná v hotelu Krasnopolski v úplném centru Amsterodamu. My jsme přijeli o den dříve, abychom si město stihli v klidu...

Spring CgLib Dynamic AOP Proxies - co provede chybějící equals implementace v Pointcutu

Dynamické proxy dokážou být pěkně ošklivé, když nevíte co se vlastně děje pod pokličkou. Před nějakou dobou jsem pátral po memory leaku, který působil pád naší aplikace. Přestože měl Tomcat přiděleno cca 1GB paměti pro heap a 0,5GB pro PermGenSpace, žil cirka 12 hodin než padnul na OutOfMemory.  A to je pěkně nepříjemná situace, když je aplikace...

Prezentácia k Spring MVC 2.5: úvod a filozofia

spring logo
Spring MVC 2.5 je aplikačný rámec pre vývoj webových aplikácií založený na princípoch Springu, konfigurácii založenej na konvenciách a anotáciách.V prezentácii ukazujeme základnú filozofiu aplikačného rámca spolu s ukážkami kódov.

Spring MVC: GET kontroler

spring logo
Spring MVC nabízí pro zpracování požadavku GET dva základní kontrolery: ParameterizableViewController - jednoduchý kontroler, který pouze vyžaduje zadání cílového view, které se následně zobrazí. BaseCommandController - kontroler, který pracuje s parametry requestu přes commandy. Tedy kontroler automaticky mapuje parametry requestu do atributů...

Springframework mockujeme beany

spring logo
V tomto článku si ukážeme, jakým způsobem je možné docílit mockování bean (POJO managovaná Springem). Představme si situaci, kdy chceme některé z naších bean pro běh testů nahradit mocky.

Překonaný ResourceBundle, Spring MessageSource vítězí v prvním kole KO

Tento článek mám ve WordPressu rozepsaný snad už rok. Jeho původní název zněl “ResourceBundle - stačí Javě beze změny?”. Plno věcí, které jsme původně jako Java vývojáři dělali my, postupně uzpůsobujeme tak, aby je mohli dělat web designeři. Na prezentační vrstvu zcela jistě patří lokalizované texty a zprávy, pro které standardně...

Spring certifikace

Tento týden jsem napsal testy a získal certifikaci "SpringSource Certified Professional".Rád bych se s vámi podělil o nějaké mé postřehy či zkušenosti z přípravy a samotného testu.Člověk musí nejdříve získat "povolení", aby vůbec mohl dělat testy...

Webové služby à la Spring

V poslední době docela často používal knihovnu Spring WS. Chtěl bych se s vámi podělit o zkušenosti, které jsem s tímto modulem udělal. Nejdřív bych měl ale upozornit, že nejsem expert na webové služby. O tom co je to port nebo binding mám jen mlhavou představu. Na druhou stranu jsem to nikdy vědět nepotřeboval...

Spring nabyl Groovy a Grails

Rod Johnson právě oznámil akvicizi společnosti G2One stojící za dynamickým jazykem Groovy a Grails.

Ako porozumieť dependency injection v Springu

spring logo
Čo je dependency injection? A inversion of control? Na čo je to vlastne dobré? Na jednoduchom príklade baru a piva ukážeme princípy tohto často používaného návrhového vzoru a ukážeme si, ako ho používa Spring.

Spring a jeho další směřování v enterprise oblasti

V rozhovoru SpringSource Elected Newest Executive Member of the Java Community Process poodkrývá Rod Johnson další budoucnost Springu a jeho další směřování v JEE oblasti. To co se dalo číst mezi řádky vyplouvá v tomto rozhovoru na hladinu. To nejdůležitější co jsem si odnesl odpovídá v podstatě tomu, co si již dávno myslím.

jOpenSpace 2008 - Spring - otevřenost novinkám

Už jsem se bál, že zbytek záznamů z nultého ročníku jOpenSpace neexistují a hned jsem dostal odpověď v podobě dalších pěti záznamů. Šestým v pořadí je záznam od Dagiho Spring adoption in large enterprise project. Spring používáme a převážně jako IoC container, tak mě toto téma zajímalo. Bohužel kvalita zvuku je hodně špatná, takže jsem spíš...

Spring bean z Java enumu

Dneska jsem potřeboval vytvořit ve Spring IoC Java enum, ale jak na to. Než jsem začal vytvářet nějakou factory, řekl jsem si, že to už musí být vyřešené. Google pomohl a našel jsem blog post Creating a Spring Bean from a Java 5 Enum.Ve stručnosti se věc dá shrnout do dvou ukázek...

Spring zmenil politiku aktualizácii - rana pod pás open-source?

SpringSource oznámil zmenu politiky vydávania verzií Springu, ktoré budú k dispozícii komunite. Čo sa vlastne stalo? Je situácia naozaj taká tragická? Naozaj nastane koniec open-source?

IoC anti patterns nejen pro Spring

Při procházení kódu aplikací, které jsem sám dělal a nebo které jsem procházel jsem narazil na několik často se opakujících anti vzorů (anti patterns) při použítí Inversion of Control (dále v textu pouze IoC) frameworku. Rád bych se s vámi o tyto vzory podělil, aby jste neopakovali stejné chyby, které udělal někdo před vámi. Většina uvedeného kódu...

Dočasné tabulky uvnitř transakce v MySQL aneb magie implicitního commitu

Narazil jsem na zajímavý a velmi zvláštní problém. Psal jsem transakční test ve Springu, který otvírá transakci na začátku a rollbackuje ji na konci testu. První část testu prováděla kupu INSERT a UPDATE SQL příkazů a potom jsem ověřoval provedení příkazu zpětným nahráním dat zpět z databáze. Test jako takový mi procházel, nicméně když jsem jej...

Trochu o designu API

Včera večer jsem ještě se sirkami v očích dopisoval nějaké postřehy ke code review prezentaci, kterou budu mít v pondělí a zároveň jsem konečně dorazil rozhovor s Jardou Tulachem k vydání jeho knihy Practical API Design s podtitulem Confessions of a Java Framework Architect. Musím předeslat, že ten rozhovor na mě udělal dojem, že tato kniha nesmí...

Beans introspection - základy Springu

spring logo
Je tomu už drahně let, co jsem používal k populaci JavaBean Commons-BeanUtils z rodiny Apache Jakarta. Od chvíle, kdy stavím svoje aplikace nad Springem, pozbývá používání této knihovny smysl - naopak bylo by bláhové se této knihovny držet, když Spring nabízí již ve svém základu mnohem víc. Prostým logickým úsudkem lze odvodit, že Spring coby IoC...

Závažná bezpečnostní chyba ve Springu odhalena!

Otázka: Je pravda, že v Košicích upálily rusa? Odpověd rádia Jerevan: Ano, je to pravda, ale nebylo to v Košicích, ale v Kostnici a nebyl to rus, ale Hus. Myslel jsem si, že jsem expert na senzační titulky. Ale tento je nepřekonatelný. Mohli jste na něj narazit dnes, například na theserverside.com. Na první pohled to vypadá, že našli závažnou...

Reverse Ajax s DWR, Spring, iBatis

Před nějakým časem se v Avedyi rozjížděl nový projekt. Jednalo se o klasický webový chat. Vytvořil jsem tehdy jednoduchý prototyp. Použil jsem DWR a technologii reverse ajax. Pro tento článek jsem původní prototyp trochu rozšířil a zapojil jsem Spring Framework a jako DAO vrstvu jsem vybral iBatis.

NTLM a Spring security

Ještě před pár dny jsem skoro nevěděl, co to je NTLM a dnes tento autentifikační protokol používám v mé aplikaci. Našel jsem na jednom blogu parádní článek, kde je víceméně vše podstatné k implementaci pomocí Spring security řečeno. Nemá cenu se tedy opakovat, spíše bych přidal některé moje poznámky a doplnění...

Přechod z Acegi na Spring security

Na minulých projektech jsme používali Acegi security se spoustou vlastních doplňků a vychytávek.  Teď začínáme psát nový projekt a tak jsme si řekli, že je už čas se posunout dát a začít použít Spring security (jeden z důvodů byla podpora NTLM ve Spring security, ale o tom budu psát v dalších příspěvku). V tomto článku bych rád uvedl moje...

Použitie Spring-WS na klasické Java objekty

Spring-WS je aplikačný rámec pre vývoj webových služieb, ktorý otvorene propaguje filozofiu "od WSDL k triedam". Napriek tomu je natoľko flexibilný, že v jednoduchých prípadoch možno rýchlo vyvinúť webovú službu, ktorá vznikla opačným spôsobom. Ukážeme si jednoduchý príklad vybudovania služby, v ktorom sa objekty zasielané v...

SpringSource Application Platform

spring logo
A je to tady. SpringSource společnost stojící za frameworkem Spring oznámila výdání beta verze vlastní aplikační platformy. Tradiční scénář použití Spring frameworku resp. aplikací na něm postavených byl vždy ve spojitosti s aplikačním serverem jakožto poskytovatelem služeb. Nyní SpringSource přicházejí s komplexním řešením (full stackem)...

Spring AOP - Pozor na AspectJExpressionPointcut!

Tento týden jsem řešil problém s nedostatkem paměti při spouštění testů jednoho projektu. Pro běh testů nestačilo výchozích 64MB paměti Javy na heapu, což mi připadlo v porovnání s velikostí projektu podezřelé. Začal jsem profilovat a jelikož mne výsledky poněkud překvapily, chci se s Vámi o ně v tomto článku podělit.Hned na úvod řeknu, že jádrem...

Automatický "sběr" objektů daného typu pomocí Springu

spring logo
Nedávno jsem v rámci prezentace Springu resp. jeho IoC kontejneru u nás v HP ukazoval jeden příklad, na který jsem byl úplně nezávisle tázán vícero kolegy. Dnes se s vámi o něj podělím. Problém byl následující: máme objekty, které implementují určité rozhraní. Dále máme objekt (registry), do které chceme, aby se všechny tyto objekty automaticky...

Nadišla jar v krajine DAO alebo použitie Spring JDBC

JDBC (Java Database Connectivity) je štandardný spôsob, akým možno pristupovať z jazyka Java k databázovým systémom. V článku si popíšeme, ako je možné zredukovať množstvo opakujúceho sa JDBC kódu použitím tried JdbcTemplate a RowMapper.

Proč nemám rád Seam

V poslední době se hodně hovoří o JBoss Seamu - píší se o něm články (1, 2, 3), přednáší se o něm, u nás v práci se vedou diskuze, zda ho použít nebo ne. Mě už to prostě nedá, abych zapřemýšlel veřejně, protože bych moc rád moje názory zkonzultoval s okolním světem. Ještě než se pustím do "přemýšlení", tak musím poznamenat, že jsem hodně...

Simple JDBC template

SimpleJdbcTemplate nám umožňuje snadno a elegantně pracovat s JDBC. Podporuje pojmenování parametrů, generika atp. Pokud nepotřebujete ORM, stojí za to se na SimpleJdbcTemplate podívat.

Způsoby konfigurace Springu

Když se mluví o Springu, tak to má hned každý spojený s tím, že se vše konfiguruje pomocí XML. Pravděpodobně je to kvůli tomu, že opravdu v minulosti (do verze 2.0) nebyla jiná schopná možnost konfigurace, ale to již dneska v žádném případě neplatí. Jakými způsoby můžeme tedy konfigurovat springovské aplikace? XMLVždy aspoň trochu té konfigurace v...

Spring 2.5 a anotácie pre automatické prepájanie beanov

Jedným z významných prínosov Spring 2.5 je podpora anotácií, ktoré môžu slúžiť ako alternatíva na deklarovanie vzťahov a závislostí medzi jednotlivými komponentami a riešenie dependency injection. Ukážeme si jednoduchý príklad automatického wiringu beanov pomocou springovských anotácií i pomocou anotácii z JEE.

Vytváranie webových aplikácií pomocou Spring MVC 2.5

spring logo
So Springom 2.5 prišli aj významné zmeny v aplikačnom rámci Spring MVC. Na príklade jednoduchej webovej aplikácie si ukážeme najdôležitejšie zmeny - konkrétne možnosť používania anotácií, pomocou ktorých je možné používať klasické POJO triedy v úlohe kontrolérov a aplikácia filozofie convention by configuration.

Spring IoC: syndrom míchání jablek a hrušek

spring logo
Po dlouhé době, delší než by bylo zdrávo, jsem se rozhodl napsat trochu více prakticky orientovaný článek. Ten je věnován problematice míchání managovaných a nemanagovaných tříd při použití Spring frameworku, na které dříve nebo později možná narazíte. Předesílám, že vzhledem k pozdní hodině jeho vzniku, není cílem poskytnout definitivní rozkrytí...

Novinky ze Springu

spring logo
Moc často nekomentuji různé události, ale teď mi to nedá. Právě se koná konference The Spring Experience, což jsou spolu s konferencí SpringOne dvě nejvýznamnější konference věnované přímo Springu. Právě na této konferenci se objevily velice zajímavé novinky z dílny firmy SpringSource (dříve Interface21):doplnění Spring portfólia o Spring...

Spring 2.5 je venku

spring logo
Spring 2.5 se oficiálně dočkal uvolnění. Verze 2.5 je stále kompatibilní s Javou 1.4.2+ a J2EE 1.3+. Pokud chcete rychle vstřebat největší novinku, což je podle mého názoru zavedení anotací pro konfiguraci IoC kontejneru, doporučuji článek What's New in Spring 2.5: Part 1, kde najdete vyčerpávající popis. Další novinkou kolem Springu je...

Spring scope

spring logo
Rozsahy platnosti (scope) Java bean jsou už ve Springu dlouho, od verze 2.0. Až donedávna mi ale nedošlo o jak silný nástroj se jedná. Pro ty, kteří nejsou s konceptem rozsahu platnosti obeznámeni, uvedu krátké shrnutí. Už od první verze Springu, si člověk u každého beanu mohl zvolit, jestli chce aby se choval jako sigleton (jedináček) nebo aby...

Spring != XML

Myslíte si, že Spring rovná se tuna XML? Pak máte poněkud zastaralé informace. Ostatně i v dřevních dobách tomu tak nebylo. Od verze 2.5, v těchto dnech je k dispozici RC1, přináší Spring podporu anotací, kterými lze řídit IoC kontejner. Právě k anotacím a obecně postoji ke konfiguraci Springu vyšly dva zajímavé články od Jurgena Hoellera a Roda...

Přednáška: spring v produkčním nasazení

Pokud nesledujete pravidelně novinky na stránkách Spring frameworku, tak mám pro vás zajímavou informaci - firma Interace21 začala nabízet interaktivní webové prezentace o Springu. Tento týden proběhla první z těchto přednášek na téma "Spring in production". Kromě samotné přednášky, která trvala hodinu, byla možnost stáhnutí dokumentu...

Do pranice: Spring Web Flow a nebo JBoss Seam

rávě jsem s naším UI architektem rozebíral dilema, jaký framework zvolit pro naš webový front end. Celá diskuse se se točila kolem Spring Web Flow (dále SWF) a Jboss Seam (dále SWF). Oba frameworky nabízejí přibližně stejné možnosti a tak jsme sklouzávali k drobným nuancím, které alespoň pro mě vyznívají ve prospěch SWF.

Je Spring pomalý?

Omlouvám se za ten senzační titulek, ale to víte, chci na tento blog nalákat co nejvíce lidí, pak tu začnu prodávat reklamu a bude ze mě boháč. No a abych vás neochudil i o nějaký ten obsah, opravdu budu dneska psát o výkonnosti Springu, z počátku obecně, na konci se i dozvíte, jak výrazně zvýšit rychlost některých aplikací ve...

Část #4: Modulární systémy ve Spring Framework

Aplikační události jsou jedním ze základních stavebních kamenů Springu a proto by bylo škoda se ochudit o tuto skvělou vlastnost na rozhraní modulů. Je zřejmé, že nebudeme chtít otevřít všechny aplikační události svému okolí, nicméně u řady událostí bychom chtěli umožnit ostatním modulům reagovat. Jako příklad uvedu interakci mezi modulem pro...

Fulltextové vyhledávání (Lucene, Compass)

V dnešní době je celkem běžný požadavek na fulltextové vyhledávání v aplikaci. Uživatel aplikace si již nechce pamatovat všechny ty možné atributy a vybírat možné hodnoty - on se prostě potřebuje dostat k cíli na základě toho co zná a už bez ohledu na vlastní uložení dat.

Autowiring a Spring

Dnes chci psát o autowiringu ve Springu. Nejde o žádnou novinku. Je to funkcionalita, která je ve Springu už od první verze, ale moc jsem ji nepoužíval, protože se mi  nelíbila. Nedávno jsem na ni ale změnil názor.Začněme od toho co to je autowiring. Standardní Spring konfigurace vypadá takto...

Část #3: Modulární systémy ve Spring Framework

V prvním díle jsme si ukázali, jak jednotlivé moduly separovat a propojit ve stromu. V předchozím pak způsob, jak strom udržet konzistentní a refreshovatelný za běhu aplikace. Dnešní díl bude o tom, jak jednotlivé moduly mezi sebou propojit - respektive, jak zajistit interakci mezi jednotlivými moduly.

Část #2: Modulární systémy ve Spring Frameworku

V této části seriálu si rozebereme problematiku refreshe stromu aplikačních kontextů. Toto je skvělá vlastnost Springu, která je často nedoceněná a málo používaná. Díky ní je možné jednoduše zahodit všechny současné instance bean definované v aplikačním kontextu a provést kompletní reinicalizaci kontextu s aktuální konfigurací (tak...

Více vývojových prostředí pomocí Springu

Každá aplikace by měla v průběhu svého vývoje procházet několika vývojovými prostředími - vývojové prostředí jednotlivých programátorů, testovací prostředí, prostředí pro akceptační testování a produkční prostředí pro nasazení aplikace u zákazníka. Každé prostředí má svoje specifika - různé konektory k databázím, různé požadavky na...

Část #1: Modulární systémy ve Spring Frameworku

V tomto díle si povíme něco o aplikačních kontextech, jejich vlastnostech a možnosti jejich řetězení do stromové struktury. Tato část je základem principem celého modulární skladby, jejíž detaily vám budu v následujících dílech popisovat. Jak jsem již uváděl v předmluvě, nejedná se o nic světoborného, jen o základní principy Springu.

Spring 2.5 - podpora anotací, testovací framework a další

Nedávno uvolněný 4 milestone verze 2.1 Spring framewroku mě přinutil k migraci na tento release. Na začátek bych ovšem rád vysvětlil jak to bude s verzováním dalších releasu Springu, prototože je to trochu zmatečné. Takže číslo 2.1 se používá pro označení milestonů, číslo označující nadcházející verzi Springu je 2.5 (stále ompatibilní s J2SE 1.4) a...

Seriál: Modulární systémy ve Spring Frameworku

Ve chvíli, kdy začnete používat při vývoji masivněji Spring Framework a začnete vytvářet znovupoužitelné knihovny postavené nad tímto frameworkem, začnete řešit jak z těchto knihoven co nejlépe složit výslednou aplikaci. První myšlenky povedou pravděpodobně těmito cestami:konfigurační soubory jednotlivých knihoven sloučit v jednom velkém aplikačním...

Jak na rychlé integrační testy ve Springu

Integrační testy spočívají v testování konkrétní kódu spolu s okolními částmi, se kterými spolupracuje. Cílem je snaha otestovat kód ve stavu, který se blíží reálnému nasazení. Obvykle takto testujeme datovou vrstvu aplikace (jelikož tam klasické jednotkové testy ztrácejí smysl - chceme přeci otestovat správné dotazování databáze, tudíž databázi k...

Jednoduché asynchronní zpracování událostí ve Springu

Spring framework má “od přírody” k dispozici implementaci Observer patternu. To není nic jiného než mechanismus “listenerů” tak, jak jej známe například ze Swingu. Základní a defaultní implementace je velmi jednoduchá, kdekoliv v managovaných beanách můžete přes tzv. Publisher (což je typicky aplikační kontext, kterým je daná beana vytvořena)...

Dynamické PDF pomocí JasperReports, iReport a Spring Frameworku

V článku přiblížím tvorbu dymických PDF dokumentů pomocí JasperReports, iReport a Spring frameworku. Uvedu základy JasperReports. Následovat bude seznámení s návrhářem iReport a nakonec ukážu integraci se Spring Frameworkem.

Property Editory ve Spring Frameworku

Dnešní článek bych chtěl věnovat "property editorům":http://www.springframework.org/docs/reference/validation.html a zvláště jejich používání ve Spring Frameworku.

Spring web flow - framework pro management toku web aplikace

Dnes existuje spousta MVC frameworků, které vám dovedou zařídit skvělé (rozuměj flexibilní) routování. Světem webu dnes vládnou nice URL`s, přístupnost atd…V některých případech však požadujete něco zcela jiného. Například taková registrace uživatelů nebo odesílání objednávky. Takovéto procesy bývají rozděleny do několika kroků a bývá zcela...

Spring v desktopové aplikaci

V poslední době jsem se hned několikrát setkal s názorem, že Spring je ryze webový framework. Tento článek, který by se spíše mohl jmenovat "Seznámení se springem", by měl tuto mylnou teorii vyvrátit.

Inversion of Control v rámci Spring - praktický tip

Při brouzdání diskuzemi na webu občas narazím na názor, že systém provázání objektů v aplikaci založené na rámci Spring prostřednictvím návrhového vzoru Inversion of Control je zbytečná práce navíc.

Jarní zamyšlení nad Springem

spring logo
Je jaro, tedy čas nadmíru vhodný k zamyšlení se nad Springem. Předem bych chtěl upozornit, že jsem jeho velký fanoušek, takže se ode mě asi velké kritiky nedočkáte. Také nečekejte žádný technický návod něco podobného. Bude to prostě jen takové zamyšlení proč je ten Spring tolik populární.Při programování člověk často naráží na problémy, u kterých...

Spring v ofenzívě

Už jste slyšeli o RCP (Rich Client Platform)? Rich Client Platfrom by měla představovat plnohodnotný podvozek, na kterém by měla jít velice snadno vybudovat desktopová aplikace. Pokud jste o RCP slyšeli, pak vám určitě neuniklo, že se hlavní souboj doposud odehrával mezi Eclipse RCP (založené na GUI technologii SWT) a NetBeans RCP (založené na GUI...

Spring framework V - aplikační kontext, IoC

V předchozím díle jsme si s pomocí Springu vytvořili maximálně jednoduchou webovou aplikaci a dnes bychom měli začít s jejím rozborem. Řekneme si, co je to aplikační kontext a jak je vytvořen na základě konfiguračního souboru ve formátu XML. Zmíníme se také o IoC a jeho alternativách.

Spring framework IV - download, verze, první aplikace

V dnešním díle konečně hodíme za hlavu teorii a přejdeme k psaní kódu. Řekneme si odkud Spring stáhnout, jakou verzi použít a pak bleskově implementujeme kompletní funkční Spring-based webovou aplikaci.

Spring a jeho JPetStore

S rozhodnutím, že se konečně ponořím do jarního pracovního rámečku (čti: Spring framework), jsem si stáhl jeho distribuci a pokusil se rozchodit jeho vzorovou aplikaci "JPetStore". Zdálo se, že VÝJIMEČNĚ vše poběží bez problému, dokud jsem nenarazil, na tuto výjimku: java.sql.SQLException: Table not found: CATEGORY in statement ...

Nový web Springu

Domovské stránky rámce Spring včera změnily vizáž. Původně byly založeny jen na statických html stránkách, ale velikost a význam projektu vzrostly natolik, že bylo nutné přejít na dynamické generování obsahu. Web Springu teď tedy jede na redakčním systému Drupal.

Spring framework III - souvislosti s J2EE a EJB

Kdo může psát o frameworku Spring fundovaněji než jeho autor Rod Johnson. Dnešní díl se tedy bude věnovat myšlenkám, které stály u zrodu Springu a které Rod prezentoval knižně. Chcete-li poznat skutečně podrobně důvody proč používat k vývoji J2EE aplikací Spring framework, měli byste si přečíst Johnsonovu knihu Expert one-on-one J2EE Design and...

Spring framework II - účel, zacílení, výhody

V dnešním díle se mrkneme na účel a zacílení Springu, zmíníme se o často využívané možnosti nahradit Springem EJB a nakonec vypíchneme některé výhody, které sebou použití Springu nese.

Spring framework I - základní pojmy

Aplikační rámec Spring je současným hitem vývoje J2EE aplikací. Podle některých odborníků na javové technologie je Spring spolu s dalšími rozšířenými open-source nástroji hnacím motorem J2EE v souboji s konkurenčními prostředími, zejména .NETem. Popularita Springu den po dni roste, a tak i my dneškem otevíráme sérii článků, která se mu bude...

EJB 3.0, Interceptory a Spring

Mě osobně přijdou Interceptory jako příjemné sblížení s AOP. Na druhou si neodpustím malé rýpnutí, tohle máme zavedené a používáme v aplikačním frameworku Spring díky AOP již dávno. Je libo malou ukázku?

 
strana 1/1celkem 110 položek