Aplikasi Web Manajemen Hubungan Pelanggan
| Fitur | Bahasa & teknologi | Pengaturan Enviroment | Proses utama | Proses tambahan | Jsp | Catatan |
|---|


Tentang
Aplikasi web sederhana untuk mengelola hubungan pelanggan, menggunakan Spring MVC dan Hibernate, dikonfigurasi oleh XML
Fitur
- Lihat pelanggan
- Tambahkan pelanggan baru
- Perbarui Pelanggan
- Hapus Pelanggan
- Dukungan logging AOP
Bahasa & teknologi
- Jawa
- Xml
- Mysql
- Spring MVC
- Spring AOP
- Hibernate
- Jstl
- Jsp
- CSS/JavaScript
Proses pengembangan
Pengaturan Enviroment
Buat proyek web dinamis baru di Eclipse
Buat Database MySQL di Workbench [create-Database.sql]
Impor Guci ke Perpustakaan: Web-Inf/Lib
- Konektor mysql [url]
- JSTL API (untuk JSP) [URL]
- Kerangka Musim Semi [URL]
- Hibernate (folder yang diperlukan) dan C3P0 (folder opsional) [URL]
- Aspekj (untuk AOP) [url].
Untuk Java 9+, termasuk stoples mengikuti Web-Inf/Lib
- javax.activation-1.2.0.jar
- JAXB-API-12.3.0.Jar
- jaxb-core-2.3.0.jar
- JAXB-Impl-2.3.0.jar
Tes Database Connection (Project Facets/RunTimes/Tomcat): Buat servlet [testDatabaseServlet]
Sertakan file XML konfigurasi (Spring MVC dan Web) di Web-INF.
Konfigurasikan pegas + hibernate dalam file xml [spring-mvc-crud-demo-servlet.xml]
- Tentukan lokasi namespaces dan skema XML
- Tentukan database database / kumpulan koneksi
- Mengatur Pabrik Sesi Hibernate
- Mengatur Manajer Transaksi Hibernate
- Aktifkan konfigurasi anotasi transpresi
- Tambahkan dukungan untuk membaca sumber daya web: CSS, gambar, JS, dll.
- Aktifkan Proxy Auto Aspek
Test Spring Controller: Buat kelas pengontrol dengan metode kembali ke file JSP baru di folder 'View'.
Utama
- Buat kelas pelanggan dan peta ke tabel basis data menggunakan hibernate.
- Buat Antarmuka Pelanggan.
- Buat kelas CustomerDAOImpl dengan @Repository
- Menyuntikkan pabrik sesi dengan @autowired
- Menerapkan metode
- Dapatkan sesi Hibernate saat ini
- Buat kueri [org.hibernate.query.query]
- Jalankan kueri dan dapatkan daftar hasil
- Hasil pengembalian
- Buat Antarmuka Layanan
- Buat implementasi layanan dengan @Service
- Suntikkan DAO dengan @Autowired .
- Menerapkan metode dengan @transactional .
- Delegasi Panggilan ke DAO.
- Buat/perbarui CustomerController
- Menyuntikkan layanan pelanggan menggunakan @autowired
- Buat metode permintaan dengan @RequestMapping
- Dapatkan Hasil dari Layanan dari DAO atau Buat Atribut Model ke Bind Form Data [CustomerController]
- Tambahkan hasil/atribut ke model
- Kembalikan halaman JSP
- Buat/perbarui halaman JSP
- Tambahkan dukungan untuk tag inti JSTL:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
- Buat Kelas Aspek dengan @Aspect dan @Component [LoggingAspect] [Referensi]
- Tambahkan Logger
- Deklarasi PointCut Pengaturan
- Tambahkan saran
Tambahan
- Halaman JSP Prettiftify dengan CSS
- Tempatkan CSS di folder 'Sumber Daya' di WebContent.
- Konfigurasikan Spring untuk menyajikan folder 'sumber daya'.
- Referensi CSS di JSP.
- Konfigurasikan File Selamat Datang di Spring XML untuk mengarahkan ulang dari beranda
- Buat jsp di dalam konten web, cocok dengan nama file selamat datang di xml [index.jsp]
- Redirect ke alamat yang diinginkan:
<% response.sendRedirect("address"); %>
- Metode permintaan refactor di pengontrol menggunakan @getmapping , @postmapping
Jsp
- Dukungan untuk tag formulir MVC Spring:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> -
${pageContext.request.contextPath} Mengembalikan nama aplikasi yang tepat di JSP.
Catatan
- Paket untuk pemindaian harus cocok di file XML konfigurasi pegas.
- Folder 'lihat' berisi file JSP harus cocok di file xml konfigurasi pegas
- Jalankan Proyek: Pilih Project Root -> Run as -> Run di server.
- Gunakan sessionFactory.SaveorUpdate (): gabungkan save () dan update () [customerdaoImpl]
- @RequestMapping (hanlde semua metode), @getmapping , @postmapping
-
@RequestMapping(path="...", method=RequestMethod.GET) <=> @GetMapping(path="...") - Gunakan "Redirect: Mapped_Method" untuk mengarahkan ke metode yang diberikan di pengontrol alih -alih halaman JSP [CustomerController]
- Gunakan @transactional [org.springframework] untuk memulai dan menutup transaksi untuk metode [customerdao]
- Gunakan @Repository dengan implementasi DAO untuk menangani terjemahan pengecualian.
- Gunakan @Service untuk implementasi layanan.
- Pola desain lapisan layanan
- Tentukan @transactional di lapisan layanan, bukan DAO.
- Suntikan layanan alih -alih DAO di pengontrol.
- Controller <--> Layer Layanan <-> DAO.
Pergi ke atas