Spring drobnůstky

Dnes bych chtěl psát o pár ze svých oblíbených Spring vychytávek. Jsou to drobnosti, bez kterých bychom se obešli, ale člověku trochu ušetří práci. Předem upozorňuji, že všechny mají jednu malou vadu na kráse. Tím, že je použijete, stanete se (i váš kód) závislými na Springu.

org.springframework.util.FileCopyUtils

V poslední době často používám FileCopyUtils. To je třída, jejíž hlavním přínosem je snadné kopírování dat z InputStreamu do OutputStreamu. Dále nám umožní snadno kopírovat Reader do Stringu a jiné podobné taškařice. Jeden příklad za všechny:

byte[] data = FileCopyUtils.copyToByteArray(new File("test.txt"));

org.springframework.util.Assert

Další užitečnou drobnůstkou je třída Assert. Ta nám umožní psát něco takového



  public void doSomething(String param)
  {
    Assert.hasText(param, "Param has to be filled.");
    ...
  }

Když v paramtru param bude null, nebo samé mezery, dostaneme IllegalArgumentException. Samozřejmě bychom něco podobného dokázali i dobře mířeným ifem. Uvedený zápis má tu výhodu, že je přehlednější a navíc je jasné, že nejde o součást business logiky, že to je jenom kontrola předpokladů. Pozor v tomto případě není vhodné použít klíčové slovo assert, o důvodech se dočtete zde. Více se o programování kontraktem můžete dočíst zde.

org.springframework.web.filter.CharacterEncodingFilter

Poslední užitečnou drobnůstkou, o které chci dnes psát je CharacterEncodingFilter. Tato třída se používá, když vám ze „záhadných důvodů“ nefunguje čeština ve formulářích na webu. To bývá způsobeno tím, že některé prohlížeče zapomínají poslat informaci, jakým kódováním znakové sady je zakódován HTTP request. Tento filtr umí v takovém případě u requestu nastavit implicitní hodnotu kódování. Podobný filtr najdete například i v Tomcatu, nicméně když už používáme Spring, není důvod přidávat další knihovnu.

One Response to “Spring drobnůstky”

  1. Zerem Says:

    Velice zajimavy blog....