Java özünde null howpsuzlygyny tip ulgamynda görkezmäge rugsat bermeýän hem bolsa, Spring Framework häzir org.springframework.lang
paketinde aşakdaky annotasiýalary öz içine alýar, şonuň üçin API interfeýslerini we meýdanlaryny null howpsuzlykda yglan edip bilersiňiz:
-
@Nullable
: Käbir parametrleriň, gaýtarylýan gymmatyň ýa-da meýdanyňnull
bolup biljekdigini görkezýän annotasiýa. -
@NonNull
: Käbir parametrleriň, gaýtarylýan gymmatyň ýa-da meýdanyňnull
bolup bilmejekdigini görkezýän annotasiýa (@NonNullApi
we@NonNullFields
annotasiýalary peýdalanylýan ýerler üçin gerekli däl). -
@NonNullApi
: Paket derejesinde parametrler we gaýtarylýan gymmatlar üçin null däl semantikany deslapky ýagdaý hökmünde yglan edýän annotasiýa. -
@NonNullFields
: Paket derejesinde meýdanlar üçin null däl semantikany deslapky ýagdaý hökmünde yglan edýän annotasiýa.
Spring Framework öz içine alýan bu annotasiýalary netijeli ulanýar, ýöne olar Spring esasly islendik Java proýekti üçin null howpsuz API interfeýslerini we islege görä null howpsuz meýdanlary yglan etmek üçin hem ulanylyp bilner. Jynsyňyzyň ýolunyň uzynlygyna (varargs) we elementlerine dürli argümentleriň null bolmagyny kabul etmek häzirlikçe goldanmaýar, ýöne geljekki çykarylyşda goşular. Iň täze maglumatlary SPR-15942 sahypasyndan görüň. Spring Framework neşirleriniň arasynda null gymmaty kabul edýän üýtgetmeler garaşylýar, hatda kiçi düzedişler hem. Metodlaryň içinde ulanylýan tiplere null bolmagyny kabul etmegiň çäklerinden çykýar.
Ulanyş mysallary
Spring Framework API interfeýsi üçin null gymmaty kabul edijilik bilen yzygiderli yglan etmegiň üstesine, bu annotasiýalar IDE (mysal üçin, IDEA ýa-da Eclipse) tarapyndan null howpsuz bolup durmadyk peýdaly duýduryşlar üçin ulanylyp bilner, bu bolsa NullPointerException
ýaly meselelerden gaçmaga kömek eder.
Bular hem Kotlin proýektlerinde Spring API interfeýsini null howpsuz etmek üçin ulanylýar, sebäbi Kotlin esasan null howpsuzlygyny goldaýar. Has giňişleýin maglumatlary Kotlin goldawy dokumentasiýasyndan tapyp bilersiňiz.
JSR-305 Meta-annotasiýalar
Spring annotasiýalary JSR 305 (häzirki wagtda amala aşyrylmadyk, ýöne giňden ulanylýan JSR) annotasiýalar bilen meta-annotasiýalardan geçýär. JSR-305-den meta-annotasiýalar, IDE we Kotlin ýaly gurallar üpjün edijilerine Spring annotasiýalaryny goldamak üçin berk kodlamak zerurlygy bolmazdan umumy null howpsuzlygyny üpjün etmäge mümkinçilik berýär.
Spring null howpsuz API interfeýsiniň artykmaçlyklaryndan peýdalanmak üçin taslamanyň ýoluna JSR-305 baglanyşygyny goşmak zerurlygy ýok we maslahat berilmeýär. Diňe Spring esasly kitaphanalary ýaly, kod bazasynda null howpsuz annotasiýalary ulanýan taslamalar com.google.code.findbugs:jsr305:3.0.2
Configurasiýasy bilen compileOnly
ýa-da provided
Maven görüş meýdançasyndan goşmaly, bu bolsa ýygnama duýduryşlaryňyza kömek eder.
GO TO FULL VERSION