Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 16470|Jawab: 0

[Sumber] Java annotations@PostConstruct dan penjelasan terperinci serta contoh @PreDestroy

[Salin tautan]
Diposting pada 04/04/2019 16.21.12 | | | |
Pengantar singkat

Java EE5 memperkenalkan dua anotasi, @PostConstruct dan @PreDestroy, yang bekerja pada siklus hidup servlet, memungkinkan operasi kustom sebelum bean diinisialisasi dan sebelum dihancurkan. Artikel ini terutama menjelaskan @PostConstruct.

Petunjuk Penggunaan API

Berikut ini adalah petunjuk untuk menggunakan @PostConstruct API:

Anotasi PostConstruct digunakan pada metode yang perlu dijalankan setelah injeksi dependensi selesai untuk melakukan inisialisasi apa pun. Metode ini harus dipanggil sebelum memasukkan kelas ke dalam layanan. Semua kelas yang mendukung injeksi dependensi harus mendukung anotasi ini. Bahkan jika kelas tidak meminta injeksi sumber daya apa pun, metode yang dianotasi dengan PostConstruct harus dipanggil. Hanya ada satu cara untuk membuat anotasi dengan anotasi ini. Metode untuk menerapkan anotasi PostConstruct harus mematuhi semua kriteria berikut: metode tidak boleh memiliki parameter apa pun kecuali dalam kasus pencegat EJB, sebagaimana didefinisikan oleh spesifikasi EJB, dalam hal ini akan datang dengan objek InvocationContext; Jenis pengembalian metode harus batal; Metode tidak boleh melemparkan pengecualian yang dicentang; Metode penerapan PostConstruct dapat berupa publik, dilindungi, paket pribadi, atau pribadi; Metode tidak dapat statis kecuali untuk klien aplikasi; Metodenya bisa final; Jika metode melemparkan pengecualian yang tidak dicentang, maka kelas tidak boleh ditempatkan dalam layanan kecuali jika itu adalah EJB yang dapat menangani pengecualian dan memulihkan darinya.
Dapat diringkas sebagai berikut:

  • Hanya ada satu cara untuk membuat anotasi dengan anotasi ini;
  • Metode beranotasi tidak boleh memiliki parameter apa pun;
  • Metode beranotasi mengembalikan nilai void;
  • Metode beranotasi tidak boleh melemparkan pengecualian yang dicentang;
  • Metode beranotasi harus berupa metode non-statis;
  • Metode ini hanya dilakukan sekali;


Bagan alur eksekusi servlet

Penambahan dua anotasi hanya akan memungkinkan servlet untuk mengeksekusi diagram alur:



Selama proses instansiasi kacang tertentu, metode beranotasi @PostConstruct disebut setelah metode konstruksi dan sebelum metode init.

Contoh

Metode yang dapat dieksekusi yang ditulis berdasarkan boot Spring dapat ditemukan di github:https://github.com/HappySecondBrother/example

Metode UserService (menyediakan data yang di-cache):

BusinessService, memanggil UserService dengan @PostConstruct:

Hasil eksekusi:

Aplikasi proyek

Dalam project@PostConstruct skenario aplikasi utama adalah memuat beberapa data cache saat menginisialisasi servlet.

Catatan:

Menggunakan anotasi ini memengaruhi waktu mulai layanan. Server memindai semua file di WEB-INF/classes dan semua paket jar di bawah WEB-INF/lib saat startup.





Mantan:Tidak dapat menyuntikkan @Autowired di Listener
Depan:PDF Cina mysql edisi ke-3 berkinerja tinggi
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com