JAVA EE 7-ის რამდენიმე ახალი Feature

მოცემულ პოსტში მინდა, რომ ორიოდე სიტყვით განვიხილო და გადმოგცეთ JAVA EE 7-ის რამდენიმე ახალი Feature. თითოეული საკითხს თან ახლავს შესაბამისი მაგალითი. 

  • CDI

CDI გამოჩნდა Java EE 6-დან. ეს არის სტანდარტული გზა Dependency Injection (DI)-ის გასაკეთებლად Java პლატფორმაზე. Java EE 6-ში ჩვენ გვჭირდებოდა beans.xml ფაილი CDI-ის და ზოგადად DI-ის გამოსაყენებლად/გასაკეთებლად. Java EE 7-ში CDI არის  default, მაგრამ ჩვენ თუ მაინც გავაკეთებთ beans.xml ფაილს, მაშინ CDI-ის “სამი შესაძლო” ვარიანტი გევქნება:

  1. all – რაც ნიშნავს, რომ CDI ვრცელდება ყველა Bean-ზე, ანუ ყველა Bean ხელმისაწვდომია DI მექანიზმისთვის.
  2. annotated – ეს არის default მნიშვნელობა. რაც ნიშნავს იმას, რომ თუ არ გვაქვს beans.xml ფაილი, პროექტის ნებისმიერი Bean, რომელიც არის CDI Scoped Bean ხელმისაწვდომი იქნება Injection-თვის.
  3. none – ნიშნავს რომ CDI-ის არ ვიყენებთ.

1

  • CDI : @Vetoed

თუ გვინდა, რომ კონკრეტული Bean არ იყოს injected, მაშინ ამ Bean-ს უბრალოდ დავადებთ ანოტაცია @Vetoed-ს. თუ გვინდა რომ კონკრეტული პაკეტის არცერთი Bean არ იყოს injected, მაშინ თითოეული Bean-ისთვის ანოტაციის დადების ნაცვლად, მთლიან პაკეტს დავადებთ ანოტაციას

2

  • Bean Validation : Method Validation

Java EE 7-ში ჩვენ შეგვიძლია მოვახდინოთ Bean-ის მეთოდების ვალიდაცია, მანამ სანამ Bean-ი იქნება განახლებული (updated), წაშლილი (deleted) ან ა.შ. გარდა იმისა, რომ შეგვიძლია მეთოდის პარამეტრის ვალიდაცია, ასევე შეგვიძლია ვალიდაცია ჩავუტაროთ მეთოდის დასაბრუნებელ მნიშვნელობას. თუ რომელიმე მეთოდი ვერ გაივლის ვალიდაციას, მაშინ ის არ  იქნება გამოძახებული და მოხდება ConstraintViolationException.

3

  • JPA : Schema Generation

JPA 2.1-ში დაემატა  მონაცემთა ბაზის (DB) ცხრილების გენერაცია. თუ ჩვენ “ავაწყობთ” JPA Entity-ებს შეგვიძლია დავაგენერიროთ ამ Entity-ების შესაბამისი DB ცხრილები.

4

(1) ნიშნავს, რომ ყოველთვის, როცა აპლიკაციის deploy მოხდება, DB ცხრილები წაიშლება და ხელახლა შეიქმნება.

(2) ამ შემთხვევაში არ დაგენენრირდება DB ცხრილები, მაგრამ დაგენერირდება create.sql ფაილი, რომელშიც ეწერება DB ცხრილების შექმნის SQL კოდი.

 

  • JPA : @Index

ვთქვათ უკვე შევქმენით DB ცხრილები და ახლა გვინდა Index-ების დადება ცხრილებზე, JPA ამისთვის გვთავაზობს @Index ანოტაციას. ვნახოთ შესაბამისი მაგალითი:

5

ამ მაგალითში Book-ის შესაბამის DB ცხრილს აქვს ჩვენს მიერ შექმნილი ორი ინდექსი. ერთი ISBN სვეტზე და მეორე PAGE სვეტზე.

 

  • JPA : Stored Procedure

JPA 2.1-ში არის Stored Procedure-ების გამოყენების შესაძლებლობაც. ვნახოთ შესაბამისი მაგალითი:

6

როგორც ვიცით მონაცემთა ბაზაში, პროცედურების პარამეტრები შეიძლება იყოს IN, OUT, IN-OUT ტიპის, სწორედ პარამეტრების ამ ტიპზე მიუთითებს მაგალითში mode-ის მნიშვნელობა, ანუ პარამეტრი date და პარამეტრი warehouse ორივე არის IN ტიპის პარამეტრები.

 

  • JSON-P : JSON BUILDER

JSON არის ერთ-ერთი გავრცელებული ფორმა ინფორმაციის გაცვლისთვის. ჩვენ შესაძლებლობა გვაქვს რომ Java-ს მეშვეობით შევქმნათ JSON-ის ობიექტი მეხსიერებაში ძალიან მარტივად, ვნახოთ შესაბამისი მაგალითი :

7ზემოთ მოყვანილ მაგალითში ჩანს, რომ ჩვენ შევქმენით ობიექტი, რომელსაც აქვს id, date ველები და ამათთან ერთად აქვს customer ველი, რომელიც არის nested ობიექტი და მას თავისმხრივ აქვს name და surname ველები

Leave a Reply / უპასუხე

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / შეცვლა )

Twitter picture

You are commenting using your Twitter account. Log Out / შეცვლა )

Facebook photo

You are commenting using your Facebook account. Log Out / შეცვლა )

Google+ photo

You are commenting using your Google+ account. Log Out / შეცვლა )

Connecting to %s