Transcript for:
Kelas Spring Framework dan Spring Boot

Halo Halo teman-teman selamat datang di kelas paling dimana disini kita akan mulai ya belajar tentang dasar-dasar spring Framework dan juga springboard Sebelum kita mulai kita akan kenalan dulu ya jadi Nama saya adalah Eko Kurniawan khannedy saat ini saya kerja sebagai teknik arsitek di salah satu e-commerce terbesar di Indonesia Saya sendiri sudah lebih dari 10 tahunnya untuk bekerja dan di sela-sela Saya bekerja biasanya saya menyempatkan diri berbagai konten soal programming baik Itu di website programmer zaman now atau di youtube channel programmer zaman now kalau teman-teman ingin diskusi langsung dengan saya teman-teman juga bisa kontak saya lewat telegram atau jangan lupa juga follow sosial medianya program zaman now ada di Facebook Instagram YouTube juga di telegram channel kalau dari teman-teman saya di perusahaan teman-teman ingin konsultasi teman-teman juga bisa email ke email pribadi saya Oke jadi kita di sini akan fokus membahas tentang dasar-dasar spring Framework dan juga spring-boot jadi disini pastikan teman-teman sudah mengikuti kelas saya sebelumnya yaitu tentang kelas Java jadi disini Saya tidak akan membahas lagi ya tentang pemograman Java jadi saya harapkan teman-teman memang sudah mengikuti kelas Java yang sudah saya buat atau minimal memang teman-teman sudah mengerti tentang Java oke agendanya apa sih agennya kita akan fokus bahas tentang dasar-dasar spring Framework dan juga spring-boot diganti teman-teman akan berkenalan Apa itu spring kalau kita akan bahas tentang konsep in version of Control application konteks Dependency injection lebihin lifecycle evanescene dan masih banyak dasar-dasar spring yang akan kita bahas Oke Enggak usah berlama-lama Ya intronya kita akan langsung masuk ke materi Sekarang kita akan berkenalan dulu dengan spring itu sendiri apa itu spring Framework ya jadi spring Framework kita adalah Framework yang saat ini memang paling Hai di Java jadi saat kita membuat aplikasi entah itu aplikasi desktop aplikasi web gitu ya upload aplikasi yang skalanya enterprise itu sekarang banyak sekali programmer Java yang menggunakan teknologinya atau frameworknya adalah spring Framework nah saking populernya Sisi spring Framework ini sampai-sampai dia mengalahkan popularitasnya Java enterprise itu sendiri jadi dijava itu ada versi untuk enterprise namanya adalah Java enterprise atau sekarang sudah berganti nama sebenarnya menjadi Jakarta enterprise nah saking populernya itu sendiri ya sih spring Framework jadi sampai sampai sekarang orang lebih banyak menggunakan spring Framework dibanding standar bawaan javanya itu sendiri yaitu Java enterprise jadi makanya sudah tidak aneh lagi kalau sekarang Biasanya di lowongan pekerjaan terutama pekerjaan Java spring Framework sudah menjadi salah satu yang wajib dikuasai nah spring Framework sendiri itu dibuat sekitar tahun 2003 boleh pembuatnya yang pertama kali adalah namanya Rock Johnson ini dibuat Hai dari awal memang dibuat untuk alternatif Java enterprise jadi Emang sejak tahun 2003 Jefri enterpres itu terkenal dengan berat ya Jadi lumayan berat Framework dan teknologinya maka dari itu Robinson dan juga komunitasnya itu membentuk sebuah Framework baru namanya adalah spring Framework dan sampai saat ini masih paling populer di dunia Java ya tentang Framework spring ini thanks Pemkot sendiri semakin populer Karena shafnat ringan ya jadi penggunaannya tuh sangat ringan dibandingkan kalau kita menggunakan Java enterprise nah Oleh karena itu biasanya kan kalau kita pakai Jafra interface Biasanya kita butuh risoles atau hardware yang mahal kalau menggunakan spring Framework itu cukup hardware yang ringan atau yang murah saja kita bisa gunakan atau membuat aplikasi skala enterprise menggunakan Java nah ini websitenya ya Jadi spring.io ini adalah website spring Framework jadi disini kalau teman-teman lihat projectnya ada banyak banget nanti Hai di roadmap spring ini kita akan bahas satu persatu dimulai dari yang sekarang ini adalah dasar-dasar speknya itu sendiri nah ada yang mungkin yang sekarang itu banyak sering orang bingung ya Ada spring Framework ada spring-boot napa bedanya Oke kita lihat jadi saat ini orang kebanyakan kalau belajar spring taunya adalah spring boot itu ya padahal enggak skor dari spring itu adalah spring Framework spring boot itu adalah Layer diatasnya lagi jadi spring boot itu merupakan Framework untuk mempermudah pembuatan aplikasi spring Framework jadi kalau kita mau membuat aplikasi menggunakan spring Framework saja sebenarnya bisa tapi kadang-kadang kalau kita buatnya manual itu lumayan banyak hal yang harus kita lakukan kaya konfigurasilah sana-sini dan sebagainya jadi lumayan ribet sebenarnya jadi Dahulu ketika belum ada spring-boot jadi pertama kalian adanya cuma spring Framework jadi saat kita membuat aplikasi spring Framework itu untuk pemula tidaklah mudah Hai jadi ribet sekali ya apalagi kalau pemula di dunia Java misalnya jadi banyak sekali yang harus kita konfigurasikan jadi karena terlalu banyak yang harus dilakukan sebelum bisa membuat aplikasinya jadi banyak sekali selanya ya ceremony nya itu terlalu banyak Nah lalu hadir yang namanya spring-boot jadi lima tahun terakhir itu springbed udah mulai populer gitu ya Nah springbed sendiri menjadikan kompleksitas tersebut ya ketika kita membuat aplikasi spring Framework itu ditangani secara otomatis oleh springboard jadi ini komunitasnya tetap sama komunitas spring Nah akhirnya kan agak ribet nih bikin aplikasi spring Oke akhirnya dibuat tool ya atau Framework baru di atas piring ini biar mempermudah ketika membuat aplikasinya nah sehingga saat kita membuat aplikasi spring Framework secara cepat ya kita bisa lakukan menggunakan spring-boot tanpa harus melakukan pengaturan apapun jadi Sudah otomatis sebenarnya ini bukan hal yang magic ya karena didalamnya sebenarnya springbed itu melakukan konfigurasi edisi spring Framework Namun kita tidak perlu melakukannya secara manual Nanti Disini sambil belajar kita akan lihat perbedaannya saat kita menggunakan spring Framework secara manual dengan menggunakan springbed perbedaannya Seperti apa Nah spring boot itu sekarang sudah menjadi salah satu Framework wajib ketika kita ingin membuat aplikasi di spring Framework Jadi sekarang itu sudah bergandengan lah istilahnya ya jadi saat kita bikin aplikasi spring Framework sudah pasti sekarang itu pasti pakai spring-boot karena kalau tidak menggunakan springbed lumayan Ribet ya jadi lebih mudah menggunakan springboard Oke pertanyaannya Kenapa kita harus menggunakan spring sebelumnya masih banyak frame-frame orang lain ya di dunia Jawa terutama Nah kenapa kita perlu menggunakan spring jadi tidak bisa dipungkiri saat ini spring adalah satu-satunya Framework yang paling populer di Java jadi mayoritas programmer Java itu menggunakan spring belum ada yang bisa menandingi popularitasnya di Java terutama nah bahkan saking populernya bahkan usahan pindah ke JVM ya Java virtual machine ekosistem Java karena ingin menggunakan spring nya bukan karena javanya jadi kadang-kadang ada dari teknologi lain misalnya sebelumnya menggunakan PHP akhirnya pindah ke teknologi JVM bukan karena pengen menggunakan Java tapi karena ingin menggunakan spring ya Nah dengan banyaknya bahasa yang bisa berjalan di atas JVM Seperti contohnya kotlin Gruvi skalanya maka secara programmer sekarang punya banyak pilihan bahasa pemograman yang dia pilih ya ketika menggunakan spring Jadi sekarang itu kalau kita menggunakan spring kita bisa milih ini bahasanya nggak harus menggunakan Java kalau kita nggak terlalu suka menggunakan Java kita bisa menggunakan kotlin contohnya atau Gruvi atau bahkan skala jadi banyak sekali alternatif-alternatif nontonnya lumayan sedang naik daun ya bahasa pemograman kotlin dan sekarang juga banyak ya programmer Java yang sekarang menggunakan koping ketika membuat aplikasi springnya nah sering juga sudah * diadopsi di banyak perusahaan baik itu skala besar atau skala kecil yang terbaru contohnya yang netflix sebelumnya netflix itu bikin vermox sendiri menggunakan Java sekarang mereka migrasi total menggunakan spring Jadi mereka semuanya perusahaan Efek itu ya menggunakan spring saat ini jadi banyak sekali perusahaan besar ya ataupun perusahaan kecil yang menggunakan spring jadi kita nggak usah takut ya ketika belajar spring banyak sekali perusahaan yang membutuhkan kemampuan programmer yang mengerti tentang spring Framework dan spring boot ini nah Selain itu ekosistem pendukung dalam sepi itu sangat besar jadi sangat banyak sekali ekosistem pendukung di spring jadi spring sendiri tidaklah digunakan untuk menggantikan Framework Sebenarnya ya jadi semuanya Framework spring itu selain dia bikin satu Framework tapi dia juga menjahit Framework remok lain yang sudah ada jadi dia tidak mengganti remok yang sudah ada Jadi dengan kita menggunakan spring nanti spring itu ia menjahit semua Framework sehingga terintegrasi dengan otomatis jadi spring saya digunakan terdengar sih dengan baik contohnya dengan bintang Edition jadi teman-teman ngga perlu lagi nih pakai validation misalnya bikin manual tapi teman-teman bisa pakai bawaan dari bintang Edition atau teman-teman biasanya membuat aplikasinya Misalnya menggunakan JPA djppr Susan FPI atau hibernate teman-teman nggak perlu lagi mikirin Oh berarti saya harus belajar teknologi baru dong kalau pakai sering nggak perlu karena sistem itu sudah terintegrasi dengan baik contohnya dengan servlet juga atau dengan Project reaktor RX Java dan sebagainya Itu sudah terintegrasi dengan baik menggunakan spring nah selain itu juga spring juga bisa diintegrasikan dengan teknologi yang tidak standar atau diluar dari bawaan javanya kalau bin validation Java persistence api servlet itukan bawaan dari javanya ya Nah kita juga bisa integrasikan secara mudah contohnya kalau teman-teman mau menggunakan databasenya adalah mengode dicontoh nya itu juga bisa diem dengan dengan mudah menggunakan spring atau mau misalnya konfigurasinya disimpan di konsul atau fold atau databasenya pakai Cassandra dan banyak lagi jadi semuanya sudah diintegrasikan jadi ekosistem pendukung seiring ini sudah besar sekali maka dari itu banyak orang yang suka menggunakan spring karena ekosistem yang sudah besar sehingga kita bisa fokus mengerjakan pekerjaan kita tanpa harus pusing lagi mengintegrasikan antar teknologinya Sekarang kita akan membuat projectnya terlebih dahulu untuk membuat Project spring itu kita tidak Pulau kan secara manual kita bisa menggunakan jurnal aktornya eh jadi disini sudah ada generator untuk membuat Project Sphinx teman-teman cukup gunakan stdout slink.io jadi sini kita akan coba buat Oke pertama di sini kita pilih dulu projectnya tipenya apa kebanyakan programmer Java biasanya menggunakan levelnya jadi kita pilih mefen kalau saya teman-teman programmer kotlin misalnya biasanya mungkin pilihnya yang grade tapi kita disini menggunakan mefan ya language hanya di sini ada banyak pilihan contohnya ada Java kotlin ada Gruvi kita akan pilih Java karena kita menggunakan bahasa pemograman Java kalau disini teman-teman Silahkan pilih spring bednya versi berapa ya saya sarankan pilih yang paling terbaru di sini yang paling terbarunya adalah 25 Nah tergantung teman-teman saat belajarnya sekarang versi berapa Silahkan pilih jadi saya disini akan pilih yang versi 25 oke di sini kita grupnya untuk main nya disini contohnya Grupnya adalah programmer zaman now kalau disini artefaknya disini hanya belajar spring dasar Halo di sini descriptionnya belajar spring Dasar lo disini pakenya programmer zaman now titik spring titik chord soalnya Ya oke selesai di sini packaging nya saya pilih Jar lalu Disini versi javanya temen silakan pilih sesuai dengan level teman-teman ya menggunakan versi Java yang berapa saya akan gunakan versi Java 11 Nah di sini ada dependensi saya akan menggunakan dependensi Lombok saja ya karena kita belum membahas fitur-fitur yang lainnya di sini saya akan tambahkan Lombok untuk mempermudah kita ya tidak perlu membuat gather setter dan sebagainya Jadi saya tambahkan Lombok selesai jadi sekarang saya sudah siap generate Jadi teman-teman silakan Jenner at sebuah itu halus Silahkan temen-temen buka menggunakan ID yang biasa teman-teman gunakan Sekarang kita akan bahas tentang inversion of Control jadiin version of Control ini atau disingkat iOS Iya ini merupakan prinsip dalam pembuatan perangkat lunak dimana kita melakukan pemindahan kontrol untuk objek atau kode kita ke sebuah kontainer di dalam Framework jadi kita bilang dia adalah kontainer di dalam Framework nya dan dia bertugas untuk memenej data objek dan juga kode program kita nah Tidak seperti biasanya ketika kita membuat aplikasi dimana kita selalu melakukan secara manual contohnya teman-teman mengeksekusi sebuah program memanggil sebuah vaksin sebagainya Itu bisa kita lakukan manual tadi dalam ayoshi kita bisa menyerahkan semua pekerjaan ya itu ke kontainernya jadi selanya itu ayo si itu kita bilang adalah kontainer biasanya ya Jadi ada yang bilang kontainer ada yang bilang Yaudah Framework Yoshi tapi lebih enak sih dibilangnya kontainer truk kontainer ayo sini dia memiliki kontrol untuk melakukan eksekusi program kita manajemen objek pada program kita dan juga bahkan melakukan abstraction terhadap kode program kita jadi lumayan Kompleks nih si in version of Control ini nah saat teman-teman menggunakan Framework Yosi kita bisa mengikuti cara kerja Framework tersebut jadi Biasanya kita cara kerjanya Jadi nggak bisa teman-teman bikin menggunakan cara kerja sendiri biasanya kita perlu mengikuti cara kerja sih Framework Ayo sinyal jadi ini konsekuensinya kalau teman-teman menggunakan Framework ya teman-teman harus mengikuti si perampok tersebut namanya juga frame Oke jadi kerangka bekerja ya teman-teman harus diikuti cara bekerja sih brewoknya ya teman-teman tidak bisa membuat cara bekerja programnya sesuai dengan apa yang kita mau jadi kita harus mengikuti cara bekerja sih frameworknya dan Sphinx sendiri ini merupakan Framework Yoshi atau in version of Control jadi spring bisa dibilang adalah sebuah Framework ayoshi gimana kita akan menyerahkan banyak sekali pekerjaan ke dalam spring jadi kode program kita objek-objek kita itu kita akan semuanya masukkan kedalam sih spring kontainer eh nanti ada ya spring itu ada namanya applicationcontext Nah itu adalah kontainer nya sih spring ayoshi jadi kode program kita mau tidak mau dia akan mengikuti cara kerjanya sih spring framework Jadi kalau dulu sebelumnya teman-teman mungkin biasa bikin main Clash habis itu bikin kode dimanfaatkan dan sebagainya ini teman-teman semua itu kita mau tidak mau Serahkan semuanya ke sprint karena kita akan menggunakan sip spring ini nah kabar baiknya adalah karena kita menyerahkan semuanya ke spring jadi otomatis kita akan mengikuti gaya bekerjanya sih spring Oleh karena itu semua programmer bisa saja akhirnya harus sama cara bekerjanya karena menggunakan satu Framework yang sama kalau tidak menggunakan remote biasanya tiap programmer mungkin bisa punya cara bekerja kode programnya masing-masing akhirnya Kalau kita berpindah-pindah dari satu kode program kode program yang lain agak menyulitkan gitu ya Nah kalau kita sudah menggunakan Framework seperti spring ini kita nggak perlu khawatir karena spring sudah mendikte cara bekerja seperti apa Jadi kita bisa mengikuti jadi walaupun programnya beda-beda cara kerjanya bakal tetap sama yaitu menggunakan cara kerjanya sih spring Framework ini jadi seperti ini kurang lebih gambarannya jadi si Invasion konsol ini adalah springnya jadi nanti kode program kita Itu akan kita masukkan ke dalam sih spring jadi kode program kita entah itu misalnya objek eksekusi kode programnya sebagainya kalo misalnya kita punya database mungkin nanti ada bagian repository nya ada bagian servicenya gitu ya ada bagian controllernya kalau bikin web itu semuanya dimanaj oleh si spring jadi spring akan momen semuanya kita cukup memasukkan kode program kita jadi semuanya sudah di handle oleh sih spring jadi ini adalah konsep in version of Control Sekarang kita akan bahas tentang applicationcontext application konteks Itu adalah sebuah interface representasi kontainer iOS di spring jadi kontainernya si spring itu namanya adalah applicationcontext Ini adalah sebuah interface bukan plus jadi application konteks ini adalah inti dari si spring Framework karena dia adalah kontainernya yang menit semua data dan juga kode program kita namanya adalah applicationcontext Hai application contest ini banyak sekali kelas implementasinya jadi karena dia adalah sebuah interface alias kontrak jadiin fans-nya semuanya banyak sekali teman-teman bisa saja buat informasi sendiri ya tapi saya tidak rekomendasikan karena lumayan Kompleks ya nah jadi kita bisa menggunakan yang sudah ada nah tapi secara garis besar itu dibagi menjadi dua untuk application konteks yang pertama itu adalah xml dan yang kedua adalah annotation nah sebelum spring versi 4 sekarang sendiri spring sudah versi 5 ya Nah sebelum versi 3 sore sebelum versi 4 jadi persis 123 itu banyak orang membuat aplikasi spring Framework itu masih menggunakan xml nah kirnya display 4 banyak orang yang berpindah dari xml ke annotation nah disini kita akan coba menggunakan annotation tidak akan menggunakan SMS lagi karena memang sudah jarang sekali sekarang programmer yang menggunakan xml ketika membuat aplikasinya jadi pada versi spring 3sm masih menjadi pilihan utama Tapi sekarang sudah banyak orang yang lebih dari xml ke annotation nah bahkan spring-boot pun merekomendasikan menggunakan annotation untuk membuat aplikasi berbasis spring Framework Jadi kau teman-teman nanti belajar tutorial spring-boot misalnya dimanapun itu pasti semuanya sekarang sudah menggunakan annotation tidak ada lagi yang menggunakan SML kalau teman-teman lihat javadoc nyata undersea disini ini adalah javadoc untuk application contest ya teman-teman lihat di sini dia itu turunan banyak sekali interface ya dan dia juga punya banyak sekali implementasi kelas nah lihat dia banyak sekali cotton perhatikan disini ada yang kata-kata SML nice email itu berarti dia adalah menggunakan xml Kalau annotation teh disini ada annotation berarti dia menggunakan annotation ya Jadi ini kontrak untuk kontainer nya sih spring Framework itu sendiri oke nah Saat kita ingin empat applicationcontext gitu ya kita butuh yang namanya configuration Nah kita akan bahas nih jadi untuk membuat application contest ya terutama menggunakan annotation pertama yang perlu kita buat adalah sebuah configuration class configuration kasih itu adalah sebuah kelas yang dia memiliki anotasi namanya at configuration jadi simple banget ya kalau teman-teman mau bikin applicationcontext silahkan bikin sebuah class konfigurasi simpelnya adalah teman-teman bikin kelas apapun tinggal tambahkan opsi at configuration nanti semua konfigurasinya kita akan masukkan disitu kita belum bahas dulu kita akan bahas dulu Bagaimana cara membuat sih application konteks ini sendiri Oke jadi pertama kita akan coba buat dulu kelas configuration nya katanya disini kita akan buat namanya hello-world configuration jadi simplenya teman-teman bisa bikin class ya kelasnya apapun itu paling enak belakangnya dikasih configuration untuk memberitahu kalau ini memang configuration ya lalu kita tambahkan Disini Kenneth configuration untuk menandakan bahwa ini adalah configuration spring Framework Oke kita akan coba buat Ok Disini saya akan buat nama file-nya Sorry nama kelasnya adalah Hello word configuration Oke selanjutnya kita cukup tambahkan annotation at configuration seperti ini ya Nah ini ada di dalam oergi spring Framework konteks annotation selesai jadi cukup seperti ini simple Artinya kita sudah membuat configuration untuk spring vemo Nah selanjutnya yang perlu kita lakukan adalah kita perlu buat applicationcontext jadi Selanjutnya setelah teman-teman membuat kelas configuration kita bisa menggunakan class annotation config applicationcontext untuk membuat application konteksnya Nah jadi sini konon perhatikan jadi annotation config jadi disini itu kita akan bikin applicationcontext dari konsep yang pakainya annotation kalau teman-teman pakainya xml konflik itu berarti dari file xml Nah kita tidak akan bahas itu sama sekali ya karena memang sekarang Sudah jarang sekali Nah kalau gitu kalau udah jarang Kenapa masih ada kelasnya karena sperma gitu menteng.com portable Jadi kalau teman-teman misalnya dapet spring aplikasi spring Young Lex besi yang masih lama gitu ya yang masih pada pakai SML NATO masih tetap bisa jalankan menggunakan spring Framework yang baru tapi yang baru-baru itu kalau aplikasinya baru-baru itu jarang sekali kita sekarang Biasanya fokus menggunakan annotation nah ini detail khasnya annotation config jadi annotation Convection konteks jadi disini adalah kita akan membuat Stallone application konteks yang menerima class input configuration ya oke Bagaimana cara membuatnya cara membuatnya simple Jadi teman-teman cukup bikin applicationcontext kita menggunakan polimorfisme fashion konteks = new annotation config applicationcontext Halo di sini tinggal masukkan kelas XII configuration nya yaitu hello-world configuration contohnya jadi simpel banget cara membuat application konteks di spring ya Oke kita akan coba yuk Disini saya akan buat namanya applicationcontext es ya kita akan buat unit esnya disini jadi kita buat applicationcontext sama dengan Jadi cukup new annotation config applicationcontext Halo di sini teman-teman silakan Masukkan nama kelas yang tadi konfigurasinya yaitu Hello word configuration titik kelas seperti ini jadi simple banget ya Nah pastikan dia 10 ya tidak error Oke kita gunakan assersion aset no Oke kita coba jalankan kita lihat sukses berarti tidak ada yang error nah disini dia juga ada lokernya ya Jadi otomatis keluar lokernya nah disini sudah sukses satunya tidak ada yang error jadi seperti ini caranya kita membuat applicationcontext ya atau kontainer nya sih spring cukup teman-teman bikin konfigurasinya dulu saya itu bikin application konteks dari salah satu Klasemen tasinya yang sekarang yang banyak digunakan contohnya annotation config application konteks Sekarang kita akan bahas tentang single tone single tone adalah salah satu design pattern untuk pembuatan objek dimana sebuah objek hanya dibuat satu kali saja ya kita membutuhkan objek tersebut kita hanya menggunakan objek yang sama terus menerus jadi obyeknya itu tersebut Ya selama aplikasi kita jalan Itu cuma dibuat satu kali kau tentang lihat detailnya tentang design pattern temanan bisa baca disini ya di sini disinfectants single tone Nah sekarang kita akan bahas dulu ya bagaimana cara membuat desain pattern single tone menggunakan Java Kenapa ini penting karena nanti single tonino akan dibawa oleh spring jadi sering itu saat membuat objek default-nya dia akan selalu membuat objeknya secara single ton maka teman-teman harus ngerti tentang single ton karena nanti secara default di spring itu dia akan selalu menggunakan single tone Pepen Oke jadi bagaimana caranya membuat single tone dijava ada banyak cara membuat single tone objek dijava ya Cara yang paling sering dilakukan adalah Biasanya kita membuat sebuah kelas yang berisikan Static metode untuk membuat objek dirinya sendiri Nah selanjutnya kontraktornya biasanya dibuat private Kenapa agar tidak bisa diakses dari luar Tidak ada orang lain yang nanti bisa membuat sih objek tersebut jadi cuma Static metodenya saja nah Oleh karena itu sehingga dipaksa ya atau terpaksa user atau client yang menggunakannya dia ketika mau membuat obyeknya dia harus menggunakan Static metode nah di dalam stigma tersebut kita akan modifikasi kalau kita akan kembalikan objek yang sama terus menerus jadi artinya obyeknya cuma sekali dibuat nanti dikembalikan objek yang itu-itu lagi ketika dibutuhkan Oke Seperti apa jadi seperti ini contohnya Katanya kita akan membuat sebuah class namanya database lalu Biasanya kita akan buat sih kontraktornya menjadi private ya lalu disini kita akan bikin Static file namanya database Lalu ada getinstance getinstance ini biasanya kita akan cek dulu kalau databasenya nol tetap by Nino Nah kita akan bodoh habis baru lalu baru ditemukan artinya Apa artinya kalau sudah tidak nol maka akan dikembalikan objek yang sama terus menerus ini adalah konsep single tone selalu mengembalikan objek yang itu-itu aja Oke kita akan coba Jadi kita akan buat disini misalnya nama kelasnya adalah database jadi Biasanya kita akan bikin private ya si kontraktornya agar tidak bisa dibuat ya Nah selanjutnya yang kita lakukan adalah kita akan bikin private Static database selanjutnya kita akan bikin public Static database get Instance biasanya Nah di sini kita simple tinggal cek aja kalau databasenya sama dengan nol kita buat dulu databasenya kalau udah tak bisa sudah tidak sama dengan nol baru kita akan mendatangkan sih databasenya seperti ini Jadi ini konsep single tone yang sederhana ya Oke kita akan coba bikin unit esnya Hai database tes-tes single tone jadi kita akan buat far misalnya database 1 = sore jadi kita enggak bisa new database lagi ya database itu enggak bisa lagi kenapa Karena dia sudah private jadi ini private jadi yang bisa kita lakukan adalah kita cuma bisa pakai database titik get instant lalu kita buat database yang kedua database getinstance nah ini pastikan obyeknya adalah itu-itu aja Association outseam data B1 dan database dua Oke kita cek kita lihat hasilnya nah sukses berarti benar ini adalah single tone jadi sebanyak apapun kita membuat database object baru di variabel berbeda pun dia sebenarnya objek yang itu-itu aja ini adalah konsep single tone nanti akan dibawa oleh si spring jadi saat kita nanti membuat objek kedalam Sphinx dia akan default-nya selalu single Tone sekarang kita akan bahas tentang bin sa'ad sebuah objek kita masukkan ke dalam spring kontainer ya itu objek tersebut kita namakan namanya adalah Bin jadi teman-teman enggak usah bingung ya Apa itu Bin jadi band itu objek yang kita masukkan ke dalam SI spring kontainernya nah secara default bin itu merupakan single tone jadi objek di dalam spring itu biasanya default-nya adalah single tone artinya bin itu single tone nantinya Apa artinya kalau kita Mas SBN yang sama maka dia akan mengembalikan objek yang sama karena dia adalah single tone nah sebenarnya kita juga bisa mengubahnya kalau tidak ingin single ton tapi nanti ini kita bahas di materi tersendiri tapi teman-teman perlu tahu default-nya kau teman-teman tidak apa-apa kan gitu ya Nah default-nya dia adalah single tone hai oke sekarang pertanyaannya Bagaimana cara membuat band itu sendiri untuk membuat bin kita bisa membuat sebuah metode dalam kelas configuration jadi kita bikin sebuah metode dalam plus configuration ya selanjutnya nama method tersebut akan menjadi nama bandnya jadi kalau kita bikin nama metodenya adalah Eko maka nama bandnya adalah Eko nanti ketika kita mau mengakses bin tersebut kita pakai nama metodenya yaitu adalah Eko dan Ridwan obyeknya dia akan menjadi objek bandnya nameta tersebut nanti kita tambahkan annotation namanya at band ini untuk menandakan bahwa metode tersebut adalah sebuah Bin jadi secara default kalo dikelas konfigurasinya tidak ada fb-nya di methodnya maka dia tidak akan dijadikan sebuah bin kalau teman-teman tambahkan fb-an baru dia akan menjadi Bin jadi simplenya nanti bin tersebut itu ketika spring membuat di aditech dulu method mana yang anda fb-nya kalau ada dia akan eksekusi methodnya obyeknya dia simpan di dalam spring ya hai lalu nama metalnya akan menjadi nama bandnya nah secara otomatis spring akan masuk Ussy mata tersebut jadi nantinya dan retensi linknya akan dijadikan objek bin secara otomatis dan disimpan di dalam kontainer iOS nya atau application konteksnya Oke jadi seperti ini contohnya kita misalnya punya sebuah class namanya Fu Halo dalam bin configuration Ini adalah sebuah configuration teman-teman bisa tambahkan method contohnya disini publik Fu nama metodenya adalah Fu tahu disini kita akan buat objek full dikembalikan jadi nanti spring itu akan baca configuration kelasnya lalu dia akan cari dimana method yang ada annotation fb-nya nah kalau disini contohnya ada Rotation fb-nya lalu dia akan buat berarti sebuah objek dengan tipe L filenya disini adalah Fu nama bandnya ya Enggak aja nama band seperti nama variabel ya di nama bandnya adalah Fu isi obyeknya Apa itu objeknya adalah yang kita kembalikan di dalam atau ini kita akan coba buat jadi di sini kita akan buat namanya bin configuration lalu disini tambahkan at configuration nah tapi sebelumnya kita akan buat dulu sebuah kelas namanya Fu Disini saya akan buat data packaging nya kalau disini kita akan buat kosongkan dulu ya Misalnya kita enggak perlu menambahkan apa-apa misalnya disini jadi disini default-nya kalau dia seperti ini aja berarti dia akan membuat application contest ya menggunakan configuration ini tapi tidak ada data apapun jadi yang pertama kita akan buat metode dulu methodnya misalnya ditempelnya adalah Fu gantinya Apa artinya nanti akan dibuatkan bin dengan tipe datanya Fu Halo DC nama bandnya apa sesuaikan dengan nama metalnya jadi Contohnya seperti ini hatinya nanti nama bandnya adalah kalau disini teman-teman silakan buat obyeknya lalu kembalikan di methodnya jadi contohnya membuat = newvo contohnya retensi punya Nah kalau cuma seperti ini default-nya dia tidak dianggap sebagai bin nah teman-teman tambahkan fb-an baru dia dianggap sebagai bintik Kalau tidak ada annotation bin dia tidak dianggap methodnya sebagai metode bin Oke jadi seperti ini ya caranya jadi lumayan sederhana Oke selanjutnya Bagaimana cara mengakses band tersebut jadi setelah kita membuat bin nantikan secara otomatis semua obyeknya akan diminati oleh applicationcontext jadi semua objek-objek bin tadi yang dibuat menggunakan metode itu akan disimpan di applicationcontext Nah untuk teman-teman kalau mau mengakses bandnya kita bisa menggunakan sebuah method namanya adalah get bin ada banyak sekali ya method get B nanti kita lihat satu persatu jadi methodnya namanya adalah getwin dia ada di applicationcontext Oke ini contohnya jadi teman-teman bisa gunakan aplikasi tragisnya misalnya get bin disini typenya misalnya fu.com saatnya nanti dia akan mencari dimana Bean yang tipe datanya Fu Nah di sini juga bisa get binfo artinya dia akan mencari bin dengan tipe datang karena seperti yang saya bilang diawal default-nya kalau di dalam spring itu objek bin itu akan disimpan secara single tone Jadi kalau teman-teman getwin getinfo dia sebenarnya akan mengembalikan objek yang sama Jadi bukan berarti ketika get bienfu metode yang ada di dalam configuration dieksekusi lalu giat binful deskripsi lagi enggak enggak seperti itu jadi mentalnya itu akan dieksekusi di awal Jadi sebelum bahkan sebelum dipanggil get bandnya itu bahkan di awal sudah dipanggil methodnya jadi dipanggil dulu methodnya dibuat dulu dimasukkan ke applicationcontext style itu selesai Nah jadi dipanggil atau tidak dipanggil get bandnya itu obyeknya sudah ada dalam applications contest Oke untuk memastikan kita akan coba dulu jadi disini misalnya kita akan tambahkan logging ya contoh Disini saya akan menggunakan slf 4G disini kita akan buat love contohnya info membuat contohnya atau Create new contohnya untuk memastikan Apakah dia dipanggil atau tidak Oke selanjutnya disini kita akan buat bin tes Eh kita akan bikin tes-tes kriyet Bin jadi kita akan buat applicationcontext = New annotation config disini bin configuration kelas kita enggak papa kan dulu disini assersion titik aset not-null konteks ini di sini kita belum Panggil getwin sama sekali kita lihat apakah di buat atau tidaknya obyeknya Oke kita lihat di sini lognya kita pastikan nah disini lihat Create new FU jadi artinya ini dipanggil jadi diawali itu memang bakal dibuat dulu semua objek binnya Oke sekarang kita akan coba lagi di sini kita akan buat tesnya adalah tes get bin ke ini saya akan copyface jadi kita gunakan konteks titik gate band ada di sini Fu titik class seperti ini ini misalnya fu1 dan disini vo2 misalnya seperti ini kita akan lihat ya Apakah Create new punya itu diakses dua kali atau tidak Oke kita akan coba running Nah lihat dia tetap sekali jadi memang ini hanya di awal saja dibuatnya bukan ketika di Hai baru dibuat Enggak seperti itu jadi di awal dibuat dulu kalau kita getwin dia dapat ketika get bin dia dapat key untuk memastikan Apakah benar dia objek yang sama kita akan coba cek assersion assets mu-1 dan vo2 terlihat Nah lihat dia adalah objek yang sama jadi secara default saat kita membuat bin di dalam spring itu default-nya dia adalah single tone Jadi kalau temen-temen get bin berkali-kali dengan objek yang sama Itu sebabnya dia mengembalikan objek yang itu-itu juga jadi dari awal kenapa saya ajarkan dulu single tone dia teman-teman tahu yah nanti nggak kaget kok Ketika saya manggil Kenapa tidak dibuatkan bin baru karena default-nya memang dia adalah single tone jadi ini adalah binding spring Sekarang kita akan bahas tentang duplikat Bin Hai di spring kita bisa mendaftarkan beberapa bin dengan tipe yang sama jadikan biasanya single Ton itu satu tipe data satu objek Nah kalau di spring sebenarnya kita bisa mendaftarkan tipe yang sama jadinya bisa aja satu saja atau bisa aja 23 seterusnya seperti itu nah tapi perlu diperhatikan kalau kita membuat bin dengan tipe data yang sama maka kita harus menggunakan nama band yang berbeda-beda jadi yang bikin unitnya itu sebenarnya bukan dari tipe data bandnya tapi dari nama bandnya Jadi kalau sebelumnya kita sudah membuat bin dengan nama contohnya kita tidak bisa membuat bin lagi dengan nama full lagi teman-teman harus bikin namanya beda itunya mungkin full 1/2 tipe datanya sama boleh tidak boleh itu enggak ada masalah yang penting nama bandnya itu harus berbeda nah Selain itu saat kita mengakses bandnya kita juga nanti wajib menyebutkan nama bandnya karena tipenya Sama Sebelumnya kan kita ketika memanggil get hanya kita cukup memasukkan tipe datanya karena hanya ada satu kebetulan jadi siswa yang tidak akan bingung nah tapi kalau teman-teman nanti bikin dua band yang tipenya Sama Walaupun mungkin nama bandnya beda nah itu nanti si spring akan bingung ketika kita mengakses hanya menggunakan tipe data karena ternyata ada dua bin dengan tipe data yang sama nah Oleh karena itu saat kita nanti memanggilnya kita wajib menyebutkan nama bandnya Oke misal saja kita akan Coba ubah yang sebelumnya jadi yang sebelumnya misalnya ada ya jadi di sini kita akan buat lagi namanya V1 kalau di sini ada full juga disini vue2 Oke kita akan buat Disini saya akan buat nama configuration nya berbeda ya duplikat configuration contohnya Ini kita tambahkan configuration jadi di sini kita akan bikin Fu 1-10 ini disini misalnya Rita new FU yg niat band lalu disini vo2 seperti ini ya jadi nyesal seperti ini Oke sekarang kita akan coba ya Disini saya akan buat namanya duplikat tes oke kalau teman-teman coba paksakan kita akan coba dulu tes duplikat contohnya jadi di sini kita akan buat applicationcontext semua dengan New annotation duplikat configuration lalu teman-teman Coba ambil konteks titik jetbean lu disini titik kelas kita lihat hasilnya Nah ini terjadi error hp-nya apa di sini kita lihat jadi tidak ada bin dengan tipe data Fu Kenapa kau kena ekspektasinya kita dapetin single satu data-bind ya Satu database dengan tipe datanya Fu tapi ternyata ada dua yaitu V1 dan V2 Jadi kalau seperti ini nanti swingnya akan bingung dan akhirnya terjadi errornya disini adalah no unit Bean definition action jadi disini otomatis dia akan error kita akan coba assersion aset row krunya adalah no unit bin definition action kita coba lagi running nah sukses seperti bener ya berarti kalau kita manggil FU dan kita disini cuma menyebutkan tipe datanya maka akan terjadi no unit Bean definition action karena memang ada dua oke sekarang kalau gitu kalau misalnya memang ada lebih dari satu contohnya dengan tipe yang ah walaupun di sini namanya beda fushathul fo2 Bagaimana caranya kalau kita mau manggil Misalnya fu1 saja atau manggil2 saja nah caranya adalah teman-teman bisa tambahkan di dalam get band disini namanya jadi Gatsby namanya apa tipe datanya Apa jadi sini get benfood satu contohnya dan disini GB info2 Jadi kalau misalnya ada tipe data yang sama bandnya Yang penting kan namanya pasti beda ya karena kau teman-teman namanya sama Pasti error nah ternyata bisa tambahkan namanya di depannya Oke kita akan coba Jadi Harusnya itu manggilnya seperti ini get bandnya ini saya copy paste dulu jadi konteks titik get bin disini namanya apa misalnya v-1hd disini tv-nya last seperti ini ini vo2 dan ini O2 jadi caranya seperti ini Oke kita kita pastikan ya assersion aset notes mu-1 dan vo2 kecepatan Ning nah hasilnya sukses jadi seperti ini kalau teman-temannya bikin bin dengan tipe yang sama yang penting adalah nama bandnya beda itu teman-teman bisa lakukan seperti ini Tapi kalau teman-teman manggil lagi misalnya v2nya berkali-kali seperti itu itu nanti dia akan tetap mengembalikan vo2 yang sama sebenarnya yah jadi obyeknya tetap bandnya yang sama jadi seperti ini kalau terjadi duplikat bin Ya teman-teman bisa gunakan lama binnya langsung secara eksplisit di sini sekarang kita akan bahas tentang primery bin jikalau terjadi duplikat bin Selain Kita bisa menyebutkan nama bandnya ke kita ingin mengakses bandnya Kita juga bisa pilih salah satu bandnya itu menjadi yang namanya primery Nah dengan kita memilih salah satunya menjadi primery secara otomatis kalau kita mengakses bin tanpa menyebutkan nama bandnya secara otomatis primernya yang akan dipilih kalau Sebelumnya kan kalau kita get bin tapi tidak ada primary sama sekali maka dia akan komplain ya kalau terjadi duplikat nah Oleh karena itu sebelumnya kita harus tentukan nama bandnya apa ketika kita mengambil atau melakukan get bin Nah kalau teman-teman pilih salah satu menjadi primery atau yang utama teman-teman bisa melakukan get bin tanpa harus menyebutkan nama bandnya Nanti secara otomatis dia akan mengambil yang primernya untuk memilih data primer IBM itu kita bisa menambahkan annotation yang namanya at primary Nanti secara otomatis bin tersebut akan menjadi primery Bean Hey Seperti apa contohnya Jadi sebelumnya kan kita ada V1 dan juga V2 Hai Nah di sini kalau teman-teman tambahkan at primary ya fu150 satu ini menjadi primary Jadi kalau teman-teman get bin pakai kelasnya adalah Fu dia akan dapat yang fu150 teman-teman ingin dapat yang vo2 gimana nah kalau untuk yang dapat vo2 teman-teman harus Sebutkan nama bandnya tapi untuk primery ini tidak wajib bisa disebutkan nama bandnya fu1 tapi juga tidak pakai juga nggak masalah ya Karena dia sudah menjadi primary jadi seperti itu ya Oke jadi contohnya kalau kita akses langsung jadi get bienfu kalau sebelumnya kali ini error ya error nya kan si springnya bingung ya karena ada duplikat bin tapi kalau disini ini enggak akan terjadi error kenapa karena punya ini sudah punya Prime Rib ini dia punya Bakal dapet Fu 11 ketika teman-teman GB infus satu juga otomatis dia akan dapat fu1 yang sama dan GB info2 baru dia dapat vue2 Oke kita akan coba ya Jadi kita coba modifikasi yang sebelumnya jadi yang duplikat configuration yang disini yang binnya saya tambahkan di sini menjadi edpras Marine seperti ini nah jadi duplikat di sininya biasa belumnya kan disini error ya Oke tapi di sini Yunita jadi error Oke biar tidak error Saya kayaknya akan buat konfigurasi sama Sorry baru masuk saya jadi sini primery configuration oke Ada typo sebentar kita perbaiki terlebih dahulu configure configuration Oke jadi ini configuration lalu saya akan copyface yang ini yang duplikat kita akan copyface disini nah saya itu yang pusat uh kita akan jadikan primary seperti ini ya kita akan buat sekarang unit esnya primery tes Nah selanjutnya disini seperti biasa kita akan buat applicationcontext saya akan Buat set-up application contest = new annotation config applicationcontext disini primer reconfiguration kelas ya kita akan coba tes tes get primery jadi kita bisa langsung applicationcontext itik jetbean langsung Rush di tidak perlu menyebutkan nama bandnya satu seperti itu Oke ini fungsionalnya ya Nah atau teman-teman juga bisa get Bean full satu seperti ini ini juga bisa dan Hai Oke jadi kita pastikan ketika kita get foini ya ini sudah pasti harusnya pusat Uya jadi harusnya dia sama kita coba pakai assersion untuk memastikan bahwa dia harus sama assersion assets M punya itu harus sama dengan full satu nah tapi harus beda aset not same full satu dan vo2 begitu juga FU dan vo2 itu harus berbeda kita coba lihat hasilnya Nah Soalnya sukses ya jadi seperti ini kalau teman-teman ingin memilih salah satunya menjadi primary sehingga ketika melakukan get band tidak perlu menyebutkan namanya lagi teman-teman bisa tambahkan langsung at primary Nah kalau ini tidak ada primernya tidak ada ya Jadi kalau temen-temen Coba raning yang ini Ini pasti er karenanya di sini sama seperti yang sebelumnya ya Nah lihat dia terjadi ini ya dia ternyata ada dua nih untuk yang punya sedangkan harusnya ada satu jadi kita harus at salah satunya menjadi primary baru ini bisa jadi seperti ini yang namanya primery bin Sekarang kita akan Bahas cara mengubah nama bidmed secara default nama band itu diambil dari nama method nah tapi kadang-kadang kita tidak ingin Misalnya menggunakan nama method untuk nama bin karena mungkin nama method bisa sama yah walaupun tipenya beda misalnya teman-teman bikin sebuah bin namanya adalah kategori Padahal dia sebenarnya adalah kategori repository misalnya atau ada juga kategori service dan yang lain-lain artinya apa nama metode akan bisa saja sama saja gitu ya Nah kita nggak mau nih karena kalau seperti ini artinya kalau misal ada dua metode yang sama nanti dia otomatis akan bentroknya karena nama bandnya tidak boleh sama jadi kadang-kadang ada baiknya juga kita tidak menggunakan nama method sebagai nama bandnya jadi saat Project kita sudah besar kadang-kadang bisa jadi nama methodnya sama tadi saya bilang jadi walaupun isinya mungkin beda-beda bandnya yah tapi mungkin almamaternya sama karena default-nya dia selalu baca dari nama method untuk nama bandnya jadi otomatis dia akan bentrok dan error ya karena bin itu namanya harus unit tidak boleh ada yang sama Nah kalau kita ingin mengubah nama bandnya kita bisa menggunakan method value yang ada di annotation netbean Jadi fb-an teman-teman silakan masukkan value-nya itu kira-kira apa otomatis dia akan menggunakan nama bin tersebut tapi ingat ya walaupun kita bisa ubah tetap harus unit Jadi tidak boleh ada nama band yang sama jadi harus tetap unit Oke jadi sampai di sini kita punya V1 dan V2 aja teman-teman bisa tambahkan di sini bin value-nya = full Force contohnya disini FU second di dia tidak akan menggunakan nama method lagi tapi dia akan menggunakan si nama band yang disini jadi simpel ya untuk mengubah nama bandnya untuk mengaksesnya di teman-teman cukup gunakan nama bandnya yang tadi jadi Force dan juga FU second kita akan coba ini saya akan copyface ya yang primer configuration namanya adalah Abby new configuration Contohnya seperti ini bisa copy paste di sini namanya saya akan ganti menjadi fuhrer dan ini second Oke selesai kita akan coba disini bin MP3 kita akan buat faceb6ok disini kita akan buat dulu application konteks kita buat dulu ambil dari binem configuration Oh sorry tadi salah ya tadi malam Bean M ini saya ganti dulu rename be named configuration kece disini binem configuration kelas Key jadi teman-teman bisa gunakan applicationcontext get Bin Langsung full.us karena tadi ada primernya ya Nah kita bisa juga applicationcontext get bin nah Disini langsung FU Hai dan juga FU second kita coba pakai assersion aset same harus sama full dan juga fevers dan ini harus beda aset not save kita coba raning kita lihat hasilnya nafasnya sukses artinya Apa artinya kalau teman-teman Rubah nama bandnya kalian bisa jadi Force maka teman-teman bisa akses nya langsung disini Force jadi kita tidak perlu lagi menggunakan si nama methodnya kau teman-teman coba nama methodnya kita lihat nah lihat dia otomatis jadi error disini errornya apa Bean 4 1 dia tidak ada ya jadi Enno cpin definition jadi tidak ada band dengan nama full satu ya teman-teman harus ganti lagi menjadi B6 sesuai dengan yang ada di sini jadi nama methodnya sekarang sudah tidak menjadi nama bin lagi jadi seperti ini kalau teman-teman mau mengubah nama bandnya Sekarang kita akan bahas tentang Dependency injection saat kita membuat objek sudah pasti kita sering membuat objek yang tergantung atau defenisi lahnya dengan objek yang lainnya Nah ada konsep atau pattern yang namanya adalah Dependency injection ini adalah teknik Dimana kita bisa melakukan otomatisasi proses pembuatan objek yang tergantung atau dipan ke objek yang lainnya atau kita sebut namanya adalah dependensi Jadi dependensi ini akan secara otomatis diinjek istilahnya atau dimasukkan atau diset ke dalam objek yang membutuhkannya jadi ini adalah konsep Dependency injection ini yang biasanya kitalakukan manual contohnya Saya mau bikin objek atau Tapi sebelum saya bikin objek acherus bikin objek B dulu yang bisa kita lakukan manual jadi kita bikin nih objek b satu baru nih objek Adi mana kontraktornya menerima objek banyak Nah kalau kita menggunakan Framework Dependency injection semua hal tersebut bisa dilakukan secara otomatis nah spring Framework itu sejak awal dibilang adalah sebuah Framework kios yang memang cara kerjanya selalu menggunakan Dependency injection jadi memang spring Framework itu salah satu yang mempopulerkan konsep Dependency injection ya dan juga Ayo si Oke jadi sekarang biar ada gambaran kita akan coba melakukan tanpa Dependency injection terlebih dahulu jadi kita akan buat kode tanpa menggunakan Dependency injection nanti teman teman bisa lihat ya seberapa Kompleks kalau kita bikin manual tanpa definisi injection Datau dengan menggunakan Dependency injection sih spring Framework Jadi sebenarnya Tapi fashion pun kita tetap bisa membuat aplikasi namun ketika relasi antar definisinya akan sangat kompleks ya atau besar agak ribet kalau kita melakukannya secara manual nah Oleh karena itu menggunakan Dependency injection Framework Seperti contohnya spring Framework itu yaitu akan sangat membantu ketika aplikasi kita lumayan besar oke Ini contohnya kita akan buat sebuah class namanya fubar dimana dia punya atribut FU dan juga Bar dimana dia akan kita set menggunakan kontraktor Misalnya menggunakan albumen kontraktor punya Lombok OK kita akan coba buat jadi di sini kita akan buat dulu yang berarti ya kita akan buat yang baru Nah setelah itu kita akan buat fubar Oke di dalam fubar kita akan bikin FU mber Hai seperti ini lalu kita jadikan data biar ada getar setter dan old argumen kontraktor selesai Oke selanjutnya ini kalau kita buat objek Puber tanpa Dependency injection jadi kita harus bikin full dulu habis itu Bikin bar habis itu Kita bikin fubar dimana disini kontraktornya kita ambil punya dan juga objek bahannya Oke kita akan coba disini takkan buat disini misalnya Dependency injection tes eh key Tesno De Iyah Dependency injection jadi di sini kita bikin parfum = newvo contohnya farbar smadengan new bar lalu parfum bar kita akan bikin new fuba jadi sini terus masukkan FU the bar seperti ini jadi simple Sebenarnya ya Oke kita akan bikin unit esnya sore asersinya a short same yangpa itu berarti harus sama dengan full barget ya Nah yang barnya harus sama dengan get bar seperti ini Oke kita coba raning nah hasilnya sukses jadi ini melakukan Dependency injection atau mengambil istilahnya melakukan inject ya memasukkan data kedalam data yang lain Jadi disini datanya fudan baru kita masukkan ke dalam ini Jadi ini konsepnya adalah Dependency injection ini kalau kita lokal manual nah bayangkan kalau ternyata pembuatannya lu Balung udah lumayan Kompleks contohnya fubar itu butuh lima objek misalnya ternyata dia butuh full dimana Fu pun butuh misalnya yang lain lagi dan biarpun butuh yang lain lagi dan ternyata yang dibutuhkan bardia butuh yang lain lagi Jadi semakin panjang dependensi nya semakin kompleks cara pembuatan obyeknya dan hal ini kalau dilakukan manual ini lumayan Ribet ya jadi Lumayan capek juga kalau kita buat semuanya secara manual Oke sekarang kita akan lihat kalau pembuatan obyeknya menggunakan fitur Dependency injection nya sih spring Oke jadi spring itu sejak awal dikenal dengan Framework yang Dependency injection jadi memang untuk definisi injection Kebanyakan orang yang menggunakan spring Framework kalau di ekosistem Java nah ketika kita ingin membuat method untuk bin di dalam spring kita bisa menambahkan parameter sebenarnya yang namanya metode dan desain kita bisa menambahkan parameter ya kalau kita bikin method dia udah otomatis kita bisa menambahkan parameter Nanti secara otomatis spring itu akan mencari band lain yang sesuai dan type parameternya Jadi kalau teman-teman butuh sebuah data gitu ya teman-teman cukup tambahkan sebagai parameter saja di method binnya nanti urusan oh nanti obyeknya akan diambil dari mana Nah itu urusan springnya spray akan otomatis mengambil mencari band yang sesuai dengan tipe tersebut database akan memasukkan ke dalam sih parameter methodnya Nah kalau ternyata tidak ada band yang cocok maka secara otomatis akan terjadi error jadi contohnya teman-teman bikin Fu bikin beber habis itu bikin Puber dimana butuh khodan bar Nah kalau ternyata tidak ada binfo atau bimbanh maka dia otomatis akan error tapi kalau ada spray akan otomatis mengambilnya dan memasukkan ke dalam C parameternya ya Dan kalau ternyata binnya lebih dari satu sel otomatis juga akan terjadi error seperti ini yang sebelumnya ya ke seperti yang duplikat error tersebut Nah kalau seperti ini teman-teman disarankan menyebutkan nanti bikinnya ya atau teman-teman juga bisa gunakan primery bin Oke kita akan buat yang sederhana dulu jadi disini misalnya kita akan tambahkan bin barya halus ini fubar si dalam fubar ini teman-teman cukup tambahkan ini aja Fu Bar jadi cukup tambahkan parameter ini aja Nanti secara otomatis full dan bar ini akan dicarikan oleh spring dentistry akan mencari parameter2 ini berarti dia akan mencari bin dengan tipe FU dan bin dengan tipe bar seperti ini Oke untuk memastikan kita akan coba buat dulu ya Jadi kita akan membuat sebuah file namanya Dependency injection configuration Oke ini ada typo Depp venn-nya Dependency on reaction Nah kita akan buat public Fu disini right and new FU kita set menjadi bin public bar edan new bar kita set menjadi bin nah terakhir di sini kita biar fubar disini parameternya adalah Fu bar nah dia tinggal kita read the new fubar Who dan juga Bakti sini lalu kita setting sini sebagai bin juga jadi nanti spring akan mencari disinikan Bakti butuh dua parameter ya parameternya adalah full dan juga parameternya adalah bar nanti semuanya akan saya pintar dia akan mencari semua ya Sesuai dengan parameter ini jadi kalau di sini nanti dia akan nyari yang Fu ya Bean yang tipenya full dan disini dia akan mencari ini yang tipenya bar Oke untuk memastikan kita coba di sini kita buat applicationcontext applicationcontext Dependency injection configuration Oke kita buat sekarang tes Dependency injection jadi kita bikin applicationcontext get binfo contohnya ya applicationcontext get dinbar dan yang terakhir applicationcontext get Bean fubar key untuk memastikan letih kita harus pastikan kalau yang fubar get pudan get banyak tuh harus sama ya jadi akses m.fuq itu harus sama dengan fubar GPU Dan ini juga yang barunya itu harus sama get back seperti ini jadi seperti ini caranya Dependency injection secara otomatis ya teman-teman tidak perlu lagi melakukan manual ambil dari objek ini masukkan kesini ojek ini masukkan ke sini Nggak perlu ya teman-teman cukup set sebagai parameter saja di sini eh Lalu nanti otomatis yang akan dicarikan aku Botolnya di satu file yang sama gitu ya nanti teman-teman akan belajar Gimana cara kalau configuration nya ada di file yang berbeda itu semuanya sudah di Hendra otomatis oleh spring jadi spring akan mencarikan nanti dependensi nya yang cocok Oke kita coba traning nah hasilnya sukses sekarang kita bahas tentang memilih dependensi kadang saat kita menggunakan Dependency injection kita ingin memilih objek mana yang ingin kita gunakan secara default nanti Spring mencarikannya tapi kadang-kadang kita ingin memilih object mana yang akan kita gunakan apalagi kalau ternyata terdapat beberapa duplikat bingung itu ya jadi saat terjadi duplikat bin dengan tipe data yang sama anti secara otomatis spring akan memilih Bean yang primary terlebih dahulu Ya nah tapi kadang-kadang kita ingin memilihnya secara manual kalau memang kita inginkan Nah kita bisa menggunakan yang namanya annotation at qualifier di parameternya lalu disini value nama bandnya apa Jadi kau teman-teman pengen milih binnya apa sih gitu ya secara eksplisit Ya teman-teman tentukan sendiri tonton saya gunakan annotation ad qualifier lalu value-nya nama bandnya apa nanti otomatis dia tidak akan secara default memilih yang preminya dia akan memilih yang sesuai dengan nama bin di sini Oke jadi contohnya ketika teman-teman bikin fubar contohnya lalu yang full ini misalnya nanti ada dua gitu ya Ada versada FU second ataupun bisa pilih misalnya Oh saya maunya yang FU second karena ya presiden hanya primernya atom saya gunakan at qualifier disini nama bandnya apa disini kita akan coba jadi misalnya kita akan coba update ya yang Dependency injection jadi ini kita ganti full version tohnya ini FU second seperti ini Nah kita lihat hasilnya yang ini nah disini tuh jadi errornya lihat nah disini teror kriting be named with fubar jadi ketika kita bikin fubar dia errornya apa eh disini ternyata yang parameter knoll artinya yang ya Nah disini tidak ada no unit Bean jadi dia tidak dapat yang uniknya ternyata malah ada dua puvers dan FU second Oke kau teman-teman set dia sebagai primary disini contohnya Ini otomatis dia tidak akan error jadi kalau teman-teman running disini dia otomatis sukses ya jadi dia memilih punya sebagai primary nah tapi kadang-kadang misalnya kita enggak mau nih kita enggak mau yang uforce kita maunya yang FU second ini FU second maksudnya Nah kita maunya yang FU second teman-teman bisa langsung tambahkan di sini at qualifier jadi di parameternya di sini ya dia yang Pulau ini teman-teman tambahkan qualifier Disini langsung nama bandnya cute disini nama bandnya saya pakai nama metode ya jadi FU second seperti ini Oke Eh sudah kita coba sekarang kita raning nah disini sukses tapi ternyata ada error di asersinya Nah lihat hasilnya itu ternyata beda nah disini ketika get bin dia pakenya yang primer Iya jadi ketika dicompare disini berarti dia harusnya beda jadi disini harusnya yang FU second nah seperti ini kita coba Daning lagi nah hasilnya sukses jadi kalau teman-teman ingin memilih kira-kira yang mana nih yang mau kita gunakan seperti itu ya teman-teman bisa tambahkan langsung qualifier disini nama eh ininya ya nama bandnya kira-kira Apa karena kalau tidak teman-teman tambahkan qualifier default-nya dia akan ngambil yang primery jadi seperti ini kalau teman-teman mau memilih dependensi yang mana ya jadi walaupun spring bisa melakukannya secara otomatis tapi kalau teman-teman pengen milih yang mana itu juga teman-teman masih bisa lakukan secara manual Sekarang kita akan bahas tentang circular dependensi hati-hati dengan yang namanya circular dependencies Jadi maksudnya apa jadi circular dependencies itu adalah kasus dimana sebuah lingkaran dependensi terjadi misalnya Bina ternyata membutuhkan bin baga8 kebyn B nah ternyata bin B dia membutuhkan bintje misalnya artinya B itu di pen ke c nah tapi ternyata c itu membutuhkan AA3 Apa artinya C di paint ke kalau teman-teman perhatikan ini jadinya lingkaran gitu ya Ah butuh BB butuh c&t Grace butuh tidaknya motor terus nah kalau terjadi lingkaran seperti ini atau selainnya adalah say klik paste otomatis spring bisa mendeteksinya dengan tipe itu bisa tahu Oh ternyata ada terjadi circular atau Saya klik Nah kalau terjadi seperti ini maka otomatis dia akan error jadi spring itu secara default dia akan menolak kalau ternyata ada CY klik atau sirkuler dependensi dalam konsep object oriented juga teman-teman harusnya jangan membuat objek yang saya klik putih yang berputar seperti ini karena nanti ke Cup pembuatan obyeknya ini akan sulit eh Jadi hati-hati kalau terjadi kasus seperti ini Oke jadi misalnya kita akan coba buat ya kasus kita akan buat sebuah kelas namanya Saya klik a-size click-b dan saya klik C dimana Saya klik add dia butuh saya klik b-salic click-b dia butuh saya klik c&t tes saya klik check butuh saya klik ah jadi ini otomatis dia akan berputar ketiak Nah kita lihat hasilnya seperti apa kalau kita buat bin seperti ini Oke jadi Disini saya akan buat sebuah PKG namanya si klik kita buat saya klik a-b-c ini kita buat lagi saya click-b Lalu kita buat lagi disini sayce Dimana Shayk like misalnya disini membutuhkan say FB ya data old argumen kontraktor dan saya click-b dia ternyata butuh Syaikh misalnya kita Set data oleh argumen kontraktor dan juga saya klik C ternyata dia butuh misalnya Saya klik aok1 CY jadinya seperti itu Nah kalau teman-teman Coba lakukan gitu ya teman-teman buat habis itu teman-teman misalnya baru buat saja ya belum lakukan get band ini biasanya otomatis terjadi error error nya otomatis dia akan dapet yang namanya bin exeption Nah kita akan lihat detailnya ya Jadi kita akan buat dulu disini konfigurasinya namanya CY klik duration jadi di sini kita buat saya klik a-ha kita buat sebagai bin dimana dia butuh CY click-b ya ya di sini riton new site klik Ah saya click-b parameternya kalau kita buat public cyclical B dia butuh selesai klik C Rita new site klikbca@klikbca.com buat lagi sayce dia butuh CY klik ah Rita news siklik C parameternya seklip alalu at band seperti ini Oke so deh Jadi yang a butuh B yang B itu butuh c dan yang cat nyata butuh aja di motor seperti ini kita lihat hasilnya CY clicktest kita buat kita tes siklik contohnya applicationcontext = new annotation disini Saya klik configuration hanya ini saja kita lihat hasilnya Nah lihat dia langsung error ya Bahkan baru Buat application konteksnya langsung error nah disini error membuat saya klik a&r or nya kita lihat hadiah otomatis butuh saya klik BTT subscribe juga error ga cek lagi nih lumayan dalam errornya bikin kece tata shakhrukh juga error Nah kita lihat di sini nah disini terlihat request in Creation di ternyata Saya klik c itu butuh cyclical tapi teteh Saya klik itu masih di mode Creation jadi artinya disini terjadi circular ya jadi berputar circular reference dan kalau terjadi hal seperti ini ya otomatis dia akan error jadi teman-teman enggak bisa nih kalau bikin seperti ini jadi dia bisa eh error circular Jadi kalau terjadi sirclo seperti ini otomatis sistemnya akan complete Oke kita akan ubah testingnya assersion as adzikro percobaan Inc Hai Nah sudah sukses jadi seperti ini ya kalau terjadi yang namanya circular dependensi atau istilahnya say klik Jadi hati-hati kau teman-teman bikin band seperti ini otomatis ada yang salah dengan design object-oriented yang kita buat gitu ya ya dipastikan tidak pernah melakukan yang namanya Said klik atau circular dependensi Sekarang kita akan bahas tentang depends on saat sebuah bin membutuhkan bin lain secara otomatis band tersebut akan dibuat setelah Bean yang dibutuhkannya dibuat Jadi kalau misalnya Sebelumnya kan kita bikin webinfo bimbar dan juga Bin fubar dimana fuba tersebut membutuhkan binfo dan bimbar otomatis nonton perhatikan si spring itu akan membuat dulu Bean yang dibutuhkannya jadi akan membuat dulu fubar baru setelah itu yang terakhir baru fubar seperti itu ya Nah tapi bagaimana kalau bin tersebut tidak Hai membutuhkan bin lain tapi kita ingin sebuah Binter sebut dibuat setelah Bean yang lain dibuat Nah kalau seperti ini default yaitu spring itu akan secara rendem ya membuat binnya jadi kita tidak bisa menentukan bin mana dulu yang dibuat Kalau tidak ada yang istilahnya saling ketergantungan jadi Contohnya kayak fudan baru itu bebas framenya bisa membuat full dulu atau membuat bar dulu kenapa karena full dan bar tidak saling ketergantungan Nah kalau kita ingin misalnya Oke saya pengen Fu ini dibuat setelah Bar bisa seperti itu Nah kalau seperti ini kita bisa memberitahu sih springnya jadi pada kasus seperti ini kita bisa menggunakan annotation yang namanya depends on jadi depends on lalu value binnya apa Kalau lebih dari satu teman-teman Silahkan masukkan binnya lebih dari satu nah kalau teman-teman tambahkan di penson Nanti secara otomatis ping akan memprioritaskan pembuatan Bean yang terdapat di depends on terlebih dahulu misalnya kalau di dalam Fu ya teman difference on bar maka otomatis spring ketika membaca veoh dia tuh di pens kabar artinya bar dulu yang harus dibuat seperti itu walaupun sebenarnya Fu ini tidak tergantung kesibukan tapi teman-teman bisa Tentukan kalau ini depends on bar Oke contoh seperti ini Kita bikin Fu Ya halo di sini bar Nah karena disini tidak tergantung sama sekali pudan bar Jadi sebenarnya bebas-bebas aja yang si springnya mau bikin full dulu atau baru dulu tapi kalau misalnya misalnya kita yang Fu ini pengen dibuat setelah bar kita bisa tambahkan di sini depends on How disini bar ini nama bandnya ya Nah otomatis anti yang dibuat adalah bar dulu baru state UFO dulu atau kebalikannya kalau disini misalnya di pension full maka barnya akan dibuat setelah full dulu di buah seperti itu Nah untuk memastikannya posisinya kita tambahkan lock di sini biar kita tahu Bean yang mana dulu yang pertama kali dibuat Oke kita akan coba gesekan buat disini Java class ya namanya adalah defense on configuration saya tambahkan configuration disini uh ya return new FU Nah di sini kita tambahkan slf 4G login form misalnya Create new FU Qin oke lalu di sini Kita buat pagi Mbak login fo3id new bar selanjutnya dan new bar-b-que kita tambahkan bean.bag secara default ini akan tidak ada yang tergantung sama sekali ya jadi Fu bikin sendiri bisa bar juga bikin sendiri bisa jadi dia tidak saling tergantung Nah kalau seperti ini spring itu akan secara otomatis memilih ya istilahnya rendem bebas maupun dulu kau mau baru dulu kah Biasanya sih dia ini ya ada aturannya Oke kita untuk memastikan kita coba dulu deh ya di sini kita akan buat di fans on test disini kita akan bikin applicationcontext difference on configuration nah lalu kita akan coba lihat hasilnya tes Stevenson kita tidak akan buat apapun dulu disini ya kita pengen tahu dulu diarenya Seperti apa itu coba raning nah lihat di sini dialognya Nah lihat jadi yang pertama dia Create new full dulu stay to create new biar jadi default yaitu semuanya dia baca dari atas ke bawah ya Jadi kalau kita coba buka lagi yang ini coba kita pindahkan ke atas seperti ini udah coba lihat lagi tesnya Nah Lihat nyebar new jadi default-nya dia dari atas ke bawah dibacanya ya binnya Oke sekarang kita akan coba tambahkan di pens jadi ini saya kebawa kan lagi misalnya Saya pengen Fu ini dibuat setelah bar hatinya bar duluan yang harus dibuat nah disini saya tahu tinggal tambahkan FB fans on lalu teman-teman silakan masukkan di sini nama bandnya Kalau lebih dari satu Silahkan masukkan ya contoh disini saya satu misalnya bar artinya Apa artinya Fu ini akan dibuat setelah yang baru ini dibuat Oke untuk memastikan kita coba kita lihat hasilnya lihat di lognya Nah lihat yang dibuat adalah bar terlebih dahulu ya jadi bar terlebih dahulu baru FU jadi kalau teman-teman pengen memprioritaskan yang mana duluan gitu ya yang dibuatnya bandnya teman-teman juga bisa gunakan depends on tadi ya tinggal di Benson bisa lebih dari 10 teman-teman mau silakan jadi ini adalah depends on sekarang kita bahas tentang lazy bin secara default bin this itu akan dibuat ketika aplikasi spring pertama kali berjalan Jadi bahkan sebelum kita akses menggunakan get bin sibin itu akan otomatis dibuat dulu pertama kali Nah kenapa pertama kali dibuat langsung biar nanti ketika aplikasinya sudah berjalan kita tidak perlu membuat obyeknya lagi Jadi di awal ketika aplikasinya segalanya pada mode startup ya ketika pertama kali dijalankan itu langsung semuanya dibuat nah Oleh karena itu kadang-kadang ketika aplikasi springnya pertama kali dijalankan itu biasanya agak sedikit lambat apalagi kalau misalnya sudah banyak objek bandnya hal ini kenapa Hal ini karena semua objek dinamakan dibuat di awal jadi lebih baik lambat ketika proses tarafnya tapi nanti ketika aplikasinya sudah jalan gitu ya semuanya di cepat Kenapa karena semua obyeknya sudah siap nah tapi kalau misalnya kita mau kita juga bisa membuat sebuah bin menjadi lazy atau alias malas ya istilahnya nah sebutan lazy atau malas ini ini artinya binnya tidak akan dibuat ke pertama kali aplikasi seiringnya berjalan sampai ketika nanti cb-nya diakses atau dibutuhkan baru dia dibuat jadi kalau belum diakses dia tidak akan dibuat nah tapi ketika nanti diakses baru dia dibuat ini salahnya lazy Nah untuk membuat sebuah band itu menjadi lazy kita bisa tambahkan annotation namanya at lazy pada deklarasi binnya jadi otomatis anti spring akan ditech kalau ada annotation at lazimnya artinya dia tidak akan langsung dibuat saat itu juga jadi nanti dibuatnya kalau diakses Oke sekarang kita akan coba Jadi kita akan coba tambahkan misalnya tambahkan at lazy nanti kita lihat hasilnya ya Oke jadi di yang sebelumnya di depends on jadi di pension configuration disini misalnya Saya ingin yang eh punya misalnya menjadi Oke saya ke atas Kak dulu nah ini punya misalnya menjadi lazy adanya apaan CPU ini akan dibuat nanti ketika misalnya sudah diakses ya saya tambahkan lazy nah disini nah kalau ini tidak lazy artinya Ketika nanti dieksekusi harusnya bayarnya langsung dibuat tapi punya tidak dibuat untuk memastikan kita lihat di depends on tes nah disini akan saya tidak mengakses bin apa-apa ya Nah kita lihat hasilnya pastikan bahwa ini harusnya yang Lazy tidak dibuat kita lihat nah lihat di sini hasilnya nah hasilnya disini hanya Create new bar artinya Apa artinya hanya bar saja yang dibuat yang punya tidak dibuat Nah apa yang terjadi kalau kita coba akses applicationcontext get beam Fu + terlihat percobaan ini ulang Hai Nah di sini baru dibuat Create new FU artinya Apa artinya kalau misalnya tidak diakses dia tidak akan dibuat ini dia hanya akan dibuat ketika kita lakukan akses jadi seperti ini kalau teman-teman mau membuat sebuah bin menjadi lazy teman-teman cukup tambahkan annotation heard lazy saja ya jadi simple banget caranya jadi tinggal tambahkan adzi Sekarang kita akan bahas tentang skop skop itu merupakan strategi cara sebuah objek dibuat secara default strategi objek di spring itu adalah single tone seperti yang sudah kita bahas ya artinya hanya dibuat satu kali dan ketika kita akses ke dua kalinya maka dia akan mengembalikan objek yang sama jadi akses pertamanya sebenarnya di awal yaitu dibuat dulu jadi akses pertama kedua dan ketiga selesai itu objek yang sama ini adalah default giginya atau istilahnya adalah Scope nya default-nya adalah single tone nah Namun kita juga bisa mengubah Scope band yang kita mau di spring jadi spring itu lumayan customized ya jadi kita bisa mengubah mengubah jenis kopnya cara sebuah objek ini dibuat Nah untuk mengubah Scope sebuah bintitan bisa gunakan annotation namanya at Scope Halo di sini teman-teman tinggal tentukan nama Scope nya kalau teman-teman tidak tambahkan at school itu default-nya adalah secukupnya single ton ada berapa banyak sih ada banyak sekali ya sekop di dalam spring kita bahas satu persatu jadi ini adalah sekop yang ada di spring ya untuk Bean yang pertama default-nya adalah single tone jadi secukupnya itu adalah single Ton Ini berarti dia dibuat sekali ya dalam spring Ayo sinyal jadi dibuat sekali tergantung ya kalau tidak lazy berarti dibuat pertama kali di awal kalau misalnya dia lazy berarti pertama kali diakses dia dibuat selanjutnya dia tidak akan dibuat lagi alias mengembalikan objek yang sama Hai kau teman-teman ingin ganti contohnya menggunakan secukupnya namanya Prototype ini artinya dia akan selalu dibuat objek baru Setiap kali kita mengakses binnya jadi setiap get bin atau dia dibutuhkan oleh band yang lain itu selalu akan dibuat baru acaranya teman-teman tinggal ganti Scope nya menjadi prototype nah atau ada juga yang lain ini tergantung kasus aplikasi yang kita buat contohnya ada request request ini adalah obyeknya akan dibuat tiap ada request baru dan ini hanya berlaku untuk aplikasi jenisnya web Jadi kalau ada request baru gitu ya itu dia akan dibuat kalau di dalam request tersebut kita mengakses bandnya berkali-kali dia akan tetap pakai Bean yang sama tapi kalau bandnya berbeda maka Sorry request yang berbeda maka bandnya berbeda jadi 1.bin itu akan disimpan dalam satu request ketika requestnya beda maka dia akan dibuat Bean yang berbeda atau ada juga yang namanya season Hai ini dibuat para httpsession jadi ini juga hanya berlaku di web jadi dalam satu season ya httpsession itu hanya ada satu objek binnya kalau seasonnya berbeda maka dia ada otomatis berbeda band-nya ada juga yang namanya application application ini adalah persevered konteks jadi ini di webjadi Java servlet itu ada yang namanya servletcontext biasanya ini lebih ke praktik Asy webnya jadi kalau kita diupload di sebuah server ada banyak misalnya aplikasi maka Scope nya itu ada di parabek Asy konteksnya ini juga hanya ada di web atau ada juga Scope nya websockets ini dibuat baru per websockets jadi setiap pada website baru maka dia akan dibuat baru dan ini hanya berlaku untuk aplikasi yang basisnya websockets Nah karena sekarang kita hanya membuat aplikasi sederhana ya bukan web jadi kita mungkin hanya bisa menggunakan dua jenis ini saiton dan Prototype Nah sekarang kita akan coba yang Prototype jadi misalnya kita akan buat sebuah binama nyafuu lalu di sini kita buat Scope nya menjadi prototype lalu kita tambahkan lock Nah kita lihat kalau temen-temen nanti akses get bienfu GB info get binful lagi ini pasti tiga-tiganya adalah objek yang berbeda Kenapa karena kalau Scope nya adalah Prototype artinya metode ini akan selalu diakses ketika kita membuat si obyeknya Oke kita akan coba ya Oke kita akan buat disini nama Java class nya adalah Scope configuration kita akan buat fu he dan newvo kalau di sini kita tambahkan bin lalu kita tambahkan Scope nya di sini adalah Prototype lalu kita tambahkan Lock untuk memastikan Apakah dia benar dipanggil atau tidak kreatif newvo contohnya selesai Sekarang kita akan buat unit Esnya jadi Disini saya akan buat unit esnya namanya adalah Scope tes oke kita akan buat disini applicationcontext tampil dari Scope configuration Nah sekarang kita coba Tes Ya tes Prototype scoop Oke selanjutnya disini kita akan buat yang pertama kita akan ambil ya di sini kita ambil applicationcontext get bin kelas ini adalah Wow ini full satu kita buat tiga kali kita ambil tiga kali maksudnya Nah kalau sebelumnya kedua kita ngambil tiga kali ini kan default-nya dia single tone jadi dia itu obyeknya tiga-tiganya sebenarnya sama Bean yang sama Nah kalau kita jadikan Prototype otomatis ini 3.bin ini tiga objek yang berbeda untuk memastikan kita coba pakai assersion jadi aset not same ya U1 dan U2 lalu v1dan fu3 juga harus beda dan vo2 dan fu3 juga harus beda ya kita coba lihat hasilnya yang sukses unitest nyatanya benar tiga objek ini berbeda Nah kita perhatikan nah disini dipanggilnya tiga kali Create new FU kredit new hodan Create new Fu Panda 3 kali dibuat si obyeknya Nah kalau Coba kita ubah ya kita Hai kalau kita ini ganti default-nya adalah single tone kalau kita balikan lagi ke single Ton kita lihat hasilnya kecemaran Neng Nah Lihat unitnya error kenapa karena dia obyeknya yang sama Nah kalau memperhatikan disini dibuatnya cuma satu kali jadi seperti ini ya jadi gampang sekali kalau teman-teman ingin mengubah cara dia dibuat subjeknya cukup gunakan Scope lalu pilih Scope yang tersedia katanya disini menggunakan Prototype sekarang kita bahas tentang membuat Scope Jadi sebelumnya kita sudah gunakan ya sekop yang sudah ada bawaan dari seringnya nah tapi kalau teman-teman mau membuat sekop juga teman-teman sebenarnya bisa Oke kalau Scope yang disediakan oleh spring misalnya tidak memenuhi kebutuhan kita misal saja Kita juga bisa membuat sekop secara manual ya Atau bikin sekop sendiri nah caranya dengan membuat class implementasi dari fesco jadi Sudah ada interfacenya namanya adalah Scope tonton bisa liat di sini ini javadoc nya ya kalau teman-teman mau lihat Oke jadi ini adalah secukupnya Ini adalah sebuah interface kok sudah ada sejak spring versi2 ya dan di sini ada methodnya yang perlu teman-teman nanti implementasikan kalau teman-teman bikin Scope nya Nah selanjutnya setelah teman-teman nanti bikin sekop ya dengan cara membuat tas implementasi dari school interfacenya lalu teman-teman perlu registrasikan ke dalam springnya untuk apa untuk biar springnya tahu kalau ternyata Anda sekop baru nah gimana caranya Caranya teman-teman bisa memanfaatkan band yang namanya custom Scope configurar ya teman-teman bikin sebuah binaanya customs configurer lalu silahkan registrasi kan sekop barunya ke dalam custom Scope configurar jadi yang customs configure ini sudah disediakan oleh spring dan memang di Khan untuk meregistrasikan kalau ada stok baru ya teman-teman tinggal gunakan metode ini namanya at Scope halus kopnam maskotnya apa Bebas teman-teman bisa bikin namasco sendiri kalau disini Silahkan masukkan objek sekop teman-teman yang sudah kita buah Oke kita akan coba ya JAdi misal saja kita akan bikin yang namanya double Ton jadi ini kalau semuanya kan single tone single tentu Berarti cuma ada satu objek kita bikin double toonscope jadi misalnya boleh hanya boleh 2 jadi ketika get pertama dibikin objek baru get kedua objek baru lagi get ketiga dia akan pakai objek yang pertama lagi seperti itu logikanya ya ini memang kita cuma bikin aja ya logic seperti ini aja pada kenyataannya Mungkin teman-teman ga akan pernah bikin hal seperti ini Oke jadi kita akan bikin dulu namanya misalnya ada beton sekop lalu teman-teman implement sebuah interface namanya Scope Oke kita buat dulu jadi Disini saya akan buat sebuah PQ namanya scope di sini PGC namanya sekop lalu kita akan buat sebuah class namanya double ton scoop oke di sini kita tinggal implements cop jadi pilih yang ini ya jangan yang annotation ingat pilihnya yang ini yang bin factory config Oke kita pilih lalu kita implementasikan semuanya oke lihat nih ya jadi disini teman-teman perlu informasikan semua hal nah Untuk apa kita lihat ini sebenarnya tidak harus semuanya teman-teman implementasikan ya yang paling penting adalah dua ini ke tinggat dan juga remove jadi get ini digunakan untuk mengambil obyeknya ketika Si spring melakukan get bin lalu remove itu digunakan untuk menghapus ya kalau misalnya sudah tidak digunakan lagi jadi disini kalau kita baca secukupnya nah tiada get get ini ada digunakan ya untuk mengambil datanya lalu di sini ada Remo untuk ditri move obyeknya yang lainnya semuanya opsional teman-teman mau informasikan mau tidak bebas ya Oke tidak akan informasikan dulu yang lainnya misalnya cukup yang 2 ini aja yang get dan Rimo Oke jadi untuk get pertama yang kita lakukan kita akan bikin counter terlebih dahulu ya jadi counternya nanti kita plus-plus kita cek kalau counternya misalnya dua kita ambil yang mana gitu ya kalau misalnya counternya eh sorry counternya di Sorry objek size by di sini saya lupa meski shootnya jadi kita simpan dulu di dalam sebuah lease jadi Disini saya akan Freeport wis ya jadi disini obyeknya tadi namanya objek arraylist ini pak nanya2 seperti ini kapasitasnya lalu kita bikin counter disini jadi kita gunakan counter dimulai dari nol lalu yang pertama kita lakukan kita akan naikkan dulu counternya lalu kita cek ya kalau misalnya objek saya sudah = 2 Hatinya sudah full nih nah kita akan ambil obyeknya ya dari konter di modul o2j di disini kita cek dulu kalau misalnya di dalam obyeknya ukurannya sudah dua artinya sudah ada dua objek di dalam sih list objek ini edisi imple aja temen-temen tinggal riten objek aget keberapa jadi di sini eh indexnya kita ambil dari konter di modulo 24 ini ini Kebetulan kita konversi dulu menjadi integer seperti ini Oke sorry ya Hai nah nah ini tinggal ambil indexnya nah tapi kalau ternyata obyeknya ini di dalamnya ini belum ada datanya ah alias belum dua Nah kita akan baru buat obyeknya caranya buatnya gimana kita pakai objek factory getobject Yanti dia akan membuat objek di bandnya jadi objek factory ini kita getobject eh jadi objek factory yang ada di parameter ini kita getobject lalu kita simpan di dalam variabel misalnya Lalu setelah itu kita masukkan jadi objek titik Ed kita masukkan ke dalam SI obyeknya lalu kita retensi obyeknya seperti ini ini kita hapus jadi simplenya seperti ini jadi kalau pertama kali adalah counternya dinaikkannya lalu pertama dicek dulu kalau obyeknya size-nya dua pertama kan masih kosong ya jadi 03 tomatis dia ah dia masuk ke sini masuk ke sini artinya dia akan bikin objek baru ya menggunakan ini objek factory lalu selanjutnya kita masukkan kedalam objek seperti disini ukurannya sudah satu lalu kita masuk lagi ke sini ketika akses kedua kalinya masih tetap satu jadi masuk ke sini lagi dibikin objek baru masukkan kesini otomatis dia sudah dua Nah setelah 2 atomatis ketika ngecek ke sini Ki ukurannya sudah dua ketika sudah dua ya simple ketinggal cek counternya dibagi dua lalu disini objek nya tinggal kita ambil dari sih please ini Oke gimana kalau kita hapus Nah untuk hapus logikanya sederhana ya kalau misalnya dia ukurannya misalnya A tidak sama dengan nol kita hapus yang paling pertama seperti itu aja jadi disini kalau misalnya obyeknya size-nya tidak sama dengan nol artinya dia punya data atau simpelnya adalah eh tidak = M3 Ayo kita hapus objek titik remove yang indeks knoll dari Nikita Ritan kan seperti ini kalau dia sudah empty ya berarti kita langsung ringtone Karno aja kita nggak butuh datanya lagi Oke jadi seperti ini ya Jadi simplenya kita untuk pertama kali dua kali kau pertama kita akan pasti manggil ini karena kita buat objek baru dua kali setelah itu call ketiga dan keempat dan seterusnya kita akan manggil ke sini kita akan gunakan kontrol untuk memilih biar pilih pertama kedua pertama kedua pertama kedua seperti itu ya makanya Disini di modulo 2x nya Setelah kita bikin Scope nya yang kita lakukan adalah kita registrasikan dulu ke dalam sih configuration caranya teman-teman bikin bin namanya custom Scope configurer Ya udah sini teman-teman silakan buat customs configurer lalu di sini tinggal configurer titik adscope head cocoknya apa disini silahkan nama sopnya Apa contohnya ada Beton kau disini yo Scope yang tadi sudah kita buah otomatis yang lainnya teman-teman kalau mau bikin sekarang chatnya pakai sekop double Ton itu sudah bisa Oke kita akan coba Jadi kita akan buka yang Scope configuration di sini ya jadi di sini kita akan buat pertama yang ini dulu custom Scope configurer custom Scope configurer jadi di sini kita akan buat customs configurar configure nya at skop skop misalnya double ton Halo di sini new double toonscope seperti ini lalu disini riten configurar ini jadikan juga Bean sauce ya Setelah selesai Sekarang misalnya kita akan bikin Cross bar ya Mbak Rita new bar Nah kita akan coba halo ah tambahkan lock Create new bar kalau disini jadikan bin lalu disini Scope nya kita ganti menjadi double ton ya secukupnya yang dabel ton ini selesai ya sekarang sudah kita buat sekop baru oke untuk mengetesnya kita akan coba jadi misalnya di sini kita tes terbuka Scope tes kita akan coba tes double toonscope Oke jadi yang pertama Oke saya di sini sudah kasih Kalau tidak salah diesel lainnya nah ini kita akses ya empat kali jadi harusnya yang pertama ini batu objek pertama kali dibuat bar kedua juga harusnya pertama kali dibuat nah yang ketiga harusnya dia ngambil objek yang pertama lagi dan yang keempat harusnya Dia mengakses yang kedua lagi ke untuk memastikan kita coba disini jadi applicationcontext get dinbar tit class Mbak Arya bar 1234 key selesai Nah kita coba dulu ya kita pastikan dua kali dipanggil tes double Scott kita chek Nah Lihat new barnya dua kali dipanggil yah walaupun di sini kita empat kali dia dua kali Kenapa karena logik yang kita kita cuma aksesnya cuma dua kali ya di double ton Scope nya Nah ini jadinya cuma diakses dua kali karena kalau udah dua ukurannya maka kita tidak akan buat objek baru Oke kita coba lagi Sekarang berarti kita gunakan assersion aset same Jadi bersatu itu harus sama dengan berarti gaya dan juga berdua itu harus sama dengan berempat Oke kita coba araning naon di sini sepertinya ada yang salah eh kita lihat di sini yang mana oke nah disini errornya oke di sini sepertinya ada yang salah nah kalau salah disini kemungkinan counternya kita salah ya counternya kita salah kemungkinan kita counternya salah harusnya counternya counter pertama turseno Oke Solid Harusnya itu counternya berarti dimulai dari negatif satu orange nya Oke kita coba lagi Nah benar jadi counternya Lestari negatif satu jadi ketiga kalinya harusnya memang diambilnya yang kenal ya Sebenarnya kenal jadi yang ke-4 kalinya harusnya yang ke-1 ini ya sorry jadi dari asalnya Lies to index mulai dari nol jadi harus dari negatif 1/2 kalau kita pastikan lagi Acer aset not same Jadi bersatu itu tidak boleh sama dengan berdua termasuk yang bertiga itu tidak boleh sama dengan berempat kita cek lagi ke lihat hasilnya Nah sudah sukses jadi disini cuma dua kali dibuat jadi seperti ini ya kalau teman-teman mau bikin Scope secara manual Memang agak sedikit Kompleks Ya kita harus bikin Scope sendiri seperti ini delton sekop kalau teman-teman juga harus registrasikan ke dalam configuration menggunakan custom Scope configurar tapi pada kenyataannya mungkin nanti saat kita bikin aplikasi kita mungkin jarang sekali ya membuat Scope baru sekarang kita bahas tentang lifecycle spring kontainer itu memiliki yang namanya website atau alur hidup dan jikalau kita ingin berinteraksi dengan alur hidupnya si spring Framework ini kita juga bisa melakukannya saat pertama kali itu berjalan dan sudah selesai membuat bin spring akan memberitahukan bin tersebut bahwa Binter sebut sudah siap nantinya semua dependensi sudah dimasukkan Nah kadang-kadang kita pengen misalnya bereaksi ketika sebuah bin sudah siap contohnya ketika teman-teman bikin sebuah bin koneksi ke database teman-teman pengen ketika misalnya bandnya sudah siap teman-teman melakukan koneksi ke database seperti itu Nah dan ketika aplikasi spring akan mati spring juga akan memberitahu semua binnya bahwa Binter sebut akan dihancurkan contohnya kalo koneksi database ketika aplikasinya akan dihancurkan bisanya atau mati gitu ya teman-teman mungkin ingin melakukan contohnya close koneksi ke database seperti itu Jadi kadang-kadang kita butuh nih melakukan lifecycle ya alur hidup secara otomatis jadi tidak perlu lakukan secara manual lagi Oke untuk hal tersebut ada yang namanya website colback jadi secara default bin itu tidak bisa tahu alur hidupnya sih spring jadi ketika dia mulai bandnya dibuat atau selesai kah Atau mau dianjurkan sebenarnya bin itu secara default nya dia tidak tahu nah tapi kita juga bisa menambahkan yang namanya colback ke dalam sih bin tersebut kalau memang kita ingin tahu nah jadi kalau kita tertarik untuk bereaksi misalnya ketika alur hidup spring itu terjadi maka kita bisa implement ada dua buah interface interface yang pertama adalah ini selesai sing beam dan Interface yang kedua adalah disposable bin nah inisial asing band ini digunakan kalau kita ingin berinteraksi ketika spring selesai membuat bin artinya diawal aplikasinya siswanya sudah siap membuat cebien tersebut teman-teman bisa implement si ini selesai sing band ini jadi dalam ini sel racing Beat ini ada sebuah metode yang namanya after properti set jadi metode ini akan dipanggil ketika sebuah band sudah siap digunakan jadi artinya misalnya semua dp-nya sudah diset ya teman-teman bisa tambahkan aktor properti set otomatis ini akan diakses ketika spring Afrika sudah siap ya contohnya teman-teman di sini mau melakukan koneksi ke database misalnya Oke dan selanjutnya ada yang namanya disposable bin ini digunakan ketika kita ingin bereaksi ketika spring akan menghancurkan sebuah bin atau memang speknya akan melakukan shutdown aplikasi misalnya nah di disposable bin ada methodnya juga ya teman-teman cukup implementasikan nama methodnya adalah destroy ya nanti dia akan dipanggil ketika memang sebuah band ini akan dihancurkan ya biasanya ketika aplikasinya mati jadi contohnya kalo koneksi database mungkin teman-teman mau menutup koneksinya di method destro ini Oke jadi sekarang kita akan coba buat sebuah kelas namanya adalah connection misalnya nah disini teman teman bisa informasikan contohnya Ini saya leasing beam dan juga disposable bin house teman-teman tinggal informasikan dua metode ini contohnya kita simple aja menambahkan lock ya ya di sini connection ready-to-use contohnya dan ini connection close ya kita akan coba buat Hai jadi di sini eh saya akan bikin didata sebuah kelas namanya connection disini kita akan implement inisial racing Bin dan juga disposable bin Oke kita akan informasikan dua metode ini metode yang pertama kita akan Timnas ikan yang aktor properti set Jadi ini akan dieksekusi ketika cb-nya sudah siap atau aplikasi ping sudah siap saya akan tambahkan lock disini contohnya lock info misalnya connection sudah siap digunakan lalu disini misalnya kita Tambahkan lagi info connection ditutup jadi seperti ini ya Oke selanjutnya apa yang kita lakukan ini yang perlu kita lakukan jadi yang teman-teman sekarang ya tinggal registrasikan saja binnya ke dalam sih configuration jadi simple cukup seperti itu aja nggak perlu melakukan hal lain Nanti secara otomatis spring akan pintar dia akan deteksi bin mana yang implement ini sel asing bin kalau dia implement initializing Bean maka dia secara otomatis akan mengeksklusi sih method atau properti setnya kalau aplikasinya sudah siap Nah kalau misalnya dia implement disposable bin maka spring akan Sera pintar akan mengeksekusi metode solonya ketika aplikasinya akan di matikan kayaknya sekarang kita coba ya jadi di sini kita akan buat sebuah configuration namanya lifecycle configuration kek ada typo Hai seri named dulu oke selesai ya selanjutnya Gimana caranya kita akan coba eh buat unit Esnya jadi sini saya akan buat lifecycle tes Hai sederhana di sini kita cukup application get Bean connection kita tidak perlu melakukan apa-apa lagi ya nggak perlu melakukan manual connection after propertyse Enggak belum manual termasuk yang close nyapo Sorry destroya pun tidak perlu diakses manual Oke kita akan coba kita lihat hasilnya Oke kita lihat di sini nah disini cotton perhatikan ada connection is ready to be used nah tapi kota 600 kan disini dia itu tidak memanggil destroy nya Nah kenapa karena secara default ketika kita tidak mengclose applicationcontext default-nya itu otomatis diamatinya secara paksa gitu ya Nah idealnya sih saat teman-teman nanti bikin nanti ya ketika kita udah belajar bagian wood ini nanti matinya itu application contest itu atau spring kontennya tidak akan secara paksa seperti ini jadi ada sebuah metode yang namanya polos itu juga nanti ketika kita menggunakan speedboat akan dieksekusi secara otomatis Nah sekarang kita akan pelajari secara manual Jadi kalau teman-teman lakukan secara manual ya melakukan istilahnya destroy aplikasinya kita perlu memanggil method closenya nah cuma sayangnya metode klos ini tidak ada di interface applicationcontext teman-teman harus gunakan interface turunannya namanya configurable applicationcontext jadi di sini kita harus ganti namanya configurable applicationcontext Nah di sini ada method closenya tapi kalau dia Vixion kontraksi tidak ada method closenya jadi disini afternya tear daunnya teman-teman lakukan nama-namanya close seperti ini Nah sekarang kita coba lagi kita lihat nah Hai di sini pertamanya connection sudah di buka ya sore sudah siap lalu dia akan melakukan closing siap efisien konteksnya hatinya menutup semua aplikasi nya alias Ya salahnya melakukan shutdown Nah baru diakses connectionist gloss atau kalau teman-teman tidak mau manual manggil close kita bisa registrasikan secara otomatis namanya application register Sharp don't hug nah ini teman-teman tidak perlu lagi lokal manual seperti ini save coba anjing lagi Nah ya jadi setelah siap dan ketika mati dia otomatis memanggil klo secara otomatis dan disini connectionnya is close jadi seperti ini ya kalau teman-teman mau mengikuti lifecycle nya sih spring teman-teman cukup implementasikan ini sel asing bin ketika sudah siap aplikasinya atau disposable bin ketika aplikasinya akan di shutdown sekarang kita bahas tentang website kalau annotation selain menggunakan interface ini sel asing Bin dan juga disposable Bean yang sebelumnya sudah kita bahas Kita juga bisa menggunakan annotation untuk mendaftarkan colback method ya untuk spring lifecycle Nah teman-teman bisa menggunakan attention fb-an jadi saat kita membuat headband itu kan selain teman-teman bisa mengubah nama bandnya ya menggunakan annotation bin itu juga teman-teman sebanyak didalamnya ada yang namanya inet method dan destroy method Eh teman-teman bisa Tentukan sebenarnya tanpa harus mempunyai implementasikan ini selesai seungbin dan juga disposable bin teman-teman tinggal Tentukan it methodnya yang mana dan juga destroy methodnya yang mana jenis metode ini digunakan untuk meregistrasikan method mana yang akan dipanggil ketika band ini selesai dibuat Nah untuk destro metode ini digunakan untuk meregistrasikan method mana yang akan dipanggil ketika bandnya akan dihancurkan Nah methodnya harus tanpa parameter ya Jadi mirip kayak ini salah SMPN dan juga disposable Bin jadi jangan pakai parameter dan return value nya kalaupun ada tidak akan dihiraukan tidak akan dipedulikan misalnya ya jadi bakal dihiraukan Nah jadi rekomendasi teman-teman pakenya yang void saja nah penggunaan fb-an ini ya teman-teman it metode dan desain metode ini cocok banget kalau misalnya teman-teman bikin sebuah bin dimana teman-teman tidak punya kontrol untuk mengubah c-class nya jadi misalnya kelasnya punya library atau punya Framework gitu ya Nah teman-teman kan enggak bisa ngedit nih Nah teman-teman bisa registrasikan ini The Method dan juga desain motornya menggunakan annotation headband ini Oke jadi contohnya contohnya kita punya sebuah class namanya server dimana Di sini ada start dan juga desktop nah misal kita inginnya ketika aplikasinya sudah siap gitu ya springnya sudah siap spring itu memanggil start jadi ini sel asing bandnya memanggil start Nah kalau sudah selesai akan di destroy kitab yang stop atau disposable bandnya ya manggil destroy Nah kita pengennya yang manggil ini adalah stop kita akan buat dulu saya akan buat di data di sini namanya adalah server Oke jadi di sini kita akan buat start-stop selanjutnya saya akan tambahkan look start-server' disini dan ini adalah stop server jadi simpel ya Nah ini kan kita tidak implementasikan ini selesai seungbin dan juga disposable bin kalau teman-teman implementasikan misalnya inisial racing bin disposable bin Auf Nah maka teman-teman disini perlu implementasikan destroy dasternya manggil stop misalnya ya after propertiesnya manggil start seperti ini nah ini Lumayan capek nih kita capai dua kali ya sudah Makita misalnya sudah bikin ini Nah kita harus implementasikan juga dan operasi methodnya jadi disini sekarang saya tidak mau membuat ini misalnya jadi saya tidak perlu ini oke nah apa yang bisa kita lakukan jadi yang bisa kita lakukan adalah jadi Disini saya akan ubah yang lifecycle configuration jadi disini saya bisa buat baru ya namanya adalah server disini seperti ini nah read the new server headband seperti ini nah disini cotton praktikkan di dalam bin itu selain teman-teman bisa mengubah value nama bandnya teman-teman juga bisa registrasikan ini Ini metode ya dan juga destroy metode kita akan coba Jadi kurang lebih seperti ini jadi teman-teman bikin server ini methodnya Apa contohnya disini start destroy methodnya apa stop jadi artinya ketika CB ini sudah siap spring aplikasinya sudah siap pakai edit metode ini akan dieksekusi kalau misalnya mau dihancurkan si aplikasinya atau disaat down maka destroy methodnya ini akan dieksekusi ya teman-teman Sebutkan nama methodnya di sini Oke jadi disini saya bisa tambahkan ini theme tone nya saya kasih di sini start ya lalu destroy methodnya saya kasih di sini stop selesai Oke kita akan coba sekarang jadi saya akan masuk ke lifecycle tes disini ya kita akan testestes server application konteks get bin server.id Clash of Ayo kita lihat ya kita lihat hasilnya karya disini nah lihat jadi dia pertama kali jalan dia start-server' jadi langsung dipanggil sih servernya dan setelah selesai dia stop server jadi seperti ini ya kalau teman-teman tidak mau implementasikan ini selesai seungbin atau juga disposable Bean jadinya yang tadi oke Nah selanjutnya kalau teman-teman tadi menggunakan netbean Nah kadang-kadang mungkin kita lupa gitu ya menambahkan diet bin Nah ada juga notation yang lain yang bisa kita gunakan untuk meregistrasikan sebuah metode ini harus dieksekusi setelah bandnya dibuat atau juga sebelum dihancurkan Nah ada notional namanya adalah pos kontrak dan juga predecessor I Max jadi selain menggunakan annotation fb-an untuk menandai sebuah method adalah ini method dan juga destroy metode Kita juga bisa menggunakan annotation pada methodnya secara langsung nah tapi ingat ya artinya disini teman-teman punya kemampuan mengubah siklusnya kau teman-teman tidak punya kemampuan untuk mengubah kelasnya saya yang kelasnya misalnya bawaan dari sebuah library atau Framework maka teman-teman harus menggunakan notion fb-an tapi kalau teman-teman punya kemampuan Nah teman-teman berarti punya opsi lain nih teman-teman saya tambahkan pos kontrak dan pradestore jadi ini juga bisa digunakan untuk menghindari kalau misalnya kita lupa menyebutkan it dan desain method kalau menggunakan netbean ya Nah untuk pos kontrak ini merupakan metode yang ditandai Harus dipanggil ketika bin Selesai dibuat Jadi mirip kaya ini method atau ini selesaiin Bin dan Pradesh Roy ini merupakan metode yang ditandai Harus dipanggil ketika bin akan dihancurkan Jadi mirip disposable bin ya atau juga destroy Hai nah jikalau sudah menggunakan netizen ini kita tidak perlu lagi menyebutnya di dalam at Bin jadi seperti apa Jadi teman-teman bisa ubah siklus servernya menjadi ini startnya tambahkan adpost kontrak stoknya tinggal tambahkan free destroy nah teman-teman saat membuatnya nanti teman-teman tidak perlu lagi menambahkan ini The Method dan destroy method Oke kita cek di bagian clashservers jadi disini saya bisa tambahkan pos kontrak ada di PKS javaxx annotation lalu Disini free destroy eh jadi cukup seperti ini Oke selanjutnya teman-teman jadi tidak perlu lagi menggunakan ini ini saya komen ya biar enggak hilang cukup petbin saja seperti ini jadi kita nggak perlu lagi menentukan it methodnya apa dan destroy Maksudnya apa Oke kita akan coba cek cek pastikan hasilnya sama kita coba Ran nah teman-teman saya lihat di sini ada start-server' dan di sini ada stop server kalau teman-teman coba hilangkan yang ininya posko seratnya dan juga prestonya kita coba running ulang unit esnya Nah maka lihat tidak keluar eh jadi dia tidak dianggap sebagai unit method dan juga destroy method di teman-teman perlu tandakan seperti ini Jadi sekarang kita punya banyak pilihan teman-teman bisa manual implementasikan inisialnya singing atau destroy disposable bin atau teman-teman bisa gunakan location fb-an atau juga pos kontrak atau free destroy ya jadi seperti ini kalau teman-teman mau integrasi dengan lifecycle nya sih spring Framework sekarang kita bahas tentang impor saat nanti kita membuat aplikasi tidak mungkin nanti kita akan hanya membuat satu configuration kelas karena disaat kita buat aplikasi pasti banyak sekali ya Binbin yang harus kita buat nantinya nggak mungkin juga kita simpan di dalam satu kelas karena mungkin terlalu banyak Nanti baris kodenya di dalam kelas configuration tersebut Biasanya kita akan membuat banyak sekali yee lebih dari satu kelas configuration tergantung seberapa Kompleks aplikasi kita semakin Kompleks mungkin semakin banyak Nah untungnya spring itu mendukung namanya impor configuration Crush kalo misalnya kita memang mau melakukan impor configuration kelas yang lainnya kita bisa menggunakan annotation yang namanya at impor lalu tinggal Sebutkan configuration kelas mana yang ingin kita imports bisa satu atau bahkan bisa lebih dari satu ketika kita ingin melakukan impor kita bisa inputnya lebih dari satu kalau teman-teman mau misalnya teman-teman nanti grouping Binbin nya berdasarkan misalnya ada repository configuration Kris configuration kontrol contribution dan yang lain-lain misalnya seperti itu temen bisa lihat disini ini annotation nya impor jadi ketika temen-temen melakukan impor teman-teman di sini tinggal Sebutkan ya value yaitu berupa kelas jadi kelas mana aja konfigurasinya yang teman-teman mau impor bisa lebih dari satu karena dia berupa array Oke misalnya kita akan buat dua buah configuration yang pertama configuration yang kedua adalah bar configuration Hai dalam configuration di sini kita bikin bin untuk FU dan bar configuration kita bikin bingung untuk per Nah kita lihat kita coba dulu buat ya jadi disini berarti kita akan buat buah configuration yang pertama Disini saya akan Bilad yang fuqon figuration dulu ini configuration kita bikin Bean Hai Rita newvo selanjutnya disini juga kita buat baru namanya Mbak configuration Oke sudah buat ya artinya di sini ada dua configuration nih Yang pertama FU dan yang kedua adalah bar Oke selanjutnya kita akan buat sebuah configuration contohnya isinya kosong sebenarnya enggak masalah jadi sini main configuration Harapan Kita ini sebagai konfigurasi utamanya dimana dia yang akan melakukan impor konfigurasi konfigurasi yang dibutuhkan jadi Disini di main configuration teman-teman cukup gunakan at impor lalu value-nya mana aja yang mau diimpor adanya konsep yang ada di infot ini akan dibaca oleh si springnya Ketika teman-teman nanti bikin application contest teman-teman cukup gunakan Siemens configuration karena mengkonfigurasinya anda akan baca impornya juga ya teman-teman nggak perlu 11 disebutkan cukup pakai Yang main configuration nanti yang diimport ini juga akan dibaca oleh sih spring application konteksnya kita akan coba Jadi Disini saya akan buat baru namanya main configuration jadi disini Saya cukup set configuration lalu impor nah ketika impor teman-teman bisa Tentukan lebih dari satu contohnya disini saya impor configuration lalu bar configuration selesai jadi simpel ya simpel sekali Jadi kalau teman-teman mau ambil configuration yang lain cukup gunakan impor selanjutnya ketika teman-teman bikin applicationcontext teman-teman cukup gunakan application contest Ati biasa cuma disini application konteksnya ambil dari main configuration secara otomatis teman-teman bisa get bin dari configuration manapun jadi tidak peduli lagi mau ada di configuration mana teman-teman bisa langsung get Benz c-coupe nya kah atau banyak ah atau yang lain-lain ya Selama dia sudah dibaca atau diimpor oleh si spring application konteks dia bisa diakses Oke kita akan coba Jadi Disini saya akan buat benitez namanya impor tes configurable applicationcontext takkan buat dulu applicationcontext new main configuration ya Jadi yang ini shutdown hooknya saya registrasi dulu lalu disini kita bisa langsung Hai applicationcontext getwin FU dan juga langsung bar disini jadi bisa seperti ini Oke kita coba araning dan dia sukses ya Secara otomatis kecuali teman-teman disini tidak diimpor contohnya barnya kita komen nih banyak kita komen seperti ini kita coba Rani ngulang nah dia akan error errornya apa disini no qualifying jadi tidak ada bin dengan tipe Bar jadi seperti ini ya jadi di sini sudah sukses berarti untuk impor nya sekarang kita bahas tentang komponen scan imports adalah hal yang sangat menarik dan penting ya karena kita bisa memecah configuration kelasnya menjadi banyak kelas sehingga lebih mudah untuk di Menteng dan juga dibaca nah tapi semakin lama pasti aplikasi kita akan semakin besar jadi mungkin nanti configuration kelasnya bakal semakin banyak dan secara otomatis nantikan konfigurasinya makin banyak dan kita mungkin agak sedikit istilahnya tuh lumayan ribet yah untuk melakukan impor satu persatu jadi melakukan impor satu persatu sudah tidak menyenangkan lagi kenapa karena terlalu banyak Nanti yang harus kita imports bayangkan kalau konfigurasinya sudah ada puluhan gitu ya Nah kita capai sekali harus impor satu persatu nah untungnya spring itu memiliki fitur yang namanya komponen scene Dimana kita bisa secara otomatis mengimpor configuration di sebuah PKG dan juga super kece Kalau memang dia ada jadi dia bisa baca di dalam pakai tersebut ada configuration apa aja nanti dia baca Ya kalau misalnya ada Suspect esnya maka dia juga akan baca ke khasnya jadi ini menarik banget nih Nah untuk melakukan ini kita bisa menggunakan alat yang namanya at komponen scan jadi disini teman-teman bisa baca ya Jadi dia annotation yang namanya komponen scan teman-teman bisa langsung disini scan menggunakan best packaging nya jadi PGC yang mana bsbg situasinya PKS depannya jadi kalau saya Saya punya PKS nyaa nanti kalau ada adot beados itu bakal ke scene juga yang penting depannya atau best PC itu adalah a seperti itu Oke kita akan coba deh teman-teman untuk mencobanya sederhana Jadi teman-teman cukup gunakan components kenbas khasnya yang mana Nah kalau saya masukkan ini contohnya programmer zaman now spring Core configuration artinya yang di PKS ini dia akan di scan Jadi kalau ada kelas yang ada annotation at configuration dia akan dibaca kalau dalam subclass misalnya configuration titik ada juga akan dibaca jadi pokoknya semuanya ada di dalamnya itu akan dibaca jadi ini lebih mudah dibanding teman-teman impor satu persatu oke kita akan coba yang sebelumnya jadi yang sebelumnya yang full dan bar itu kan kita inputnya manual Nah kita akan pindahkan Disini saya akan bikin sebuah PKG namanya configuration yang baru saya akan pindahkan ke sini saya akan pindahkan lalu juga yang Fu nafusa akan pindahkan selesai jadi yang main configuration ini kan kita impornya satu persatu Nah kita akan bikin yang pakai komponen scan jadi Disini saya akan buat namanya scan configuration ini di sini kita pakai nya configuration lalu disini at komponen scan nah disini temen-temen tinggal cek best khasnya bespek esnya teman-teman bisa lebih dari satu ya kalau mau silahkan sudah di sini adalah programmer zaman now titik spring titik for titik configuration seperti ini call lebih dari satu silahkan tambahkan koma Min soalnya xxx misalnya ngerti y z Itu boleh jadi bisa lebih dari satu oke kalau disini cuma ada satu jadi saya masukkan satu artinya Apa artinya nanti si configuration ini setelah diroot nanti dia akan nyari di PTC ini dipakai sini kebetulan adanya dipakai sini configuration dia akan nyari Disini yang configuration juga kalau ada didalamnya ada savages lagi contohnya itu juga otomatis di baca Oke kita sekarang kan coba Jadi Disini saya akan membuat unit test namanya scene pas kita buat dulu application konteksnya scan configuration Oke kita coba hai pertama kita ambil yang full dulu dan yang baru kita coba planning nah hasilnya sukses eh jadi otomatis dia sukses karena saya melakukan komponen scan oke di sini kita lupa register shutdown up kalau teman-teman sampai misalnya beda contohnya saya akan eh salahkan yang ini ya scan configuration nya nama pt-nya contohnya data seperti ini kita coba training lagi scan tesnya kita lihat hasilnya Nah lihat dia error karena tidak ketemu ya yang bin punya jadi seperti ini jadi kita perlu perbaiki lagi yang scan konfigurasinya untuk melakukan scanning CVC yang benar jadi ini adalah komponen scan nanti teman-teman bakal banyak sekali yang menggunakan komponen scan karena impor satu persatu secara manual itu lumayan tidak menyenangkan sekarang kita bahas tentang komponen sebelumnya kita sudah belajar cara membuat bin itu menggunakan sebuah metode ya di dalam configuration class dan kita tambahkan allocation bin nah ternyata spring juga menyediakan cara yang lebih otomatis lagi jadi lebih mudah lagi tanpa kita harus membuat method menggunakan bin ya jadi FB itu enggak butuh lagi nah kita bisa menandai sebuah kelas dengan annotation namanya at komponen-komponen ini nanti teman-teman Siswi itu akan baca secara otomatis ya ini nanti dia akan baca kalau ada sebuah kelas yang ada at komponennya Hai maka dia akan buatkan bin untuk kelas tersebut naik komponen ini hanya mendukung pembuatan 1.bin saja Jadi kalau teman-teman dikelas Fu ditambahkan F komponen maka dia akan membuat si bin Nah kalau teman-teman ingin kasus seperti yang sebelumnya ada V1 ada V2 Nah itu tidak bisa teman-teman tidak bisa satu kelas ditambahkan e-complaint menjadi dua bin itu enggak bisa Jadi kalau misalnya 1.bin saja ya Jadi kalau teman-teman masih mau membuat beberapa bin ya Nah untuk satu tipe yang sama tentang harus menggunakan headband ya teman-teman tidak bisa menggunakan at komponen tapi kenyataannya mungkin selalu teman-teman bikin aplikasi itu kebanyakan kita cukup bikin satu saja ya untuk si bandnya jadi kita bakal banyak menggunakan at komponen ini Oke ini adalah pembuatan biname ya ketika kita menggunakan komponen ini jadi saat kita menggunakan annotation komponen nama akan secara otomatis dibuat otomatis oleh si springnya kalau kita menggunakan komponen scan misalnya jadi ini menggunakan komponen Scan ya Nah secara otomatis bin namanya itu akan dibuat dari nama kelasnya tapi nama kelasnya menjadi Kemal Chase jadi depannya huruf kecil jadi kalau teman-teman nama kelasnya misalnya kategori service dia akan menjadi kategori service c yang paling depannya itu kecil produk web dia akan menjadi produk WP depannya itu menjadi kecil ini kalau teman-teman menggunakan komponen scan nah tapi kalau teman-teman impor jadi impor juga tidak hanya bisa digunakan untuk melakukan impor configuration kelas teman-teman juga bisa melakukan impor ke sebuah kelas yang komponen alias menjadi bin Nah kita juga bisa menggunakan impor kalau teman-teman menggunakan impor secara otomatis binernya akan menjadi seperti ini nama kelas titik kelas titik getname jadi nanti bakal panjang banget di depannya dan nama pt-nya sorry Spike ya tapi nama PKS + 6 masih classnya jadi lumayan panjang kalau teman-teman saya menggunakan impor Nah kalau teman-teman ingin mengubah sentence teman-teman enggak mau dipakai bawaan default komponen scan atau juga impor penonton bisa juga teman-teman bisa juga lakukan manual cukup ketika at komponen Ya Tonton tinggal tambahkan value-nya nama bandnya apa Oke Nah teman-teman Enggak usah khawatir ketika teman-teman menggunakan at komponen ini annotation komponen nah gimana dong dengan annotation yang sebelumnya sudah kita bahas kayak sekop postconstruct free destroy lazy Prime dan yang lain-lain itu juga bisa teman-teman tambahkan di dalam komponen ini jadi nggak usah khawatir ya jadi enggak cuma di annotation bin tapi juga bisa digunakan di annotation komponen Oke sekarang kita akan coba bisa saya akan buat sebuah kelas namanya product service nah teman-teman cukup tambahkan at komponen disini jadi cukup seperti itu aja Oh ya teman-teman nggak perlu lagi bikin nanti method bin itu enggak butuh Nanti secara otomatis kalau springnya melakukan komponen scan ke kelas ini maka dia akan direalisasikan secara otomatis menjadi sebuah bin atau kalau teman-teman impor secara manual juga nanti dia otomatis diregistrasikan sebagai PIN Oke kita akan coba Jadi saya buat dulu disini saya akan buat sebuah PC nama petisnya disini adalah service lalu Disini saya akan membuat produk servis disini saya tinggal tambahkan edccomp ponen Sorry komponen ya yang ada di PKS org spring Framework stereotip seperti ini jadi simple banget cukup tambahkan at komponen Nah selanjutnya teman-teman bisa lakukan komponen scan misalnya kode Menteng n lakukan secara manual seri secara otomatis saya ini komponen scan best PC apa lalu disini contohnya programmer zaman now spring cor service Hai ada otomatis ketika dia menemukan yang ada at configuration ada at komponen maka dia akan otomatis baca kalau configuration dianggap sebagai konfigurasi baru kalau at komponen dia akan direalisasikan sebagai bin baru kita akan coba ya jadi Disini saya akan buat kelas namanya komponen configuration jadi disini saya set sebagai configuration lalu komponen scan nah disini Saya cukup eh best free kg programmer zaman now titik spring core dan service seperti ini jadi simpel sekali selanjutnya teman-teman bisa akses seperti biasa tinggal action konteks get benci produk servicenya OK kita akan coba di sini ah Hai Deewani tasnya sini saya akan buat componentes takkan buat komponen Kompleks duration kita buat tesnya seperti ini atau teman-teman juga bisa karena dia secara otomatis ya ini product service tua tonton juga bisa pakai nama bandnya product service nah ini karena kita melakukan eh penggunaan komponen scan jadi namanya otomatis product service seperti ini oke lakukan assersion ini juga harus sama ya as sm produk servis satu dan product service 2 kecepatan Ning naasnya sukses jadi seperti ini ya penggunaan sih komponen cotton mau menambahkan contohnya Oh saya mau ganti Scope nya dari single Tom jadi Prototype tinggal tambahkan di sini Scope seperti itu Jadi prototipo saya mau ini jadi lazy tinggal tambahkan lazy seperti ini jadi semua annotation yang sudah kita bahas sebelumnya teman-teman juga bisa tambahkan diet komponen jadi ini lebih mudah ya teman-teman nggak perlu lagi bikin method menggunakan alat fashioned bin cukup gunakan komponen lalu gunakan komponen scan biar otomatis nggak perlu impor otomatis nanti dia akan tidak bisa sih kan sebagai sebuah Bin sekarang kita bahas tentang kontraktor best Dependency injection hai Sebelumnya untuk melakukan Dependency injection di dalam bandnya fb-an annotation fb-an kita bisa menambahkan parameter di methodnya Nanti secara otomatis spring akan memilih bin mana yang cocok untuk Parameter tersebut nah pertanyaannya Bagaimana kalau kita menggunakan at komponen karena kalau komponen kita tidak menggunakan si method parameter Nah untuk at komponen kita bisa melakukannya menggunakan beberapa cara Dependency injection nya kita bahas yang pertama Dulu yaitu menggunakan kontraktor Jadi pertama yang bisa kita lakukan adalah kita bisa melakukan Dependency injection di dalam annotations company menggunakan kontraktor parameter Nah teman-teman bisa menambahkan kontraktor yang memiliki parameter kalau misalnya ternyata band ini butuh band yang lain Nanti secara otomatis spring akan mencarikan Bean yang cocok gitu ya nah jadi ketika nanti akan membuat binnya membuat obyeknya si spring itu akan mencari parameter yang cocok dengan yang ada di yang fakturnya nah ponsel terlebih defination nian hanya mendukung satu kontraktor Jadi kalau teman-teman punya dua kontraktor misalnya dengan parameter yang berbeda nah itu nanti si springnya akan bingung ya jadi pastikan teman-teman hanya membuat satu kontraktor saja Oke kita akan coba jadi misalnya kita punya yang tadi sebelumnya ada produk servis ya kalau kita akan buat yang namanya produk repository nah disini Soalnya kita pengen produk episode ini diinjak menggunakan springnya secara otomatis teman-teman cukup bikin kontraktor audisinya the parameters produk repository nya OK kita akan coba Jadi Disini saya akan buat sebuah PC baru namanya adalah repository kalau saya akan buat class namanya produk repository nah disini saya kosongkan atau saya tambahkan Ed komponen misalnya ya Hai biar otomatis key selanjutnya di bagian service di sini ada produk servis saya disini akan tambahkan private produk repository nah saya tambahkan geter nah disini misalnya Saya ingin ini secara otomatis diinjek jadi saya bisa buat kontraktor jadi saya bisa bikin publik product service misalnya produk repository seperti ini this product repository sama dengan produk repostory ya teman-teman cukup gunakan seperti ini nanti secara pintar siswi akan membaca kontraktornya butuh apa parameternya nanti dia akan carikan binnya lalu akan inject kan ke dalam sini Jadi disini contohnya teman-teman tinggal ambil produk lifestory get benbarrage berstory Sorry product service saya nanti otomatis dia akan dapat binnya dan kalau teman-teman coba compare dengan produk repository yang ditanyain Eh ada tanya sama Oke jadi kita akan buat ya tapi kita akan buat yang ini sebelumnya kita ganti dulu ya komponen scan mana ini komponen configuration ini selain service berarti kita juga butuh repository seperti ini Oke selanjutnya di sini Oke saya akan langsung pakai yang komponen-komponen tes aja disini jadi disini kita akan buat unit esnya void tes-tes kontraktor Dependency injection V jadi disini kita akan ambil product service ya applicationcontext get bin product service class file Nah selanjutnya applicationcontext get bin produk repository close Hai seperti ini Nah kita cek Jadi kita pastikan assersion assets m jadi harus sama ya antara produk repository yang ada sebagai Bin dan juga product service get repository nya harus sama karena kita melakukan Dependency injection jadi disini tes oke kita coba laning ini tesnya terlihat hasilnya nah sukses tidak ada yang error Hatinya sudah benar jadi seperti ini ya kalau teman-teman mau mencari seri mau melakukan Dependency injection teman-teman cukup menggunakan kontraktor saja jadi produk servicenya contohnya teman-teman tinggal tambahkan kontraktor How disini parameternya akan otomatis dicarikan dependensi nya oleh sih spring nah gimana kalau misalnya ternyata teman-teman ingin membuat multiple kontraktor tapi yang di awal disebutkan bahwa spring hanya mendukung satu kontraktor jadi untuk melakukan Dependency injection nya teman-teman harus gunakan 10 Shakhtar Tapi bagaimana kalau ternyata terdapat multiple kontraktor pada kasus seperti ini kita harus menandai konser mana yang boleh digunakan oleh spring nah caranya kita bisa digunakan annotation yang namanya at Howard jadi kalau kita coba dulu ya di sini bisanya saya akan buat lagi Eh product service tapi di sini ada parameter keduanya contohnya named kita lihat ya kalau seperti ini kita akan coba running United yang tadi componentes kita lihat hasilnya Nah Lihat ini errornya Apa enak kita lihat nah disini error keriting bandwidth name product service jadi kita error bikin bin product service errornya apa kita lihat errornya Nah di sini ada tidak ada default Constructor font jadi parameternya Hai karena dia parameternya lebih dari satu gitu ya Nah maka disini bingung akhirnya dia nyari yang parameternya kosong tapi ternyata tidak ada juga jadi kalau seperti ini disarankan teman-teman memberitahu sih springnya yang mana yang harus digunakan ketika membuat si objek bandnya caranya gimana kita bisa tambahkan autoart di kontraktornya di contohnya ada dua Saya mau menambah menggunakan yang ini aja nih jadi saya gunakan e-toll toward disini jadi Disini di bagian produk servicenya oke tinggal Tandai kontraktor ini akan digunakan autoweb jadi gunakan autoart ya yang ada di dalam PC software Gis Framework Beans factory annotation seperti ini Oke kita coba lagi sekarang kita lihat hasilnya Nah sekarang sukses sudah benar jadi seperti ini Dependency injection yang bisa kita lakukan kalau menggunakan Ed komponen ini baru yang pertama yaitu menggunakan kontraktor sekarang kita bahas tentang setter best Dependency injection selain menggunakan kontraktor parameter Kita juga bisa menggunakannya namanya setter method kalau teman-teman mau melakukan Dependency injection nah tapi khusus untuk setter method kita perlu menambahkan annotation atau toward pada server methodnya jadi Bukan berarti semua setter method akan dilakukan definisi injection tidak teman-teman harus Tanda itu setan metode mana yang akan dilakukan Dependency injection Caranya tinggal tambahkan at toward secara otomatis nanti saya akan mencari bin mana yang dibutuhkan designer method tersebut jadi kasih terima tersebut Kanada parameternya nanti otomatis dicarikan dependensi yang sama gitu ya dengan sih data itu starbase dp-nya juga bisa digabung dengan kontraktor best defense injection jadi enggak masalah misalnya parameternya cuma ada satu misalnya tapi teman-teman akhirnya pengen yang lainnya diinjak menggunakan server metode itu boleh-boleh digabung ya jadi nggak ada masalah Jadi bukan harus memilih harus kontraktor atau setan enggak teman-teman bisa gabungkan dua-duanya juga Oke jadi contohnya kita punya sebuah kelas namanya kategori service ini kita jadikan komponen misalnya di sini kita punya atribut kategori repostory di sini misal saja tidak punya kontraktor Nah teman-teman bisa tambahkan setter method lalu tambahkan setiap meternya itu menggunakan edto web otomatis nanti ketika dibaca ada setter method yang menggunakan auto white nanti spring akan mencari ZR metode ini sesuai dengan band yang tipenya ini kategori repository Oke sekarang kita akan buat dulu berarti kita akan buat yang pertama adalah kategori repository ini kita jadikan at komponen Nah selanjutnya kita buat lagi di service this nih ah kategori service enggak jadi kan at komponen lalu disini misalnya kita punya kategori repository tapi dia tetap tidak menggunakan kontaktor misalnya kita menggunakan set kategori repository seperti ini jadi disini teman-teman saya tambahkan atau Tower otomatis nanti dia akan diinjek oleh sih spring Framework oke nah sekarang kita coba buat ya cek unit Esnya jadi pastikan kategori service Ini giat repository nya itu sama dengan si repository bin Oke kita akan coba update Yang sebelumnya Yang componentes jadi Disini di componentes kita akan tambahkan test set terdepan t&c injection jadi di sini kita buat applicationcontext get bin kategori service halo halo application contest get bin kategori repository Oke sekarang kita coba cek gunakan assersion [Musik] Astagfirullahaladzim adengan kategori service get oke tadi getarnya saya lupa tambahkan di sini geter ya get kategori repostory Oke kita coba lihat hasilnya sukses berarti sudah benar jadi seperti ini ya Jadi kita sekarang punya alternatif lain selain menggunakan kontraktor definisi injection teman-teman juga bisa menggunakan server Dependency injection tapi ingat contoh bisa gabungkan kalau teman-teman memang mau melakukan dua-duanya kontraktor dan juga setter Dependency injection Hai sekarang kita bahas tentang field Based Dependency injection selain menggunakan kontraktor dan juga setter method Kita juga bisa melakukan Dependency injection langsung menggunakan field nah caranya sama dengan ketika kita menggunakan server DNS injection kita bisa tambahkan di dalam filmnya annotation at toward tante secara otomatis akan mencari bin dengan tipe data tersebut nafil Destination ini bisa digabung sekaligus dengan server dan juga kontraktor Dependency injection jadi menggunakan at komponen itu banyak variasinya melakukan defense injectionnya bisa menggunakan kontraktor setel atau juga Fildan semuanya bisa di gabungkan nah khusus untuk field-based definition Jackson spring sendiri sudah tidak merekomendasikannya ya Jadi kalau teman-teman nanti lihat ada warning itu sebenarnya karena memang saat ini file best defense injection itu tidak direkomendasikan untuk digunakan lagi terutama apalagi kalau file-nya itu sifatnya privat Karena untuk menginject data field yang private siswi terus menggunakannya namanya Reflection untuk membuka dulu sipilnya biar bisa diakses Jadi sebenarnya defination menggunakan fet itu sekarang sudah tidak direkomendasikan digunakan walaupun masih bisa Oke jadi contoh seperti ini teman-teman punya kelas customer service audisi teman-teman mau melakukan Dependency injection untuk customer repository ya cukup tambahkan atau tower di sininya Oke sekarang kita akan coba ya Jadi kita akan buat dulu untuk customer repository disini kita buat komponen lalu di sini kita buat customer servicenya komponen lalu di sini kita buat customer repository Hai tambahkan G terlalu Disini saya akan lakukan autowealth nah cotton disini lihat ada warning peringatan seperti ini Nah di sini ada warning field injection is not recommended jadi yang baru itu sudah tidak direkomendasikan lagi menggunakan field injection Ya nah tapi bukan berarti enggak bisa dipakai tetap masih bisa dipakai tapi intinya tidak direkomendasikan lagi nah sekarang Saya bahas biar teman-teman tahu saja kalau bisa lakukan file-based Dependency injection Oke selanjutnya otomotif mencoba lakukan unit esnya pastikan customer service repository nya harus sama dengan sih customer repository bandnya Oke kita akan coba ya jadi di componentes saya akan coba lagi tambua tes-tes field dependent C injection customer service kita ambil Hai applicationcontext customer service cost lalu kita ambil yang customer repository kelas Oke kita lakukan assersion Acer sama customer repository harus sama dengan customer service get customer repository kita coba raning hasilnya sukses berarti sudah benar jadi seperti ini caranya kalau teman-teman mau melakukan definisi injection menggunakan field Sekali lagi saya kasih peringatannya ya ini sudah tidak direkomendasikan lagi jadi sebisa mungkin teman-teman selalu gunakan kontraktor terlebih dahulu Kalau memang tidak bisa menggunakan kontraktor silahkan gunakan share method sekarang kita bahas tentang qualifier seperti yang sudah dijelaskan di awal jikalau terdapat bin dengan tipe data yang sama lebih dari satu misalnya Makassar otomatis spring akan di Rp ya dia akan memilih Bean yang mana dia akan bingung nah kecuali kita perlu memilihnya menjadi primary salah satunya Nah otomatis Nanti secara otomatis si spring akan memilih yang primernya namun kalau kita ingin memilihnya secara manual Nah kita juga akan sebelumnya bisa menggunakan alat ionet qualifier nah at qualifier ini juga bisa kita gunakan di kontraktor parameter di-share method atau juga di field jadi kalau teman-teman mau memilih Enggak cuma ketika menggunakan alat fashioned band di dalam komponen pun tentang bisa memilih Bean yang mana yang mau teman-teman gunakan caranya sama menggunakan at qualifier Oke contohnya contohnya kita akan ubah misalnya jadi kita akan buat dua buah customer service shitori contohnya di sini ada norma custom repository ada juga premium customer repostory misal saja kita akan Coba ubah jadi disini berarti di configuration kita akan buat sebuah kelas baru tanya customer configuration ini saat configuration lalu disini kita akan tambahkan public customer repository nah disini normal customer repository read the new customer repository fb-nya nah Disini yang kedua misalnya disini adalah premium seperti ini jadi hatinya ada dua bin Nah akhirnya yang repository ini akan kita hapus contohnya customer repository saya akan hapus komponennya jadi kita tidak akan menggunakan komponen lagi kita akan menggunakan bit karena dia punya dua bandnya Nah selanjutnya di bagian komponen configuration kitabati disini perlu impor yang configuration ya jadi di sini kita ambil yang configuration nya biar yang custom anti goresnya ikut ter in port juga oke sekarang gimana caranya Nah sekarang kalau teman-teman coba jalankan misalnya kita coba jalankan yang gini Tes yang sebelumnya di componentes kita lihat hasilnya ini Pasti error nih Nah ini errornya apa errornya jelas customer servicenya tidak bisa dibuat karena ternyata ada dua si customer repository nya jadi ada dua ya ada normal customer repostory dan premium customer repostory nya aja kita harus pilih salah satunya menjadi primery jadi contohnya Disini yang normal saya jadikan at primary seperti ini Oke kita coba lagi jalankan unit esnya Nah sekarang sudah sukses karena baterai otomatis kita pilih yang primernya nah misal saja ada kasus kita ingin gunakan 22 yang pertama kita ingin gunakan yang normal custom repostory dan yang kedua kita ingin gunakan premium customer repostory Nah kepada kasus seperti ini kita bisa gunakan at qualifier jadi contohnya di customer service kita ubah nih ada dua repository yang pertama itu normal customer repository dan yang kedua adalah premmia Sorry premium yoshinoya premium customer repository temanan bisa tambahkan at qualifier kok teman-teman mau ditinggal tambahkan qualifier Kenny normalkan sperma repository kalau teman-teman pakainya kontraktor silahkan tambahkan qualifier nya di kos aktor parameter kalau teman-teman gunakan di-share method ya teman-teman tambahkan qualifier nya disetor method Oke jadi di sini kita akan ubah yang customer servicenya jadi disini misalnya ini adalah normal customer repository dan ini misalnya premium customer repository nah ini kita Khan disini qualifier premium custom repository dan ini normal customer repository seperti ini jadi teman-teman bisa lakukan seperti ini Oke kita sekarang akan coba ya Nah pastikan unit esnya sudah sukses di sini componentes oke di sini kan jadi error jadi kita custom report ternyata dua yah yang pertama adalah normal-normal customer repository saya akan ganti disini menjadi normal customer repository yang kedua adalah premium disini berarti premium custom repository lalu di sini kita coba cek ini berarti normalnya harus sama dengan get normal customer repository dan disini premiumnya menjadi gitu get premium customer repository Oke kita coba jalankan kita lihat hasilnya nah sukses badai tidak ada yang error jadi seperti ini kalau teman-teman mau memilih Bean yang mana yang mau teman-teman gunakan kalau menggunakan at komponen ini teman-teman juga sama ya cara penggunaannya bisa menggunakan at qualifier sekarang kita bahas tentang opsional dependensi secara default semua dependensi itu wajib ya Jadi kalau misalnya ternyata spring tidak menemukan Bean yang dibutuhkan atau CPNS yang dibutuhkan saat melakukan Dependency injection maka secara otomatis dia akan terjadi error tapi kalau memang kita ingin membuat sebuah Dependency injection yang memang opsional misalnya hatinya tidak wajib kita bisa wrap dependensi tersebut menggunakan Java yu'til opsional jadi teman-teman parameternya Silahkan ganti menjadi java.io opsional Hai secara otomatis kalau parameternya adalah javage tional nanti spring tidak akan menjadikan ini menjadi wajib Jadi kalau spring tidak menemukan datanya data bandnya yang dibutuhkan maka dia akan masukkan sebagai opsional MT kita bisa menggunakan opsional ini pada FB Jadi kotor menggunakan annotation FB juga bisa ya di dalam metal parameternya atau teman-teman gunakan di komponen juga bisa jadi misalnya di konser parameter di-share parameternya atau juga di filmnya jadi teman-teman bisa ya gunakan baik itu menggunakan netbean untuk membuat binnya atau menggunakan at komponen key JAdi misal seperti ini Kita bikin sebuah configuration namanya opsional configuration di sini kita punya band yang namanya Fu aho di sini kita bikin band yang namanya fubar dimana fuba Di sini ada dua parameter-parameter pertama adalah fu-ten pengantar kedua adalah bar Nah di sini kita set sebagai opsional artinya artinya parameternya tidak wajib termasuk ini juga ini tidak wajib Jadi kalau ada nanti spring akan mengisinya Kalau tidak ada spring tidak akan mengisinya jadi dia akan mengisinya menggunakan opsional MT buat teman-teman yang tidak mengerti tentang opsional itu apa teman-teman bisa ikut Iya kelas Java saya di sana sudah kita Jelaskan tentang Java yu'til opsional Oke kita sekarang kan Coba disini kita akan membuat configuration baru disini namanya adalah opsional configuration.php ini kita set sebagai configuration lalu di sini kita buat uh misalnya kita buat binnya lalu kita buat fubar dimana fubar ini dia butuh parameter pudan barnadi sini misalnya ndak mau parameternya sebagai mandatory atau wajib Saya pengen jadikan sebagai opsional alias tidak wajib jadi saya bisa gunakan opsional Ya halo di sini Fu lalu opsional bar hatinya dua parameter ini tidak wajib jadi Disini saya akan akses fungsinya orange Kalau tidak ada saya akan gunakan nol lalu disini bar or else saya akan Kasino seperti ini ya Jadi teman-teman bisa lakukan seperti ini kalau memang dia tidak wajib Oke kita sekarang akan coba Bikin testingnya opsional tes Hai yang pertama kita akan ambil dulu applicationcontext get band yang punya ya selanjutnya yang applicationcontext z-band yang fubar nya Oke jadi di sini kita akan lakukan assersion kalau dia harus nulya aset nol yang fubar get barnya Kenapa karena memang dia memang nol Ya kita tidak membuat bin untuk tipenya bar nah Sedangkan untuk yang ininya Kita harus sama yang punya dengan Kubar titik Get the kita coba jalankan kita lihat hasilnya hasilnya sukses jadi teman-teman Gom sahnya ada yang opsional alias tidak wajib dependensi nya teman-teman silahkan gunakan Java yu'til opsional jadi ini yang tadi oke selain menggunakan Java yu'til opsional Kita juga bisa menggunakan yang namanya objek provider Jadi sebelum ini objek.pph itu udah lama ya Jadi sebelum adanya kelas java.io Nal jadi java.io Satukan adanya dijava delapan ya sebelum ada Java 8kan spring sudah lama ada nah Sebelumnya dia menggunakannya namanya objek provider tapi untuk yang baru-baru saya sarankan teman-teman menggunakan Java yu'til opsional tapi ini kau teman-teman menemukan objek provider ini berarti masih menggunakan yang lama jadi teman-teman juga bisa menggunakan objek provider tapi semuanya ada yang sedikit membedakan yang membedakan pada objek provider adalah kalau ternyata bandnya lebih dari satu objek kepada bisa digunakan untuk ambil semua binnya kalau di javago dilaksanakan cuma ada atau tidak Gitu ya kalau ada dia akan ambil yang preminya kalau tidak ada ya batin dia kosong tapi kalau objek provider teman-teman bisa ambil Apakah di Bisa dicek ya apakah dia ada atau tidak ambil primernya atau ambil semua kandidatnya itu juga bisa Tata bisa lihat detailnya di objek provider di sini Oke jadi di sini ya Ada get ifile label jadi dia ambil kalau ternyata ada ya lalu di sini ada GT available juga kalau misalnya tidak ada teman-teman akan ambil dari supplier ini nah ini adalah get If you need kalau dia ada unit dia akan ngambil ya Atau teman-teman bisa gunakan stream untuk mengambil semuanya atau iterator untuk mengambil semuanya nugget available ini konon Perhatikan ya Nah di sini dia akan mengembalikan datanya tapi kalau tidak ada di akan 10 Jadi mirip kayak korels nol ya Oke kita akan coba lihat jadi misalnya di sini Kita akan punya multifungsi soalnya ya Nah lalu disini teman-teman gunakan objek provider punya disini kita menggunakan kontraktor base Dependency injection kita akan buat dulu disini jadi di bagian data di sini saya akan buat namanya multifungsi soalnya Ya oke disini saya jadikan sebagai komponen lalu disini kita akan buat list Saya pengen ngambil semua list misalnya seperti itu Nah kita akan gunakan kontraktor tapi di sini kau satunya teman-teman gunakan objek provider yaitu Hai jadi disini kalau teman-teman mau ambil satu saja objek provider get if available ambil satu kalau teman-teman pengen ambil semuanya teman-teman tinggal gunakan stream item ambil semuanya misalnya collectui seperti ini push sama dengan seperti ini jadi teman-teman bisa juga lakukan seperti ini saya tambahkan geter disini nantinya dia akan kalau misalnya punya itu ada lebih dari satu dia akan mengambil semua punya Heh Oke untuk lebih jelas kita perlu ubah berarti yang komponen configuration disini berarti juga kita harus tambahkan impor yang multifungsi seperti ini ya selanjutnya otomatis punya kebetulan di sini baru ada satu ya Jadi kalau kita lihat eh configuration disini cuma ada satu nah disini teman teman bisa tiang kedua atau yang ketiga contohnya kita buat vue2 dan full 3 nabiya tidak ngebrek yang Yunita sebelumnya kita jadikan disini Primary Key jenisnya ada tiga ya Nah kita lihat hasilnya jadi yang componentes kita cek tes objektif aider Oke jadi kita ambil yang applicationcontext jetbean multifungsi kita pastikan absorption titik aset Equals harus ada 13 Iya jadi tiga multi full get full titik size jadi harus ada tiga kita cek nasinya benar ada tiga jadi get to ini out agaton bisa gunakan untuk mengambil semua sih punya jadi objek provider lebih fleksibel sebenarnya dari Java yu'til opsional konon cukup butuh 0/1 contoh menggunakan Java yu'til opsional konon pengen pilih apakah nol Apakah satu atau lebih dari satu teman-teman bisa gunakan si objek provider ini jadi seperti ini ya kalau teman-teman mau membuat opsional dependensi hitam bisa digunakan Java Hotel opsional atau objek provider sekarang kita bahas tentang factory bin kadang ada kasus dimana sebuah kelas misalnya bukanlah milik kita misalnya milik library atau mungkin milik sebuah Framework gitu ya Nah sehingga agak sulit kalau kita menggunakan misalnya komponen karena kenapa karena kita tidak bisa menambahkan annotation di dalam kelas tersebut karena kelasnya bukan milik kita pada kasus Seperti ini cara yang terbaik adalah pantauan menggunakan annotation bin Yahya ditemukan bikin method dan di sana tambahkan nonton bandnya nah untungnya sering itu membuat juga ya fitur yang namanya factory bin dimana teman-teman bisa bikin sebuah class forever untuk kelas Bean yang lainnya teman-teman bisa gunakan menggunakan at komponen juga kalau menggunakan si factory bin syaratnya adalah teman-teman bikin sebuah class dimana implement sih factory band ini nah detail dari factory bintono bisa baca disini jadi ini adalah factory bin ya jadi disini ada sebuah metode yang utamanya adalah ini get objek dan juga di getobject Tab untuk getobject nanti dia akan dipanggil untuk pembuatan si obyeknya artinya Apa artinya dia bisa membuat objek apapun yang kita mau jadi kalau misalnya dia dibuat untuk class yang tidak bisa kita kontrol itu cocok banget kalau menggunakan sih factory band ini banyak sekali yang menggunakan factory bin Ya kalau di spring itu contohnya ke The spring integrasi dengan Framework perampokan lain atau mereka akan membuatnya menjadi factory Band Karena remok yang lainnya tidak bisa dimodifikasi diproject yang kita buat Oke contohnya misal saja ini misal saja ya Ada sebuah kelas namanya payment Gateway klien misalnya Anggap saja ini kelasnya yang dibuat oleh pihak Pemda itu Yadnya kita tidak punya akses untuk mengubahnya misal saja pasar seperti ini kita akan buat dulu jadi ini misal saja jadi disini kita akan membuat sebuah PKS namanya client misal saja ini punya the party library ya di sini payment Gateway klien misalnya lalu disini kita akan tambahkan beberapa atribut end point public high dan juga private key misal saja ini ia punya the party library Artinya kita misalnya tidak bisa menambahkan ayat komponen disini menambahkan Dependency injection dan apapun misal saja ya Nah caranya kalau kita ingin membuat band ini tanpa harus menggunakan annotation FB misalnya kita pengen menggunakan komponen saja kita bisa menggunakannya namanya factory Bin jadi teman-teman cukup bikin sebuah class lalu implement factory bin lalu disini Tentukan kelasnya apa nanti nge produced data Apa contoh disini payment Gateway klien atau teman-teman di sini tinggal informasikan method get obyeknya nah di getobject ini teman-teman silakan buat sih ininya objeknya keju Disini saya akan buat namanya pc-nya factory kita buat disini payment Gateway atau namanya apa ya payment Gateway klien factory bin Key jadi di sini kita akan QNet komponen misalnya komponennya kita asset value nya payment Gateway klien contohnya ya karena kalau tidak Nanti dia namanya jadi pengen Gateway kalian factory bin ya di sini implement factory bin lo disini payment Gateway klien baru kita tinggal implementasikan yang dibutuhkan sini jadi disini contohnya get objektifnya simpel sih tinggal riten payment Gateway klien class Nah kalau yang payment Gateway Kayaknya baru di sini kita buat contohnya di sini kita buat payment Gateway klien-klien set handphone misalnya apapun itu ya https misalnya example.com lalu klien set misalnya private kitnya dan juga publik kynya halo tinggal kita ditentukan Hai kliennya nah teman-teman juga bisa tambahkan Dependency injection kalau mau misalnya teman-teman butuh sebuah set terdefinisi injection tinggal tambahkan di sini kontraktor tinggal tambahkan file juga tinggal tambahkan jadi ini apapun yang bisa dilakukan di componentone selokan di factory band ini yang membedakan adalah obyeknya Nanti kalau saya sebelumnya kan dia otomatis obyeknya adalah siklus ini sendiri ya kalau misalnya komponen biasanya tapi kalau dia implement factory band obyeknya itu nanti diambil dari si metode get objek ini ya teman-teman Di dalamnya disini semuanya masih tetap bisa menambahkan Dependency injection via kontraktor setter atau juga file tapi nanti intinya ketika diambil objek bandnya itu yang diambil adalah method segrt obyeknya jadi lumayan fleksibel ya kalau kita mau membuat komponen untuk yang the party library atau class yang tidak bisa kita kontrol Oke sekarang kita coba kita akan membuat factory configuration dimana disini kita impor payment Gateway klien factory bin oke di sini kita akan buat namanya adalah factory configuration configuration di sini kita import Thailand Gateway klien factory band selesai Sekarang teman-teman bisa buat unitnya seperti ini jadi misalnya applicationcontext jetbean payment Gateway klien Jadi nggak perlu lagi payment Gateway klien factory Bin jadi langsung payment Gateway kalian itu otomatis dia bisa dapat kita coba disini bikinnya netesnya factory test failed configurable applicationcontext applicationcontext vektor configuration Kita sekarang bikin applicationcontext get bin payment Gateway kliennya seperti ini kita pastikan dia tidak 0as short note no oke di sini harusnya femen Gateway klien Oke kita pastikan juga assersion aset Equals tadi saya namanya https ya example.com payment Gateway get an point lalu disini get private key dan juga get public-key ini adalah privat dan ini ah public-key kita coba laning terlihat hasilnya nah hasilnya sukses hatinya teman-teman juga bisa ya membuat komponen dari misalnya tepati lain mereka atau misalnya class-class yang memang tidak bisa kita ubah lagi ya teman-teman tidak bisa menambahkan annotation dikelasnya ya sehingga tidak bisa kita tambahkan at komponen dalamnya di teman-teman bisa gunakan efektor Ipin sekarang kita bahas tentang inheritance saat kita mengakses bin kita bisa langsung menyebut tipe kelas bin tersebut atau bisa juga sebenarnya kita bisa mengakses dengan cara menyebutkan parent class nya atau bahkan PLN interfacenya nah misal jikalau kita memiliki serbu interface namanya misalnya merchant service dia berupa interface misalnya lalu kita memiliki sebuah bin ya untuk objek implementasinya atau kelas implementasinya itu nama kelasnya adalah mercon service implementation misalnya kau untuk mengakses bandnya Kita juga bisa menggunakan tipe mercon service implementation ya kalau mau atau bisa juga Peren interfacenya yaitu adalah mercon service ini banyak ya digunakan Ketika nanti kita membuat aplikasi Biasanya kita akan membuat interfacenya dulu lalu kita akan membuat implementasi kelasnya nah biasanya yang kita regresi kan ke dalam spring itu biasanya adalah kelas implementasinya Tapi saat kita mengakses bandnya Biasanya kita menggunakan sih servicenya tapi perlu berhati-hati ya saat kita menggunakan misalnya merchant service kalau ternyata menset tersebut memiliki banyak sekali turunan dan turunannya diregistrasikan sebagai bin itu mungkin bisa terjadi error duplikat jadi perlu hati-hati ya Oke jadi contohnya seperti ini kita punya sebuah service ya namanya adalah margin service dimana kita punya interfacenya lalu di sini kita punya kelasnya namanya Morgen service implementation nah disini ini kita registrasikan sebagai bin menggunakan Nen nya ketika teman-teman nanti akses teman-teman bisa langsung menggunakan mercon service implementation atau menggunakan cepernya yaitu marchen service kita akan buat dulu ya jadi Disini saya akan buat di PKG service kita akan buat yang pertama adalah marchand service Ini tipenya adalah interface selanjutnya kita akan buat class mercon service implementation nya ini implement marchand service misalnya seperti ini kita set sebagai komponen Oke Nah selanjutnya kita akan buat namanya inheritance configuration dimana kita imports mercon service implementation kita buat ya di sini namanya adalah inheritance configuration of the configuration lalu kita impor yang tadi itu adalah Marjan service implementation class.ok selesai Sekarang kita coba buat unit Esnya jadi kalau teman-teman nanti tes akses teman-teman bisa menggunakan getwin mercon service atau mercon service implementation ini dua-duanya akan mengembalikan Bean yang sama jadi ini banyak sekali biasanya digunakan oleh programmer spring ya Jadi biasanya mereka akan membuat interface nya terlebih dahulu lalu baru membuat sih kelasnya membuat disini inheritance tes jadi di sini kita buat private configurable application konteks disini kita buat set-up applicationcontext New annotation disini inheritance configuration ah jangan lupa register shutdown hooknya lalu kita coba buat ini tesnya tes inherited tense jadi applicationcontext get bin yang pertama adalah marchand service misalnya kita pakai interfacenya eh jadi ini mercon service lalu applicationcontext jetbean marchand service implementation contohnya kita akan gunakan mercon service yang implementation nya yang ini himpel Nah kita pastikan kita lihat ya Ini harusnya assets m Samaya jadi mercon service dan mercon service implementation Coba kita jalankan kita lihat hasilnya nah dua-duanya sama jadi ini banyak Nanti ya digunakan ketika kita membuat aplikasi Biasanya kita akan membuat interfacenya kita buat implementasinya MNC kita registrasikan sebagai bin nanti ketika mengaksesnya kita cukup Sebutkan sih nama interfacenya kegunaannya apa kegunaannya adalah suatu saat kita ingin ganti-ganti modern fermentasinya kita cukup ubah siklus simplement nyenyak tanpa harus merubah dependensi yang menggunakan sih interfacenya sekarang kita akan bahas tentang bin factory applicationcontext Itu adalah sebuah interface yang sebenarnya dia turunan dari interface bin factory jadi ada sebuah interface yang namanya bin factory jadi bin factory ini merupakan kontrak untuk manajemen database ya di dalam spring method-method yang sebelumnya sudah kita gunakan Seperti contohnya get bin itu ya itu sebenarnya adalah kontrak dari interface bin factory Jadi bukan bawaannya application contest sebenarnya tapi dia bawaannya dari bin factory kalau kita lihat di bin factory ini lumayan banyak sebenarnya methodnya yang bisa kita gunakan untuk mendapatkan detail dari Bin jadi di sini Ada contents Band untuk mengecek Apakah dia memiliki bin dengan nama ini atau tidak atau dapetin alias jadi misalnya kalau mau apakah sebuah band itu punya beberapa kalian kalau tidak nugget Bean sebelumnya ya get bin Zaid bin dan yang lain-lain Bahkan Kita juga bisa get bin provider untuk mendapatkan objek provider nya kalau teman-teman mau dan banyak lain seperti pengecekan Apakah dia Prototype Apakah dia single Ton dan yang lain-lain Jadi sebenarnya ini punyanya interface namanya bin factory Jadi bukan bawaan dari si applicationcontext application contest sendiri itu adalah turunan dari cebien factory nah selain Bimtek Tori ada juga yang namanya listable bin factory Jadi kalau bin factory itu hanya bisa digunakan untuk mengakses single bin 1.bin nantinya kalau terdapat di dengan tipe yang sama kita harus Sebutkan satu persatu namanya atau teman-teman perlu menggunakan yang objek provider ya Nah listable bin factory ini ini adalah turunan dari bin factory lagi yang bisa kita gunakan untuk mengakses beberapa bin sekaligus nah dalam beberapa kasus sangat berguna seperti misalnya kita ingin mengambil semua bin dengan tipe tertentu misalnya teman-teman bisa gunakan label bin factory jadi application contest juga dia turunan dari listable bin factory jadi method-method nya juga ada otomatis dia applicationcontext disini temen-temen bisa lihat detailnya label bin factory jadi ini methodnya lumayan banyak Kalau ini ya jadi ada disini lihat teman-teman Nah di sini ada contohnya get B6 sport jadi misalnya Apakah teman-teman pengen dapetin bin nah namanya nama band untuk tipe ini nanti dia balikannya adalah string-array jadi nanti baliknya adalah semua nama-nama bin atau teman-teman mau bisa langsung seperti ini jetbean sweet annotation juga bisa ya get Benz optimis juga bisa jadi misalnya disini teman-teman getwin softlight classnya misalnya V CEO anti dia akan balikan map stringnya ini kirinya adalah isinya adalah be named Halo Ini tehnya adalah objek dari cb-nya itu sendiri jadi teman-teman bisa gunakan ini Jadi sebenarnya saat teman-teman bikin application konteks itu sudah otomatis dia adalah turunan dari bin factory dan juga listable Bin factory Oke contoh kasus contoh kasus misalnya kalau teman-teman ingin mendapatkan objek provider teman-teman bisa menggunakan applicationcontext get bin provider tematis teman-teman dapat semua objek provider nya seafood kalau teman-teman mau ambil semua datanya cukup gunakan ya method stream di objek provider nya atau teman-teman juga bisa langsung seperti ini application konteks jetbean softlight contohnya ya nanti dia hasilnya adalah map string fujianti obyeknya d'divo ini dan bandnya ada di pstring ini Oke kita akan coba Jadi sebelumnya kita sudah bikin yang com paint Scan ya jadi komponen scene ini nah disini akan kita melakukan scanning terhadap komponen configuration nah disini lumayan banyak nih ya Nah kita akan coba pakai yang ini jadi Disini di componentes saya akan buat baru di sini oke Atau jangan deh ya Eh kita buat yang baru aja namanya adalah bin factory tes oke jadi Disini saya akan Buat configurable applicationcontext application konteksnya kita ambil dari kelasnya yang Scan ya scan configuration class Oke selanjutnya application konteksnya kita register shutdownnya kita sekarang buat unit esnya Oke jadi Disini zaman applicationcontext get band itu sebenarnya dia adalah method milik bin factory atau get objek seuriget provider ya get bin provider itu juga sebenarnya kalau kita perhatikan disini contohnya saya pilih yang ini nah ini dia adalah milik kelasnya ini adalah band factory ya Oke jadi disini contohnya Fu seperti ini jadi kita punya Fu objek provider jadi kalau teman-teman mau ambil semuanya cukup gunakan full titik stream ya contohnya collect Kelis nah seperti ini kita coba akan print out kita lihat polisi ini ada berapa ya datanya Nah di sini kita lihat Hai ada satu ada dua dan ada tiga ini diambil dari harusnya configuration ya Nah ada tiga satu dua dan tiga cuma kalau misalnya menggunakan objek provider kita tidak tahu nama nama bandnya kau temen-temen ingin sekaligus pengen tahu nama bandnya apa kita bisa gunakan applicationcontext get bin of time ya di sini tinggal kita masukkan Fu class nah ini hasilnya adalah map string di sini sering adalah nama bandnya dan disini punya adalah objek sih bandnya ini kalau kita print-out lagi bynes kita lihat nah sekarang agak sedikit berbeda Jadi yang pertama adabin namanya Fu obyeknya isinya ini ya lalu di sini ada V2 subjeknya ini di sini ada V3 obyeknya adalah ini nah jadi seperti ini jadi kalau teman-teman mau istilahnya mengambil atau menseleksi sebuah bin gitu ya atau lebih dari satu binteman teman-temannya bisa menggunakan applicationcontext Kenapa karena application konteks itu adalah turunan dari bin factory dan juga listable Bin factory sekarang kita bahas tentang bin pos processor beatbox prosesor itu merupakan sebuah interface yang bisa kita gunakan untuk istilahnya memodifikasi proses pembuatan bin di applicationcontext bean-pods prosesor ini mirip seperti Anggap saja middle Walcott teman-teman bikin web itu ada salahnya middleware atau filter nah Bean prosesor itu cara kerjanya mirip seperti itu jadi setelah objek dibuat ya teman-teman bisa melakukan istilahnya pos processor memproses objek dunia mau diapain dulu nih sebelum obyeknya siap dan ini diakses sebelum band-nya di ini khas dan juga setelah band-nya di ini selesai jadi sebelum itu artinya sebelum datanya di masukkan dan juga setelah dalamnya dimasukkan Nah karena sangat fleksibel bahkan bin pos prosesor ini bisa memodifikasi hasil objek binnya caranya kalau teman-teman pengen mengganti obyeknya dengan objek baru itu sebenarnya bisa saja cuma itu tidak direkomendasikan karena akan membuat bingung nanti ketika implementasi hasilnya Ya karena objeknya otomatis berubah atau Anda bisa lihat Bean prosesor disini javadoc nya jadi kalau teman-teman perhatikan ini bean-pods profesor itu banyak sekali digunakan oleh spring ya untuk memodifikasi atau membuat semacam mempermudah atau yang membuat secara otomatis gitu ya beberapa hal jadi cotton perhatikan disini saya perbesar Nah di sini ada on implementation class ya Jadi ini adalah salah satu implementasi jadi ada banyak sekali implementasi implementasi yang digunakan atau dibuat oleh sprint dan deh nanti ketika kita masuk ke kelas namanya bin validation gitu ya teman-teman bisa melakukan validasi cb-nya secara otomatis contohnya dia Spanyol menggunakan ini bin predation pos processor ada juga yang lain seperti transaksional dan sebagainya jadi ada banyak sekali Nah sekarang kita coba buat manual ya Jadi ini adalah bin possessor cotton plastikan di sini ada dua metodenya yang pertama pos proses after initialization jadi Setelah semua data dependensi nya di-save ya Nah ini obyeknya dan ini be named nya teman-teman mau ngelakuin apa lagi nih disini misalnya jadi bebas ya ceritanya adalah objek Makanya karena ditanya objek semuanya teman-teman bisa mengganti ritel fesyen yang ke teman-teman mau nah atau juga ada pos proses before initialization Nah kalau ini sebelum inisialisasi jadi sebelum objek-objek nya diset ya Nah teman-teman perlu Perhatikan Kalau sebelum nya diset bisa jadi database-nya mungkin belum selesai dibuat gitu ya atau misalnya dependensi dp-nya belum diset jadi hati-hati oke oke Sekarang kita akan coba kasus sedikit sederhana saja Misalnya kita akan bikin yang namanya bin aidz generator JAdi misal sekarang kita ingin coba membuat yang namanya ide unik untuk Bin jadi bandnya itu setiap adaband kita pengen menginjak sebuah data unit ide misalnya nah dimana kita akan membuat sebuah interface namanya Edward Edward itu nanti punya sebuah method namanya set ID nanti sama pos prosesor yang kita buat santai Dini akan diset jadi dia akan diset menjadi unit ID jadi kita akan membuat binfas processor dimana jika loginnya implements IDR kita akan melakukan santai dyaa menggunakan guide biar unit Oke kurang lebih seperti ini kita buat dulu idea where interface ya jadi nih cuma airware lalu di sini kita punya method santai di jadi Disini saya akan buat sebuah PKG namanya were ya lalu kita akan buat sebuah interface namanya idea where disini simple kita cukup bikin avoid set ID lalu di sini sering idenya Apa jadi nanti kalau ada band-yang implement ideal kita akan inject sebuah ide unik jadi ini mirip kayak cara kerjanya sebenarnya cara kerja sih ini selesaiin bin Jadi kalau misalnya ada implement ini selesaiin bin si method of their property setnya dipanggil nah ini juga sama kalau ada band-yang implement Adiwerna Nikita akan set-set idenya ya menjadi unit ID Key jadi caranya gimana Jadi caranya simple kita akan bikin ID generator bin pos processor lalu kita implement Bean processor Ok Disini saya akan buat sebuah PC selamanya processor ya jadi disini tadi namanya kita samakan ID generator bin pos processor ID generator bin pos processor Nah di sini kita implement bin pos processor lalu teman-teman silakan implement bebas ya Eh jadi pos proses after ya atau proses-proses before Nah kalau disini pos proses before Kenapa before karena memang saya enggak terlalu peduli misalnya sama ininya dependensi nya misalnya tapi kalau teman-teman pengen aman semuanya bisa gunakan pos proses after ya jadi misalnya pos proses after saja di sini biar aman misal seperti ini oke nah disini kita cek dulu ya jadi ceknya simpel kalau bandnya itu dia turunan dari Death maka kita conversion Saidi where lalu kita set id-nya menjadi you ID jadi kita cek kalau misalnya binnya Instance of idea where seperti ini Nah kita akan konversi jadi idea where tinggal set identifier masukkan guide misalnya ID rendom to string selesai setelah saya kita retensi binnya jadi lumayan simpel ya sebenarnya Oke kita aset ini sebagai komponen seperti ini nanti setelah kita masukkan ke dalam springnya otomatis nanti dia akan tahu kalau Oh ini adalah Bean prosesor otomatis nanti dia akan dieksekusi pos proses after ini selesainya kepada semua bin jadi semua bin akan melakukan pengecekan ini jadi untuk lebih jelas kita tambahkan slf4j misalnya disini nah disini kita akan tambahkan log Halo Sanyo ID generator processor Halo di sini kalau ini yang ada hanya ya aset ID generator for bin kita tambahkan binnya Pinem selesai ini juga Biar enak saya tambahkan ya for bhin-bhin 6 selesai jadi sudah kita buat naiknya yang perlu kita lakukan kita coba Bikin sebuah band yang implement Edward karenanya di sini kita buat sebuah karya Lalu nanti karena implement Edward jadi di sini kita akan buat didata saya akan buat karr lalu karena saya sebagai komponen lalu disini saya punya id misalnya saya tambahkan jeter Halo di sini implement idea where Oke kita implement cheesetea id-nya this.id sama dengan ID seperti ini jadi nanti ketika karr ini dibuat sebagai bin otomatis nanti dia akan diset id-nya oleh yang tadi ID generator bin pos processor Oke untuk memastikan Apakah benar kita coba bikin unit esnya nanti kita buat Ini tasnya jadi di sini Kita bikin apa configuration dulu ya lalu kita imports karr dan juga ID generator bean-pods processor kalau kita pastikan ketika kita get Benz ikannya kita pastikan bahwa id-nya sekarang sudah ada dan dia bentuknya harusnya Yoyo id ok Disini saya akan buat unit test the unit esnya saya buat Hai semuanya misalnya bin pos processor tes oke di sini biar lebih muda saya bikin configuration Pasnya di sini aja jadi publik Static class configuration contohnya at oke tes configuration configuration kalau di sini kita impor yang tadi ya yang pertama kita imports yang karr lalu Yang kedua kita impor tiang ID generator binfas processor Oke selesai kalau kita buat Freeport configurable configurable applicationcontext kita buat dulu disini application contest = new Nah kita ambil yang tes config duration lalu applicationcontext register shutdown Ok ok kita akan coba Jadi kita akan test care misalnya jadi di sini kita coba ambil karr ambil dari applicationcontext karr Nah selanjutnya kita pastikan ya kita coba print out care.id dan kita juga pastikan assersion titik Acer troops no karr get id-nya Hei kita coba cek kita jalankan kita lihat nah sukses ya kita lihat di sini Nah di sini ada ID generator Bean prosesor jadi dia dipanggil ya ID generator processor for bin karr lalu dia juga set yg faktor corbin yang kari ini karena kita menggunakan impor ya Jadi otomatis nama bandnya sesuai dengan seperti ini nama fullbike disertai dengan nama kelasnya kecuali kita menggunakan komponen scan kalau komponen scan mungkin namanya disini menjadi Karce kecil ya nah nah disini id-nya dan otomatis dia tidak nol jadi seperti ini nah ini kalau teman-teman Coba hapus Edi generator bean-pods prosesornya kita coba Rani ngulang ini harusnya error ya id-nya tidak ada nah lihat id-nya nol tidak ada kenapa karena tidak ada yang mencetnya jadi teman-teman kalau mau modifikasi proses pembuatan objek ya teman-teman nggak perlu lagi bikin application contest secara manual teman-teman bisa bikin yang namanya Bean + processor jadi ini bisa digunakan untuk memodifikasi Binbin yang kita mau sekarang kita bahas ngorder saat kita membuat bin pos processor kita bisa membuat lebih dari satu janin kalau teman-teman mau bikin lebih dari satu itu bebas ya tidak ada batasannya nah kadang-kadang ada kasus saat kita membuat bin pos processor kita ingin membuat secara berurutan jadi misalnya harus bin pos prosesor yang pertama dulu baru setelah itu yang kedua nah sayangnya secara default spring tidak menjamin urutan dari eksekusinya jadi bisa aja yang kedua dulu baru yang pertama atau bahkan yang ketiga dulu baru ke satu baru kedua seperti itu Jadi tidak ada jaminannya Nah agar kita kalau misalnya ada kasus kita ingin berurut binfas prosesornya maka kita harus menggunakan sebuah interface yang namanya order Jadi ordered ini nanti akan ada sebuah method untuk melakukan order link-nya dari yang angka yang paling kecil ke yang paling besar jadi kalau temen-temen pengen disesuaikan urutannya dari bin postur ini teman-teman harus implement cb400 implement interface ordered Detailnya ada di sini ya Jadi ordered ini ada disini jadi kalau teman-teman perhatikan disini hanya ada satu metode yang perlu teman-teman implementasikan yaitu get order nah disini teman-teman silakan masukkan datanya integer dari yang paling kecil berarti itu adalah yang paling pertama Jadi kalau misalnya mau yang paling kecil banget ya teman-teman gunakan misalnya negatif berapa gitu ya Nah sampai yang paling besar oke misal kita akan update yang Adiwerna Jadi sebelumnya kan ada ID were ya cuma ada Say kita akan tambahkan get id-nya jadi di sini kita buka ID where disini kita tambahkan string get ID misalnya Nah selanjutnya kita akan buat ID generator nya sekarang implement ordered Nah kita Paidi generator ini yang paling pertama dulu Desa kursi misalnya nah teman-teman bisa tambahkan ordered lalu get ordernya nomor satu jadi di sini kita buat misalnya Idi generator bin pos processor kita tambahkan di sini ordered ya jangan sampai ketuker kita pakainya yang registering for emocore halo kita implement si method get ordernya kece tahunnya disini saya jadikan satu Saya pengen yang pertama misalnya kalo pengen lebih awal lagi ya masukin nol Kalo pengen lebih awal lagi yang masukin negatif seperti itu ya karena dia diurutkan dari yang paling kecil sampai yang besar oke selesai nextnya saya ingin membuat Bean prosesor selanjutnya tapi kita ingin misalnya yang selanjutnya itu dieksekusi setelah yang pertama ini nah caranya misalnya kita mau menambahkan free pics ID generator Bean + processor nah disini get older nya temen-temen Ting Kau jadikan yang kedua artinya nanti diurutkan dari yang pertama dulu yang sebelumnya ide general turbin pos prosesor yang kedua baru free tix ID generator binpres processor jadi seperti ini ya Oke kita akan buat nah Biar lebih muda saya akan copyface sebenarnya perbedaannya hanya ada di prefixnya saja jadi ID generator Saya copy PES prefix ID generator Bean prosesor jadi disini ini yang nomer dua lalu disini saya ganti lognya menjadi freefix prefix lalu disini ini saya tadinya kita ambil dari yang sebelumnya ya ID werg ID tapi depannya ditambahkan prefix refix seperti ini nah oke babi sampai ZN ya kita ganti jadi VZ end programmer zamanno nah seperti ini selesai jadina otomatis id-nya dulu diset setelah itu yang kedua adalah prefixnya yang bisa eh sekarang kita coba kita akan buat configuration ya kita impor karr ID generator dan juga provider general Store nanti kita cek hasilnya Ok Disini saya akan buat ya sebuah tes baru namanya ordered tes oke di sini kita akan buat dulu public Static class test configuration kita buat disini configuration lalu di sini kita Impor impornya adalah karr lalu ID generator Bean prosesor lalu free tix ID generator Bean prosesor Hei selanjutnya kita bikin configurable station konteks halo kita bikin setup nya terlebih dahulu di setup nya kita buat applicationcontext New di sini kita ambil tes configuration halo application konteks register shutdown hop Oke kita coba tes-tes karr application konteks jetbean karr class ya far lalu disini karr batikita assersion disini aset no karr TTG tadinya tidak boleh nol dan juga assertions titik aset true kalau karr gyah harus star with prefixnya adalah vzm strip ya jadi harus seperti ini kita coba Naning Hai nah hasilnya sudah benar jadi disini kota memperhatikan yang pertama dia ID generator Bean prosesor dulu dieksekusi yang kedua dia free pics ID generator Bean prosesor jadi urutannya dia akan diurutkan ya berdasarkan get Order methodnya jadi dari yang paling kecil sampai yang paling besar sekarang kita bahas tentang were spring memiliki sebuah interface yang namanya adalah wer wer adalah super interface yang digunakan untuk semua url interface jadi ada banyak sekali sebenarnya nanti kita bahas satu persatu nawarin diperuntukan untuk penanda agar spring melakukan injection objek yang kita butuhkan mirip seperti yang sudah kita lakukan Sebelumnya kan kita buatnya namanya Edward lalu kita inject data id-nya menggunakan ID generator bean-pods processor nah begitu juga selama ini jadi fiturnya itu Er itu nanti si spring yang akan melakukan inject ia tidak perlu membuat Bean prosesor secara manual nah tapi ya untuk yang ini kita tidak Pulaki membuat Bean prosesor secara manual teman-teman bisa lihat yang Where the disini jadi were itu hanya interface kosong ya tidak ada method sama sekali dia itu cuma sebagai penanda untuk semua sub interfacenya jadi disini Chalte interfacenya ada banyak applicationcontext were dan yang lain-lain ini banyak sekali nanti kita bahas satu persatu Oke jadi ini adalah daftar url Ya udah semuanya masih banyak nonton bisa cek di javadoc nya kita akan bahas yang beberapa yang biasa kita gunakan Nah di sini ada namanya applicationcontext where Nah kalau teman-teman bikin sebuah Bin dan teman-teman ingin dapat application contest dalam tersebut teman-teman bisa menambahkan applicationcontext were Nanti secara otomatis dia akan ada implement sebuah method namanya set applicationcontext nah metode terkesan konteks itu akan berisi parameter application konteks dan akan diinjak datanya oleh si spring kau teman-teman butuhnya adalah sebuah bintek Tori contohnya tentunya gunakan bin factory er kau teman-teman ingin tahun soalnya Ketika saya buat sebuah bin nama bandnya apa sih misalnya ya Atau saya gunakan bin murah2 otomatis nama bandnya akan diejek oleh seringnya halo ada juga yang lain contohnya application event publisher wear and Free manual dan yang lain-lain semua ini tidak akan kita bahas sekarang ya karena beberapa bagian itu nanti ada kelasnya masing-masing contohnya application developer bisa nanti ada materinya masing-masing environment juga nanti ada kelasnya masing-masing Oke misal saja sekarang kita mau implement applicationcontext were dan juga Bin murid2 ini BMW ini otomatis kalau teman-teman ingin mengetahui nama bandnya kira-kira apa sih gitu ya nanti otomatis akan ada metode yang namanya set B6 nanti nama bandnya oleh siswa akan diinjak kedai atau tersebut misalnya teman-teman simpan dalam bin m ini lalu kalau teman-teman butuh applicationcontext teman-teman juga bisa menggunakan applicationcontext were nanti akan ada method namanya set applicationcontext dan itu akan diinjak oleh spring data application konteks milik si springnya Oke kita akan coba ya jadi Disini saya akan buat di bagian service namanya adalah authservice Oke disini saya sebagai komponen lalu disini misalnya kita akan implement application konteks where lalu binem where Oke kita coba implement nah perhatikan jadi yang set bin m ini akan diinjak oleh si spring ya isinya adalah nama si bandnya jadinya disini kita akan simpan private string habin m tambahkan geter lalu kini misalnya this titik bin m = Neng Halo di sini misalnya this titik application konteks sama dengan kita ambil application konteksnya saya tambahkan geter misalnya disini jadi nanti ketika spring tahu Oh ternyata dia itu implement applicationcontext were maka dia akan menginjak data application konteksnya di sini tidak perlu teman-teman Tambahkan at-thoat lagi Ya Nah ketika dia implement Binamu er maka siswa akan tahu kalau band Ini Membutuhkan nama bandnya jadi akan diset secara otomatis menggunakan set bin Oke kita sekarang akan coba ya untuk memastikan Apakah benar jadi contohnya kita buat ya sebuah tes configuration kita imported servicenya Nah kita lihat hasilnya kita akan buat sebuah unit es namanya adalah were tes tes Hai jadi di sini kita akan buat public Static class test configuration jadi disini saya set configuration lalu Disini saya akan gunakan imported ya jadi impor yang tadi out service Oke selanjutnya kita akan coba buat config uh applicationcontext kita setup dulu tes configuration Lalu kita buat unit esnya tes misalnya disini well Oke applicationcontext jetbean out service Prov Hai Nah kita pastikan kita print out dulu karena kita menggunakan impor ya di sini jadi nama bandnya berarti harusnya nama PKG plus nama kelasnya gitu ya Nah seperti ini Nama ininya nama bandnya kecuali kita menggunakan komponen scan jadi kita akan coba assersion Assad Equals harus sama dengan ini nama bandnya Coba kita pastikan authservice get biname lalu assersion Titing aset not-null contohnya authservice titik getapplicationcontext atau juga sebenarnya absennya assersion itu harus shemya antara application konteks yang tidak buat dengan authservice getapplicationcontext karena aplikasi-aplikasi hanya itu-itu aja Jadi kita ini pastikan kalau dia itu harus sama sebenarnya kita coba raning kita lihat biasanya nah hasilnya sukses jadi seperti ini kalau teman-teman misalnya membutuhkan data informasi-informasi lainnya jadi ada sebuah interface namanya were jadi teman-teman bisa cek turut turunan dari UU RI itu ada banyak sekali ya di sini salah satunya yang tadi kita bahas yaitu applicationcontext where dan juga biname where sekarang kita bahas tentang bin factory pos prosesor secara default mungkin kita tidak akan pernah sama sekali membuat application contest secara manual karena sangat kompleks dan seakan-akan kita harus bikin implementasi spring applicationcontext secara manual Ya lumayan ribet nah tapi kadang-kadang ada keadaan kita ingin memodifikasi secara internal misalnya Si application konteksnya nah spring sendiri merekomendasikan Kita membuat bin factory pos processor jadi ini mirip seperti Bin possessor tapi ini fokusnya lebih ke Bin factory nya Nah super kelasnya di sini super interface saya jadi bin factory pos processor jadi ini adalah bin factory pos processor jadi disini teman-teman bisa implementasikan pos proses bin factory jadi tinggal dapetin configurable listable bin factory nya teman-teman tinggal lakukan konfigurasi disini jadi configurable listable bin factory ini ini banyak sekali methodnya yang bisa teman-teman modifikasi untuk sibin factory nya Nah ada salah satu anak turunannya dari bin factory pos processor namanya bin definition registe prosesor ini cocok sekali ya digunakan untuk contohnya kalau teman-teman misalnya mau melakukan registrasi bin secara otomatis bisanya ya menggunakan bin definition registry pos processor bisnis juga ada methodnya pos proses bin definition registry hack ngadepin definition registry dimana ini bisa digunakan oleh teman-teman untuk melakukan registrasi bin baru karena disini register bin definition Oke kita akan coba ya walaupun sebenarnya mungkin teman-teman jarang ya kecuali teman-teman bikin Framework mungkin ya mungkin bakal pakai ini jadi seakan-akan bikin Framework di atas frame Ok Jadi mungkin teman-teman akan sering menggunakan Bing pektori pos processor atau juga pos Abin possessor jadi di sini kita coba sampel dulu aja JAdi misal kita akan bikin yang namanya pubin factory pos processor jadi simpelnya adalah kita coba mau registrasi sebuah bin Tapi lewat bin factory pos processor jadi tidak menggunakan configuration jadi di sini kita akan buat lalu kita implement bin definition registry pos processor karena dia adalah turunan dari bin factory possessor ya lalu Disini saya akan buat yang namanya generic yang definition jadi kita bikin bin definition nya dulu kalau kita set-set bin kelasnya adalah last lalu secukupnya kita set single tone kalau di sini kita lakukan registry titik register B and definition nama bandnya adalah Fu atau ini definisinya jadi teman-teman kalau mau registrasi bin secara programatik Istilahnya ya teman-teman bisa lakukan seperti ini Oke sekarang kita akan coba ya Jadi kita akan buat eh disini di dalam prosesor disini Fu bin factory namanya tadi apa ya bubin factory ya pas processor Oke kita set sebagai komponen lalu disini implement bin definition registry pos processor Oke kita implement methodnya ya di sini pos proses bin definition tapi yang proses bin teksturnya kita tidak melakukan apa-apa misalnya nah Ting ini tidak melakukan apa-apa Oke selanjutnya disini kita akan coba generic bin definition kita buat definisinya lalu kita buat definition set stoknya misalnya single tone lalu definition set habin classnya misalnya di sini kita set vuya last seperti ini lalu kita gunakan parameter registry nya register bin definition contohnya Fu Ya halo di sini definition jadi seakan-akan di sini kita meregistrasikan sebuah ini ya sebuah bin baru dengan tipenya adalah Fu skornya adalah single tone dan nama bandnya adalah sih Oke sekarang kita akan coba Jadi disini misalnya caranya Seperti apa caranya kita buat tes configuration Lalu kita impor ubin factory possessor of teman-teman di sini langsung GB infonya walaupun di sini kita tidak pernah registrasikan punya tapi karena kita secara programatik memprediksikan CB info disini Jadi dia otomatis bisa diakses Oke kita sekarang kan Coba disini saya akan buat namanya bin factory pos processor tes pemain panjang namanya kita akan impor yang fubin factory pos processor Oke kita buat kita buat application konteksnya dulu kita ambil dari tes configuration Lalu register Hai download-nya kita akan buat unit esnya tes bin factory pos processor Hei kita langsung ambil ya kita ambil punya dari applicationcontext get bin fu.com seperti ini Nah kita pastikan Association not now cv-nya karena kita registrasikan secara programatik menggunakan bin factory pos processor key kita coba running kita lihat hasilnya nah sukses ya kecuali kau teman-teman disini tidak registrasikan contohnya kita Comment di sini kita lihat hasilnya nah disini error punya tidak ketemu karena memang tidak ada bin kalau kita registrasikan disini secara programatik Maka hasilnya otomatis Hai makan sukses jadi seperti ini ya kalau teman-teman mau memodifikasi si internal applicationcontext atau bin factory nya Ya teman-teman bisa implement yang namanya Abin factory pos processor Sekarang kita akan bahas tentang event listener spring memiliki fitur yang namanya event listener ini bisa kita gunakan untuk komunikasi antar kelas menggunakan event atau berbasis event-event Disamping itu merupakan objek turunan dari application event nama kelasnya jadi kalau teman-teman mau bikin sebuah event-event itu semacam data yang ditransfer ke kelas yang lain gitu ya itu teman-teman harus bikin kaosnya turunan dari application event nah Sedangkan untuk listener nya atau class yang menerima data event tersebut kita bilang namanya galistener Nah itu kita harus buat turunan dari application listener panel bisa lihat di sini ya application event detailnya Seperti apa jadi disini application Ini itu sebenarnya isinya hanya sebuah class ya dan dia punya parameter objek sourcenya atau ada juga yang parameter clocknya Oke Sedangkan untuk application listener itu isinya adalah sebuah interface application istana dimana disini kita tentukan jenis event apa yang mau kita tangkap ya jadi teman-teman Tentukan Ivan apa yang mau ditangkapnya nanti otomatis kita cukup implementasikan on application event dan Disini Nanti eventnya jadi kalau ada event yang dikirim gitu ya lalu kita bisa tangkap menggunakan on application event Oke sebelumnya kita sudah bahas tentang eventnya atau data yang dikirimnya dan juga listener nya kelas yang menerima eventnya Nah sekarang pertanyaannya Bagaimana caranya kita mengirim eventnya nah ketika kita ingin mengirim event ke listener kita bisa menggunakan yang namanya objek application event publisher nah di nah application event publisher ini merupakan super interface dari applicationcontext Jadi sebenarnya teman-teman juga bisa menggunakan applicationcontext atau kita bisa menggunakannya namanya application event publisher were cold teman-teman mau untuk mendapatkan objek application event publishernya seperti yang sudah kita Jelaskan di bagian were ya Jadi ada juga application event publisher where detailnya tonjok baca di sini ya ini untuk javadoc si application event publisher jadi ada sebuah method yang namanya publish event ini isinya adalah application even you teman-teman bisa gunakan ini untuk mempublish eventnya ada otomatis data yang kita kirim di parameter ini akan di broadcast ke semua listener yang ingin Ivan tersebut jadi dieselnya bisa lebih dari satu ya Oke sekarang kita akan coba dulu buat sebuah event contohnya di sini Kita buat yang namanya login sukses event Nah di sini kita extend application event lalu kita What disini misalnya data you share-nya lalu di sini kita bikin kontraktor parameternya usernya ya user yang sukses login misalnya lalu kita set super converternya menjadi user lalu usernya menjadi user yang di parameter Oke kita akan coba Jadi pertama misalnya saya akan bikin sebuah PKS dulu disini pakai namanya event kita akan buat disini user-user apa tadi login sukses event ya login sukses event nah disini ini akan kita set menjadi extend application event nah tapi disini Saya butuh data juicer jadi di bagian data saya akan buat data user ini saya kosongkan terlebih dahulu nah disini kita akan buat private final user ID Oh ya tambahkan geter lalu kita akan buat kontraktornya login sukses event usernya kalau kita Panggil super usernya kita kirim lalu this user sama dengan user selesai jadi juga sudah bikin login sukses event jadi data event ini isinya ada data user yang misalnya yang sukses melakukan login Oke selanjutnya misalnya kita ingin bikin sebuah listener jadi di sini ada login sukses lichsteiner ya lalu di sini kita implement application designer lalu tipenya kita ingin listen istilahnya mendengarkan semua event yang jenisnya login sukses event kalau kita informasikan on application event halus simple sampai di sini kita cuma melok saja ya jadi sukses login for your apa Oke jadi eh usernya saya akan update dulu ya ya kita akan tambahkan kita set menjadi data kalau kita tambahkan string username Contohnya seperti ini Oke selanjutnya kita buat sebuah PKS baru namanya adalah listener kalau kita buat disini login sukses listener Nah kita buat seperti ini jadi dia implement application event listener ini kita set sebagai komponen tambahkan slf 4G implement application listen lalu disini login sukses event kita implement disini nah disini simple aja kita lock info misalnya kita samakan Ya Sukses login for user for you share see you share ini fun titik get your share Oke selesai Artinya kita sudah punya listener nya dan Kai eventnya akan mendengarkan login sukses event Oke selanjutnya kita misalnya akan membuat sebuah service namanya misalnya you service lalu disini Saya butuh application event publisher jadi saya akan implement application event publisher were kalau nanti kita perlu set application event publisher senternya ya nanti otomatis data ini akan di injek oleh si springnya Oke kita akan buat dulu you service berarti ya jadi di bagian service kita akan membuat sebuah class namanya user service Oke ini saya sebagai komponen lalu di sini kita butuh application Sorry event publisher application event publisher ya jadi disini saya set implement application event publisher where lalu kita perlu implement sih senternya lalu this cek application event publisher sama dengan kita ambil dari parameternya key selesai nanti ini akan otomatis diinjek otomatis oleh sih springnya selanjutnya misalnya disini saya bikin sebuah method namanya login lalu kita cek kalau loginnya sukses contohnya username dan passwordnya Nah kita akan kirim sih data eventnya jadi Caranya tinggal gunakan application event publisher titik published Halo Di sini kita bikin venue login sukses event news er username Oke disini berarti misalnya kita akan cek ya Oke kita akan buat dulu public Bulian login disini string user name string password misalnya Hei sekarang misalnya kita buat di sini kita cek dulu is kita buat ylogin sukses di lslogins sukses username password nanti kita buat methodnya kalau dia sukses login kita akan rhythm countru kalau tidak maka returnnya adalah Force Oke setelah sukses login berarti kita akan kirim ke semua listener kalau ada user yang sukses login jadi kita gunakan application event publisher titik publishment tinggal di sini new login sukses event contohnya di sini kita bikin new user lalu di sini oke kita belum tambahkan kontraktor ya old argumen kontraktor di sini tinggal masukkan kontraktornya username seperti ini Nah tinggal kita informasikan lslogins sukses di sini simple misalnya kalau retensi username nya equal Sorry Eko Eko fall season name.in misalnya Eko Equals password jadi misalnya kalau username dan passwordnya Eko maka kita anggap inisialnya loginnya sukses gitu ya jadi simple seperti ini aja jadi artinya disini kalau kita Panggil login lalu kita login ya sukses otomatis kita akan mengirim sebuah event dengan event namanya adalah login sukses event nanti semua listener yang membutuhkan atau mendengarkan event ini dia akan bereaksi terhadap event ini kita akan lihat kita akan coba nah caranya seperti ini contohnya jadi misalnya kita buat user servicenya kita ambil dari application contains kita coba login login login kita lihat hasilnya Oke kita akan buat unit esnya Disini saya akan buat nama unit esnya event listener tes Ayo kita akan buat tes configuration dulu kita buat configuration lalu di sini eh kita impor dulu ya saya imports Berarti yang user service lalu apalagi histologi nasionalnya ya login sukses tonernya Oke selesai kita coba private configurable applicationcontext kita set Abdul application konteksnya selanjutnya kita coba Bikin test event nya kita ambil get Bean user service Hai Oke kita coba ya justru service login misalnya Eko Eko karena ini sukses ya habis itu login Eco salah login misalnya Kurniawan salah kita coba kita lihat hasilnya Nah kita cek teman-teman disini nah di sini ada nih login sukses di Stoner Nah di sini ada kelihatan sukses login for user Eko karena memang cuma yang ini aja ya yang sukses yang ini dia otomatis loginnya gagal adanya tidak kita public data eventnya dan ini juga gagal nah keuntungannya apa sih kita menggunakan event listener karena kan bisa aja diusel service kita langsung Panggil contohnya disini misalnya kita bisa langsung inject frivat Misalnya ini saya kos dulu ya misalnya disini login listener gitu ya bisa aja ini saya set out toward biar diinjek nanti di sini daripada saya kirim event gitu ya saya langsung aja misalnya login sukses titik on application even she even nya disini ini kan sama aja seperti ini gitu ya Nah kalau dilihat mungkin iya kelihatannya Sama aja seperti ini tapi kalau suatu saat teman-teman mau menambahkan listener kalau disini teman-teman harus ngedit lagi teman-teman harus edit lagi classic servicenya tambahkan designer lagi tambahkan Israel lagi dan seterusnya kalau ada 1000 kebayang teman-teman harus manggil sebanyak 10 kali kalau teman-teman menggunakan konsep event listener ini tidak perlu berubah ini tidak perlu kita tambahkan jadi yang teman-teman perlu lakukan adalah kita akan buat seasonal lagi misalnya jadi di listener contohnya login again hanya sukses ternak jadi di sini kita cukup buat designer lagi piston ke event yang sama di sini misalnya sukses login again for user ini Nah selanjutnya kita akan coba di unit esnya di sini tinggal tambahkan di sini login sukses again kita lihat hasilnya saya coba login ranting maksudnya unit esnya Nah lihat dia dua kali restore yang login sukses sama login again sukses yang ini keluar ini juga keluar jadi kalau teman-teman mau enam menambahkan listener teman-teman bisa langsung tambahkan saja dieselnya jadi see you servicenya ini tidak perlu melakukan modifikasi lagi kelasnya Jadi cukup menggunakan event publisher public event nanti listener entah itu ada satu listener ada 2 3 dan seterusnya akan dikirim data eventnya bahkan kalaupun tidak ada listener nya Yaa Brarti ini dia tidak akan dikirim ke event listener jadi ini enaknya kalau teman-teman menggunakan konsep event listener dibandingkan teman-teman kirim atau Panggil 11 sih class nya sekarang kita bahas tentang event listener annotation selain menggunakan interface application listener Kita juga bisa menggunakan annotation untuk membuat listener nah ini lebih fleksibel dibandingkan menggunakan interface application designer karena kalau teman-teman menggunakan interface aplikasi Emis tenar maka satu buah bin cuma bisa mendengarkan satu buah event saja karena kan methodnya cuma satu ya Nah kalau teman-teman ingin saya satu bisa menegakkan beberapa event nah Ton bisa gunakan si annotation ini nama notesnya adalah event listener jadi detailnya disini oton perhatikan jadi dalam event listener teman-teman bisa Tentukan kelas apa eventnya yang mau kita dengarkan Hai jadi ini lumayan mudah ya dibanding teman-teman implement C application listener cute Seperti apa janda seperti ini jadi kita cukup buat sebuah beam.ng disini user listener teman-teman bikin sebuah method gunakan void karena kalau ada di ten seri pun akan dihiraukan ya Sorry tidak akan dipedulikan istilahnya nah lalu disini teman-teman tinggal on login sukses event contohnya nama methodnya bebas oh Disini yang penting ada event listener mau teman-teman tambahkan event listener lalu teman-teman disini Tentukan kelasnya apa tadi sini login sukses event otomatis nama kelas ini harus sama dengan nama parameternya jadi ini lebih sederhana dibandingkan teman-teman menggunakan application listener jadi ini tidak perlu mengubah si implementasi siklusnya Oke kita akan coba dibagian distal saya akan buat namanya user listener.ora Yes sebagai komponen asal 4G Halo Di sini kita akan buat nama method nyata Dion login sukses event public for its own login sukses event jadi disini login sukses event lalu tinggal tambahkan event listener ya classnya Misalnya login sukses event jadi cukup seperti ini aja Nah di sini isinya apa isinya misalnya kita akan samakan seperti ini nah seperti ini Oke sekarang kita akan coba di unit tes yang event listener tes disini kita akan Tambahkan lagi Eh user listener tadi ya flash seperti ini Oke sekarang kita coba jalankan kita lihat hasilnya hai oke di sini kota melihat ada tiga sekarang yang pertama adalah login sukses toner yang kedua adalah login again sukses Sistem nada yang ketiga adalah yang sudah kita buat menggunakan annotation yaitu user listener jadi penggunaan annotation event listener ini lebih mudah ya dibandingkan teman-teman Misalnya menggunakan implementasi dari application listener jadi ada 2 cara cara yang pertama atau mantan bisa gunakan interface application listener atau cara yang kedua tinggal gunakan annotation at event listener keunggulannya apa keunggulannya adalah teman-teman bisa buat beberapa kali disini Contohnya seperti ini ya Jadi ini yang kedua dan ini yang ketiga misalnya seperti ini bahkan disini tipe eventnya bisa berbeda-beda nah hatinya dalam satu kelas semeton bisa bikin listener nya lebih dari satu Oke kita coba jalankan lagi kita lihat hasilnya itu harusnya yang even usernya keluar tiga kali ya Nah kita chekna nge-rap bisa dasarnya keluar 3 kali 1 2 dan 3 karena methodnya ada tiga untuk event listener nya oke pertanyaannya Bagaimana sih cara kerja seven nation annotation ini Jadi annotation event-event ini bekerjanya menggunakan bin pos processor sebenarnya Jadi acaranya si application ini ya jadi sih spring itu dia akan melakukan registrasi sebuah bin baru ya dengan cara dia mendeteksi Apakah ada di dalam bin tersebut ada method yang ada annotation event listener nya kalau ada dia akan registrasikan jadi di event listener method processor dia mendeteksi kalau ada band yang memiliki method dengan annotation event listener kalau misalnya ada maka secara otomatis dia akan membuat distoner baru ya lalu meregistrasikan nya ke applicationcontext itik at application listener Saida methodnya OTG lihat Detailnya ada di sini dokumentasinya event listener method processor jadi ini bukan Magic Sebenarnya ya tapi memang ada pos prosesornya kalau untuk lihat detailnya kita coba lihat event listener method processor event listener method processor nah ini Jadi dia akan mendeteksi Apakah ada yang sebuah bin ya namanya anu ada annotation event listener nya Nah di sini kalau ada event listener nya misalnya ya editex Apakah Jalan bin ini ada event listener nya kalau ada methodnya ini nanti akan di registrasi kan Nah ini cara registrasinya pemuaian Kompleks ya jadi dia bikin application istana dulu apa itu ke dalam application konteksnya dia menambahkan si application list tonernya Jadi sebenarnya tidak ada yang magic ya semuanya dilakukan secara otomatis dan ada Halo Sekarang kita akan bahas tentang spring-boot application sebelumnya kita selalu membuat application contest secara manual dan kita belum pernah menggunakan fitur springbed yang membuat application contest secara otomatis nah ini kenapa saya bahas yaitu sengaja agar teman-teman tidak kaget nanti ketika menggunakan spring-boot jadi Pada saat kita menggunakan aplikasi spring-boot kita akan mengganti at configuration utamanya menjadi spring-boot application and optionnya nah sebenarnya teman-teman enggak usah kaget isi dari spring-boot application sebenarnya adalah gabungan dari at configuration komponen Scan dan masih banyak yang lainnya ya nanti kita akan bahas secara bertahap ini teman-teman nanti ketika membuat konfigurasinya teman-teman bisa ganti menggunakan annotation Advanced application detailnya disini annotation nya ini adalah spring-boot application jadi ini adalah annotation nya oke jadi contohnya kita akan buat sebuah application ya namanya Fu application lalu kita tambahkan at spring-boot application kalau kita buka kode spring-boot application cotton perhatikan springbed aplikasi itu sebabnya gabungan di sini ada spring boot configuration ada enable auto configuration ada komponen scan jadi Kenapa kok ketawa kerja kita menggunakan speed boat application kita tidak perlu menambahkan komponen scan misalnya karena sudah ada otomatis komponen Scan ya di sini Oh di sini ada spring boot configuration isinya juga ada configuration nya jadi makanya tidak perlu manual lagi jadi ini kayak Gabungan beberapa hal digabung menjadi satu dibuat annotation baru namanya springboard application maka dari itu kita tidak perlu membuat lagi Oke kita akan coba contohnya kita akan bikin namanya Fu application Oke kita akan buat ya kita akan membuat sebuah PKS baru namanya nah adalah application disini kita akan buat namanya Who apply kation Oke selesai halo di sini kita akan buat Ed spotting boat application Jadi bukan lagi at configuration tapi pakainya at spring-boot application kalau disini kita bisa bikin seperti biasa karena dia adalah configuration kita bisa bikin bin disini Katanya kita bikin full ya jadi kita bisa bikin seperti ini nah selain springbed application untuk membuat application konteksnya kita tidak perlu lagi membuatnya secara manual kita bisa menggunakan sebuah kelas namanya spring application secara otomatis spring application akan membuat application contest dan melakukan hal-hal yang dibutuhkan secara otomatis jadi tidak perlu kita lakukan secara manual nah kelasnya teman-teman kalau pengen lihat di sini ada spring aplikasi Hai jadi kelasnya spring application cara pembuatannya tonton bisa gunakan spring application titik keren misalnya atau teman-teman saya gunakan new spring application dan yang lain-lain jadi ada banyak caranya Oke kita akan coba Jadi disini teman-temannya bikin main Clash haloo teman-teman tinggal spring application titik keren audisi ini plus nya yang mana Oh di sini argumen dari sieh main classnya ya Dari sini kita kirim ke sini nanti otomatis dia ditanya adalah application konteks tonton bisa mulai ambil contohnya konteks titik getwin itu bisa Oke jadi Disini saya akan buat main method jadi di sini tinggal kita gunakan spring application titik Run nama kelasnya yang aplikasinya apa Fuwa application titik class lalu disini argumennya kita ambil ya argumen dari semen ini method Ayo kita simpan dia sebagai applicationcontext dia itu adalah configurable applicationcontext nah disini teman teman bisa ambil applicationcontext itik jetbean contohnya Fu titik class seperti ini kita akan print-out sih punya sudah coba raning naasnya disini keluar yang Bin funya jadi seperti ini kalau teman-teman menggunakan spring-boot ya jadi tidak pula gigi membuat manual menggunakan new application konteksnya apa ya cukup gunakan spring application titik keren Oke pertanyaannya Bagaimana kalau teman-teman mau membuat unit esnya Nah untuk membuat Ini tasnya pun sudah ada secara otomatis jadi untuk membuat unit test di spring boot kita bisa menggunakan annotation namanya adalah spring-boot tes Lalu kita class applications pinggulnya yang mana kita di sini your configuration flash sebelumnya mungkin kita bisa pakai yang Fu application.com Nah selanjutnya kita tidak perlu lagi mengambil bin secara manual lagi menggunakan applicationcontext kita bisa menggunakan Dependency injection secara langsung ya di dalam unit esnya menggunakan auto add ya di ini sangat menarik kalau teman-teman menggunakan si spring-boot esnya Oke kita lihat di sini ini adalah annotation spring-boot pasnya jadi gunakan spring-boot tes lagi teman-teman nggak perlu bikin manual seperti yang sebelumnya Oke kita akan coba Jadi disini teman-teman bisa gunakan spring-boot tes di sini kelasnya misalnya Fu application lalu sebelumnya akan untuk dapetin punya kita bisa menggunakan application contest ya get binful seperti itu Nah ini tidak perlu lagi teman-teman cukup tambahkan sebuah atribut disini bisanya Fu lalu tambahkan annotation atau toward nanti otomatis unit test ini akan diinjak oleh sih springboard application konteksnya Edi ini sangat menarik sekali ya teman-teman gak perlu manual 11 lagi melakukan get bin Ok Disini saya akan buat contohnya buat limites namanya adalah Fu application test key disini cukup kita gunakan Ed spring-boot es lalu kita pakai kelasnya adalah Fu application class seperti ini Oke ini di sini kita nggak perlu lagi bikin applicationcontext jetbean ya karena disini kita tidak bikin aplikasi mata secara manual jadi teman-teman bisa langsung full contohnya saya sarankan tidak menggunakan private Karena kan dia perlu diinjek ya jadi saya gunakan disini bukan private agar tidak perlu diinjaknya menggunakan Reflection diset aksesibel nya menjadi truk jadi sini saya akan gunakan autoart langsung seperti ini oke di sini kita buat khasnya jadi tes spring-boot contohnya ya kita tinggal cek misalnya search assertions titik a short note 0c punya Oke selesai kita coba raning kita lihat hasilnya nah sukses Hatinya sudah berhasil jadi seperti ini ya Mulai sekarang teman-teman kalau mau bikin springbed application jadi kita bikin pakai spring application nya lalu disini juga untuk tesnya menggunakan spring-boot tes Jadi kenapa diawal saya ajarkan manual biar teman-teman tahu gimana cara kerjanya Jadi jangan sampai teman-teman langsung pakai springboard tanpa tahu bagaimana cara kerja sekring Sekarang kita akan bahas tentang startup failed salah satu yang menarik di spring boot adalah springbed memiliki fitur yang namanya Failure analysis er jadi file rasanya digunakan untuk melakukan analisa ketika terjadi error pada proses startup yang menyebabkan aplikasinya tidak mau berjalan misalnya nah spring sendiri sudah menyediakan banyak sekali kelas yang sementasi Failure analyses er yang bisa kita gunakan y untuk mempermudah kita menganalisa kesalahan yang terjadi ketika proses Tara Eh temen temen bisa lihat disini kontraknya ada Failure analysis er jadi di sini ada banyak implementasinya abstrak Veloz dan yang lain-lain jadi temen-temen bisa gunakan seanlai seri ini Oke sekarang kita akan coba ya tambahkan di sini misalnya di dalam yang fabrication sebelumnya sudah kita buat ya tambahkan parameter disini bar hatinya dia butuh dependensi bar tapi di sini kita tidak set barnya artinya partnya ketika dijalankan harusnya akan terjadi error ya Oke kita akan coba lihat jadi di bagian aplikasi Vivo application disini kita akan tambahkan parameter bar hatinya disini harus dicari dulu barnya Oke kita akan coba running menggunakan aplikasi encounters manual dan menggunakan speedboat Kita lihat nanti bedanya nah ini kalau teman-teman training menggunakan tanpa springbed Maksudnya ya jadi bikin application manual habisin konteks manual kita akan coba jadi di sini kita akan bikin unit esnya misalnya manual ABG manual wi.fi Ngebut saya tes tes Jadi kita akan coba buat applicationcontext New sini kita ambil Fu application lalu Disini Hai register shutdown hop Nah kita akan Tes tesnya kosongkan saja karena Pasti error ya Ate socket T10 deh kita ambil application konteks jetbean Fu classpath seperti ini kita cek kita lihat error nya seperti apa Nah errornya simple seperti ini aja ini sebenarnya Cuma stres biasa percaya disini errornya seperti ini Nah sekarang kita lihat Apa bedanya errornya dahlok kita running menggunakan springboard jadi ini kalau kita manual sekarang lihat yang publication tes kita akan coba raningsih unit esnya yang ini Nah kita perhatikan perbedaannya perbedaannya disini dia ada analyzer nya disini menggunakan logging filler analysis report Disini di bilang kalau application velg start jadi dia gagal untuk jalan Kenapa gagalnya gagalnya disini kasih tahu parameter knoll yang ada di Fu application dia butuh parameternya bar ya dan ternyata dia tidak ketemu tidak ada Nah di sini kasih tahu actionnya harus diapain nih disini dibilang Consider defining a band of bar in your country question Jadi silakan ditambahkan ya bin dengan tipe bar dikonfigurasi kita jadi ada dikasih tahu errornya deskripsinya apa dan action yang bisa kita lakukan kira-kira apa jadi lumayan menarik kalau kita menggunakan sih spring-boot Ya jadi kasih tahu errornya apa dan cara penanganannya Seperti apa jadi jangan lagi teman-teman bingung ya sekarang kalo pake springboard karena sudah dikasih tahu nih jadi kebangetan banget kalau saya teman-teman masih bertanya padahal disini sudah di kasih tahu solusinya Seperti apa ya di sini ya detailnya kau teman-teman pengen lihat errornya ya di sini lihat hampir sama seperti yang sebelumnya ya tapi disini lebih dikasih tahu actionnya kira-kira perlu ngapain jadi ini adalah Failure analysis Or jadi ini bedanya kau teman-teman bikin manual dengan menggunakan springboard kalau menggunakan spring-boot teman-teman tidak perlu lagi secara membaca ya file-nya Secara ini aspal kesulitan misalnya membaca foldernya karena sudah diberitahu oleh sih spring bednya Sekarang kita akan bahas tentang banner springbed itu memiliki fitur yang namanya banner Dimana saat aplikasi spring-boot pejalan kita bisa menampilkan tulisan banner di kontrolnya secara default fitur banner ini akan menyala dan akan mencari tulisan banner di dalam kelas pautnya dengan nama file-nya adalah banner.com step kalau misalnya ada file tersebut maka secara otomatis akan diload sebagai tool sebenernya tapi kalau tidak ada maka dia akan menggunakan default bawaan dari banner nya springboard cotton pengen coba membuat banner tonton bisa buka halaman ini ya Ini salah satu website yang bisa digunakan untuk membuat banner dari tulisan oke contohnya yang sebelumnya Kalau kita buka contohnya yang publication Tesco temen-temen traning ini di sini ada banner nya Nah yang ini adalah banner nya Nah ini banner nya banner nya disini adalah spring spring kalau di sini ada spring-boot versi berapa Oke jadi ini default benernya keluarnya seperti ini nah teman-teman kalau mau teman-teman bisa buat nama file-nya adalah banner dotexe masukkan kedalam risoles ya lalu teman-teman bisa contohnya bikin banner dotexe seperti ini tinggal di paste tulisannya di sini katanya programmer zaman now nanti ketika teman-teman traning itu hasilnya banner berubah menjadi seperti ini heh Oke kita akan coba Jadi saya akan Buka website ini biar lebih muda saya akan buat contohnya banner nya programmer zaman now kita generated nah keluar seperti ini ya programmer zaman now seakan copyface halo kita masuk ke sini kita masuk ke bagian risoles ya jadi masuk ke bagian resource Nah di sini kita buat sebuah file namanya adalah banner dotx teh lalu tinggal kita pasti disini jadi ini banner.com scnya Oke selanjutnya kita coba yang supplication tesnya kita coba Rani ngulang Kita lihat nanti otomatis banner nya akan berubah menjadi banner yang sudah kita masukkan Nah Lihat programmer zaman now Jadi ini fitur yang sebenarnya tidak ada hubungan dengan aplikasi kita tapi lumayan menarik ya jadi kita bisa menampilkan banner ketika aplikasi kita menyala sekarang kita bahas tentang customising spring application kadang ada kalanya kita ingin melakukan pengaturan siswi application yang kita buat sebelum soalnya application konteksnya itu dibuat nah teman-teman kalau mau semuanya teman-teman tidak perlu menggunakan spring application titran karena bisa bikin new spring application sebenarnya jadi bisa langsung membuat si spring application nya kau teman-teman lihat di dalam spring application itu sebabnya banyak sekali method yang bisa kita gunakan untuk merubah istilahnya behavior dari si spring application nya jadi ada banyak banget ya teman-teman mau menambah listener mau nambah inisial laser atau misalnya menambahkan banner dan sebagainya Itu bisa disini banyak sekali methodnya ya atau misalnya kita juga bisa menggunakan Ayo kita tidak harus Ya maksudnya menggunakan spring application Kita juga bisa menggunakan bantuan yang lainnya nah namanya adalah spring application Builder ini lebih ke mirip ke Builder patennya untuk sih spring application jadi ada di sini namanya adalah spring application Builder jadi caranya bikin new spring application Builder konfliknya mana dan apa-apa ada sebagainya setelah selesai baru teman-teman pilih Run seperti itu jadi lumayan simple jadinya cara penggunaannya juga mirip Cuma bedanya dia pakai Builder paten Oke contohnya contohnya misalnya kita mau bikin specification secara manual jadi Tidak mau menggunakan spring application titik keren tetap bisa lakukan seperti ini jadi kita bikin application ya news pengaplikasian contohnya disini publication contohnya houtten disini misalnya bikin banner modnya misalnya kita off kan tadi dia tidak akan muncul misalnya banner nya lalu setelah selesai teman-teman configure disini temen-temen lakukan application titik keren Anda otomatis dia akan menjadi sih application konteks kita akan coba Jadi kita lihat di yang sebelumnya yang publication disini ini saya akan Komen dulu ya biar tidak hilang Nah kita akan buat lagi di sini main jadi kita bisa bikin spring application = newsprint application disini kita tambahkan si Fu application nya seperti ini Lalu teman-teman lakukan Apapun itu silakan otomatis nanti setelah itu tinggal application titik ransi argumennya apa Ini hasilnya menjadi application konteks dan otomatis disini teman-teman bisa gunakan applicationcontext misalnya get bin oedot plus misalnya Hai ada di sini application konteksnya kan banyak ya teman-teman lihat ada set banner aset banner mods addlistener edition.rar banyak banget yang bisa kita ubah kalau teman-teman mau sebenarnya Oke contohnya kita set banner modnya kita ganti menjadi of misalnya jadi otomatis tidak ada banner yang keluar ketika kita Rani Coba kita running sekarang Nah Lihat tidak ada banner sama sekali Kalau teman-teman Rani menggunakan banner default-nya benernya muncul Nah bedanya muncul ya di sini program bersama enam jadi kalau teman-teman mau melakukan customizing misalnya Sis pengaplikasiannya silahkan buat spring aplikasinya secara manual lalu tinggal diubah apapun yang teman-teman mau bahkan bisa baca dokumentasinya apa aja yang bisa disetting lalu tinggal kalau udah selesai pakai application titik terang uh Halo Sekarang kita akan bahas tentang spring application event sebelumnya kita sudah belajar yang namanya event listener nah di dalam selimut juga terdapat banyak sekali event yang dikirim ketika aplikasi spring bednya itu berjalan Jadi ini cuma ada di spring bed ya Jadi kalau teman-teman tidak menggunakan spring-boot alias hanya menggunakan spring Framework ini tidak ada fiturnya kalau misalnya kita ingin kita juga bisa membuat listener untuk menerima eventnya khusus untuk event yang dari springboard yaitu turunan dari spring application event jadi event yaitu turunan dari si spring application event and tapi cotton perhatikan dia itu PRnya tetap application event jadi sama seperti di spring Framework ini contoh sap kelasnya Ya implementasinya lumayan ada banyak Nanti kita bahas Oke jadi ini ada beberapa event yang bagian dari spring application springbed springbed application event ini yang pertama ada applications that thing even ini dikirim ketika aplikasinya dimulai jadi ketika aplikasi cute dimulai ini dikirim Lalu ada applicationcontext inisial S event eh dikirim ketika application konteksnya sudah diinisialisasi Nah ada juga applications that even ini dikirim ketik aplikasinya sudah berjalan lalu di sini ada application velg event ini dikirim ketika aplikasinya gagal berjalan nah perlu diperhatikan agar sedikit berbeda cara penggunaan springbed application event dengan event listener yang sebelumnya kita bahas Kenapa karena application event ini ada beberapa bagian yang di Trigger bahkan sebelum application konteksnya jalan gitu ya contohnya application starting Ivan itu di Trigger sebelum application konteksnya dibuat jadi disini teman-teman gak bisa lebih sebagai bin Kenapa karena memang kalau teman-teman lagi hanya sebagai bin sudah terbuka sudah keburu ini ya dibuat seefisien konteksnya Sedangkan ini mungkin di Trigger sebelum application konteksnya dibuat ya contohnya applications that thing even jadi untuk kesannya agak sedikit berbeda beberapa event di spring bed application Ivan itu di Trigger bahkan sebelum spring membuat application konteksnya Oleh karena itu kalau kita buat menggunakan biasa contohnya bisa saja beberapa restoran itu tidak akan dipanggil karena bandnya sendiri itu belum dibuat ya jadi agar lebih aman kita bisa menambahkan istananya menggunakan si spring application kelasnya Seperti apa contohnya Oke kita akan buat contohnya F starting listener jadi kita ingin mendengarkan ketika ada event applications that thing even misalnya Oke Disini di bagian listener disini kita buat F starting listener nah disini kita akan implement application designer jadi disini implement application listener lalu di sini kita pakai yang bawaan spring-boot namanya application starting Hai applications that thing even Oke disini saya tambahkan slf4j Saya tidak pulsed sebagai komponen karena memang ini akan dieksekusi bahkan sebelum bandnya dibuat itu ya jadi saya akan tambahkan Lock Application starting selesai lantas kalau tidak menggunakan bin ya bagaimana cara registrasinya cara kerjanya kita menggunakan sih spring application Contohnya seperti ini jadi kita buat spring application nya kalau kita gunakan application titik setlist toner silahkan tambahkan satu atau lebih dari satu ya untuk listener nya kita akan coba Jadi di bagian yang sebelumnya yang Fu application kita akan coba update jadi Disini saya akan tambahkan application titik set listener Kita coba lipstick of new ep starting listener misalnya Deni jadi kita tambahkan dieselnya disini menggunakan set listener Kita coba laning nah kita lihat di sini Nah di sini ada f starting listener jadi disini application nya starting jadi teman-teman kalau mau menambahkan silahkan gunakan sih spring application diservis channel silahkan tambahkan satu atau lebih dari satu jadi ini spring-boot ya springbed application designer jadi agak sedikit berbeda untuk menambahkan designer nya dengan event listener Biasanya karena kalau event listener biasa itu harus aplikasi istrinya sudah jalan dulu tapi kalian springwood beberapa event listener memang di Trigger bahkan sebelum sih affection konteksnya di buah sekarang kita bahas tentang command-line Tanner saat kita membuat aplikasi kadang kita butuh argumen yang di dan pada main methodnya spring application itu bisa mengirim data argumen yang ada di methodnya secara otomatis kebyn yang kita buah Nah kita hanya butuh membuat sebuah bin dengan implement command Line Runner comment layanan ini Nanti secara otomatis akan dijalankan ketika spring application berjalan atau Anda bisa lihat disini detailnya command-line trainer disini jadi ada sebuah method namanya adalah Ran disini adalah argumen dari Sip man application nya atau main metalnya nanti main meternya kalau ada argumen dia akan dikirimkan ke sini secara otomatis Oke contohnya kita akan bikin sebuah springbed application baru namanya adalah comment application jadi komen application ini kita akan buat di dalamnya sebuah komponen bin namanya adalah lock command Line Runner Oke teman-teman perlu Perhatikan ya di sini saat teman-teman bikin application karena kan kalau teman-teman perhatikan disini publication contohnya itu kan springbed application itu didalamnya ada yang namanya komponen scan nah disini cotton perhatikan komponen Scan ya dia tidak menyebutkan best packaging nya tadi voltnya komponen scan itu kalau tidak disebutkan bespek esnya dia akan melakukan scanning PKC dimana lokasinya dia digunakan jadi dia digunakan di spring bed application developer location jadi otomatis dia akan scan semua yang ada di dalam sini spring for application disini akan di scan makanya di sini Kenapa saya bikin PKS baru namanya application Karena kalau saya tempatkan di sini programmer zaman now spring cor maka semua Bean yang ada di sini di configuration disini semuanya semuanya akan di scan dan kita tidak mau seperti itu misalnya nah jadi sekarang juga kita akan buat ya sebuah PKS baru namanya The Comment HPP misalnya nah disini Kenapa saya tidak gabungkan disini karena kalau saya gabungkan di sini nanti Fu aplikasinya juga bakal di scan sama sih comment application ya karena dia di dalam PC yang sama dan saya tidak mau melakukan itu misalnya jadi Disini saya akan Buat koman application oke di sini spring-boot application artinya dia akan menscan semua komponen yang ada dalam SI comment Epin Iya karena dia di dalam PKS ini nih vcc adalah comment f oke di sini biar lebih muda teman-teman bisa bikin inner class ya contohnya seperti ini ada memang bisa bikin inner class atau bikin kelas terpisah juga bisa saya di sini buat dinner tas biar mempermudah aja biar kelihatan di sini hotel mau silakan teman-teman bisa buat terpisah ya kadang kita akan buat terpisah disini disini namanya adalah tadi lo komen lantana slop command-line ranah nah disini saya set komponen disini nah ini otomatis akan di scan oleh si comment application ini kenapa karena didalam PKS yang sama oke di sini kita akan tambahkan implement command Line Runner halo kita tinggal implementasikan sih metrotren ini jadi metode ini nanti akan secara otomatis dieksekusi ketika aplikasi springnya berjalan dan parameter ini akan dikirim dari si main methodnya kayak disini saya coba tambahkan slf 4G kita coba lock info misalnya Elok command Line Runner disini kita tambahkan sih argumennya apa Nah di sini kita pakai array to string ya biar nanti dia dikonversi menjadi string Parai to string si argumennya Oke selesai Sekarang kita akan coba buat sih saya tidak buat main metodenya disini kita akan langsung coba di komen application dari sini main kita akan langsung saja ya spring application titik Run command application klastik arguments nyapa di sini Oke sekarang kita coba raning Oke kalau teman-teman perhatikan ketika diarani ya Nah Kadis ini akan keluar lock commandlinerunner nah disini kebetulan karena kita running tidak menggunakan argumen jadi disini keluarnya disini string kosong ya di bagian lo commandlinerunner nya ini keluarnya string kosong Oke kalau teman-teman ingin ubah misalnya jadi kita bisa hub ah kita modifikasi figuration nya contohnya disini saya coba perbesar dulu disini environment program argumennya ya Disini saya akan tambahkan sebenarnya Eko Kurniawan khannedy seperti ini saya Oke kita coba running Nah sekarang cotton perhatikan lo komen lancarnya dia keluar nih argumennya Eko Kurniawan khannedy jadi seperti ini ya jadi teman-teman Tinggal ubah saja konfigurasinya program argumennya silahkan tambahkan apapun yang teman-teman mau kau teman-teman mau stringnya misalnya ada lebih dari satu kota tinggal pakai petik dua handphonenya misalnya programmer zaman now Oke kita coba Ran hasilnya Oh ya string yang pertama Eko sering yang kedua Kurniawan ketiga kanedi dan disini programmer zaman now Jadi ini adalah fitur komen Line Runner jadi kalau teman-teman mau menambahkan data argumen ya dari Demian methodnya contoh bisa gunakan comment lantai nanti otomatis metode ini akan dieksekusi langsung ketika aplikasinya berjalan menggunakan parameter yang dari si Man metode Sekarang kita akan bahas tentang application Runner selain command Line Runner springbed juga menyediakan fitur yang namanya application Runner na penggunaan optional sepertinya sebenarnya sama saja ya seperti comment nanar hanya saja yang membedakan adalah obyeknya obyeknya itu kalau yang komen lantaran er itu kan jadinya Arai argumen ya string Nah kalau misalnya application render itu dia di rap dalam sebuah objek namanya adalah Ken argumen yang menarik dari application arguments adalah Dia memiliki fitur untuk melakukan parsing dari command-line argument nya jadi disini tonton bisa lihat ya application argumen Oke application argumen yang nanti akan dikirim Jadi dia bisa digunakan untuk melakukan parsing jadi contohnya teman-teman kalau mau mengecek Apakah dia mendapat memiliki option tertentu mendapatkan option value dan yang lain-lain nanti kita coba ya Oke selanjutnya teman-teman cukup implementasikan sebuah bin dengan implementasi application Runner jadi disini perbedaannya hanya diam methodnya metodenya disini parameternya adalah application argumen bukan lagi string argument Oke sekarang kita akan coba misalnya kita buat springbed application baru namanya adalah Runner application lalu kita buat sebuah simpel Runner dia implement application Runner lalu disini misalnya di dalam Hai argumennya kita mau misalnya mendapatkan parameter yang profile misalnya yang obsennya profile nah ketika teman-teman get option value nya disini profile artinya nanti ketika kita mengirim datanya Ton bisa tambahkan step strip profile sama dengan data profile esnya apa seperti itu ya Oke kita akan coba Jadi Disini saya akan buat pake yang baru ya karena springboard seperti yang di awal saya bilang dia akan scanning 1 PKG jadi kita buat PKS terpisah di sini namanya tadi namanya apa ya Runner Runner f oke di sini kita buat Runner application kita buat spring-boot application disini halo kita buat main metalnya spring application titik rantai Runner application class selesai Sekarang di sini Kita buat yang Hai simple Runner nya oke untuk simpel ranselnya kita implement application Runner lalu di sini kita jadikan komponen dan disini kita tambahkan slf4j misalnya lalu jangan lupa juga nanti teman-teman yang pernah ikan siap location argumennya jadi simpel ya di sini kita cuma ambil profile nya dari get option velius profile lalu kita loksi profile nya jadi argumen get option velius profile semisalnya profile Nadia menjadi files ya berupa list karena bisa lebih gede satu lalu kita lock info misalnya profile adalah profile seperti ini Oke selesai Sekarang kita akan coba raning simpel ranselnya kitaran Hai Nah kalau kita ranting disini harusnya dia keluarnya masih kosong ya Ya di sini konon perhatikan propertiesnya dianul artinya Apa artinya kita belum menambahkan data profile di argumennya Nah kita tinggal edit saja modifier and configuration nya Nah program argumennya teman-teman cukup tambahkan minus minus profile sama dengan misalnya Eko seperti ini Oke kita set Oke kita coba raning lagi Oke sebenarnya kita lupa ya di sini spring application.run harusnya design dikirim ya argumennya tadi kelupaan tidak dikirim Oke kita coba ranting lagi naasnya lihat profile tsnya keluar Eko karena disini kita kirim minus minus profile sama dengan Eko tentang lebih dari satu tinggal tambahkan spasi minus minus profile contohnya = aku masukkan lagi misalnya Kurniawan khannedy seperti ini nanti akan ada dua variabel atau yang pertama Eko yang kedua adalah Kurniawan khannedy kita coba lagi kita coba Ran hasilnya profile Saya adalah Eko dan Kurniawan khannedy jadi teman-teman ini lebih bagus ya kalau menggunakan si application layer dibanding command-line Thunder jadi kalau comment Lan Runner teman-teman akan dapetin bulet-bulet datanya kalau misalnya menggunakan aplikasi online er Itu otomatis di parsing oleh sih application argumen ini itu teman-teman kalau mau ambil semua value yang obsennya misalnya profile tinggal tambahkan minus minus profile = value-nya apa Jadi ini adalah application Runner Sekarang kita akan bahas tentang spring-boot plugin saat kita membuat Project spring-boot secara otomatis terdapat yang namanya springwood login.di Project main kita Hai lagi nih bisa kita gunakan untuk mempermudah saat kita menjalankan aplikasi spring kita kita bisa gunakan perintah yang namanya mefan spring stripboard titik dua orang ini untuk menjalankan aplikasi spring kita untuk menjalankan aplikasi spring-boot kita kita harus pastikan bahwa hanya ada satu main Clash karena dia nanti akan mencari main kelasnya otomatis Dira Ning kalau ada lebih dari satu maka si springbed paginya akan komplain Oke jadi Sebelumnya kita akan coba buka ya nah saya akan Buka terminal disini cotton perhatikan ada banyak ya main application nya jadi kalau teman-teman coba gunakan perintah mefen spring-boot Ran Jadi nanti dia harusnya akan terjadi error jadi kita tunggu nah disini error error nya apa errornya disini harusnya nah and able to find a single Man class jadi ada banyak main kelasnya ada belajar spring dasar section ada runner application ada juga comment application ada juga V application jadi ada banyak nih jadi yang perlu teman-teman luka adalah teman-teman harus pastikan dulu cuma ada ini cuma ada satu main kelasnya Oke jadi di sini kita akan Hapus dulu yang tidak perlu teh disini belajar spring-boot dasar ini saya hapus lalu yang application full contohnya ini saya akan komen misalnya saya comment lalu Runner replication ini saya akan pakai sebagai yang kelas utamanya misalnya jadi Yang komen fb-nya ini saya akan komen juga yang main khasnya main method yang masih saya nah selesai kita buka lagi Terminal kita coba lagi ya hai oke masih ada ya Eh belajar spring dasar dan juga ranar oke sepertinya yang belajar spring dasarnya belum selesai kehapus ya kita lakukan mefan clean dulu deh oke selesai kita coba spring-boot Trans sekarang Nah dia otomatis menjalankan Runner application dan dia keluar jadi teman-teman kalau mau menjalankan aplikasinya simple banget ya menggunakan springbed lagi nih kotoran pengen tahu detailnya springbed pagi teman-teman bisa buka di pom.xml di pom.xml Disini di bagian bawahnya ada nah plugin di sini ada spring-boot-maven-plugin Jadi ini yang digunakan untuk mendeteksi mana Main khasnya dan temani sediakan menjalankan main khasnya tapi ingat ya menjalankan spring-boot Man sorry mfn spring-boot trend itu cuma untuk mode development Jadi kalau tidak tahu teman-teman teman-teman lokal seperti itu kalau di production itu enggak seperti itu kau diproduksi oleh teman-teman harus bikin distribution file-nya Seperti apa Oke kita lihat disini jadi springbed lagi juga bisa kita gunakan untuk menyediakan cara membuat distribution file aplikasi kita jadi flat gini nanti dia akan mendeteksi main classic Project kita lalu akan membandel aplikasi kita beserta semua dependensi yang dibutuhkan dalam satu file Jar atau Istilahnya patjar ya Jadi 1jar yang gemuk semua dependensi dimasukkan ke situ nah pastikan hanya terdapat satu main Clash karena jika lebih dari satu kelas maka spring bednya akan komplain Ya seperti yang sebelumnya sudah kita praktekkan Nah untuk membuat bandel distribution file-nya teman-teman cukup gunakan me Fanpage Jadi cukup gunakan fanspage otomatis semuanya akan dibanderol dalam satu file ya kita akan coba Hai Jadi nanti dia akan masuk ke dalam target ya di sini ya nanti di sini ada Jar file-nya Oke kita akan coba saya Buka terminal dulu jadi teman-teman bisa gunakan mefen PKG Nah kalau main PKS otomatis dia akan merancang unit esnya dulu nah ini kita pastikan aja genetis yang kadang error ya nanti kalau Allah kita skip aja efeknya Santi dia akan merinding semua unit tes oke sepertinya ada yang error unit esnya belajar spring-boot dasar application pas Oke Di sini kayaknya harusnya saya hapus ya karena ini sudah tidak kita gunakan belajar spring-boot dasarnya ini saya hapus dulu oke selesai kita buka lagi terminalnya kita coba mefan clean dulu habis itu PKG saya tunggu lagi sampai semua unit esnya selesai dieksekusi setelah selesai dieksekusi nanti dia akan melakukan PKG nah selesai dia akan melakukan Vegas dan disini dia ada pemberitahuan building Jar ada di folder target namanya adalah belajar spring dasar versinya berapa Nah jadi teman-teman bisa lihat di sini nah Disini di target itu sudah ada sebuah 1jar besar jadi disini ini adalah jalurnya Oke untuk selanjutnya teman-teman kalau morning teman-teman bisa langsung Java krisakelir dulu Java minjar target ya lalu di sini kita masukkan si file-nya belajar spring dasar enter nah keluar deh seperti ini disini profile cenul ya karena kita tidak memasukkan profile Oke saya akan masukkan profile contohnya jadi minus minus profile sama dengan Eko misalnya minus minus profile = Kennedy center nah lihat di sini ini profile seekor dan Kennedy jadi seperti ini cara nanti teman-teman membandel aplikasi springnya cukup gunakan nelpon pake nanti Jar file-nya Itu tinggal teman-teman deploit ke server misalnya kalau aplikasinya dijalankan di server jadi ini adalah springboard vagina jadi sangat mudah ya ketika teman-teman menggunakan springboard karena semuanya sudah diatur secara otomatis jadi kita tinggal fokus membuat aplikasi saja selesai sudah ya materi tentang spring-boot atau spring Framework dasar Jadi sekarang teman-teman sudah mulai mengerti tentang dasar-dasar spring Framework dan juga spring bednya nextnya semuanya masih panjang ya materi atau roadmap untuk spring kira-kira next Materi apa yang akan kita pelajari OK kita akan coba bahas yang namanya spring konflik properties jadi yang namanya membuat aplikasi itu pasti kita banyak sekali berhubungan dengan konfigurasi ya nanti kita akan bahas tuntas di bagian spring konflik properties nice juga kita akan coba bahas tentang spring logging Jadi gimana cara loginnya supaya teman-teman sudah belajar di materi road map Java ya Ada Java logging tapi kita nantikan integrasikan dengan spring lalu kita akan belajar tentang spring validation dimana disini kita akan coba gimana cara integrasi bin validation menggunakan spring validation ada teman-teman juga akan belajar yang namanya konsep aspect oriented programming ya di dalam spring atau disingkat dari aov lalu teman-teman juga akan belajar tentang spring asyncronus ya Jadi gimana caranya kita menggunakan asyncronus programming seperti Java trade ya tapi menggunakan spring biar lebih mudah nanti kita juga akan coba bahas tentang spring data Ayah menggunakan Java persistence VII lalu kita akan belajar membuat web menggunakan spring mvc dan masih banyak sebenarnya materi spring nanti akan saking selalu berkembang Yadi roadmap ini Oke mungkin scan aja ya teman-teman untuk materi tentang telah spring dasarnya saya Arab ilmunya bermanfaat kau teman-teman ada kritik atau saran atau pertanyaan Silahkan di diskusikan di forum atau juga tanya di kolom komentar jangan lupa juga share ke teman-teman yang lain biar ilmunya juga mungkin bermanfaat kita ketemu lagi di kelas selanjutnya salam programmer jaman now Bye bye