Sai già cos’è Dependency Injection?
Minimum’ve mai sentito parlare di iniezione di dipendenza?
Cibo che cos’è?
Se non tutti o non uno dei mezzi si è alla scrittura giusta Injection
Iniezione di dipendenza o comunemente abbreviato come NELLA programmazione di fama mondiale dopo molti framework emergenti che implementa questo concetto. Uno dei e il più famoso è la primavera.,
NELL’ordine previsto di una classe non legata strettamente con l’altra classe in modo che la relazione tra le parti del codice sia liberamente (liberamente accoppiata).
Linguaggio interpretato facile NEI mezzi che forniamo/iniettare una classe in un’altra classe che è le sue dipendenze (ne hanno bisogno).
Possibile se si usano le parole che sampeyan su mumet sì yes
Ho anche lavorato inizialmente se si usano solo parole perché non mudheng cosa significa hehee
Se è così usiamo l’esempio di codifica sadja..,>
40
41
42
43
44
45
46
47
48
49
pacchetto modello;
public class Mahasiswa {
private String nim;
private String nome;
private int umur;
private String asalSekolah;
private String alamat;
public String getNim() {
ritorno nim;
}
public void setNim(String nim) {
questo.,notando che = notando;
}
stringa pubblica getNama () {
ritorno di combattimenti sanguinosi;
}
vuoto pubblico setNama(Stringa di combattimenti sanguinosi) {
questo.sanguinoso combattimento = sanguinoso combattimento;
}
public int getUmur() {
ritorno umur;
}
public void setUmur(int umur) {
questo.,age = age;
}
stringa pubblica getAsalSekolah () {
restituisce schoolname;
}
pubblico vuoto setAsalSekolah(String schoolname) {
questo.schoolname = schoolname;
}
public String getAlamat() {
indirizzo di ritorno;
}
public void setAlamat(String indirizzo) {
questo.,address = address;
}
}
|
Per eseguire operazioni di database dalla classe sopra, come il salvataggio dello studente, rimuovere, modificare e interrogare i dati, creiamo una classe che gestisce tali cose.
Creiamo una classe con il nome del MahasiswaDao
Prova a guardare la classe sopra.
a prima vista non c’è niente di sbagliato, giusto? 🙂
Se la nota in realtà era in realtà nulla di sbagliato, che c’è meno elegante.
Nota da parte del costruttore della classe sopra.,
Ci classe, questo aspetto richiede (dipendente) sulla connessione per eseguire varie operazioni di database.
uno sguardo alla parte I mette in evidenza
come ottenere una connessione questo è ciò che discuteremo il
Quindi, dove, non elegante?
Beh,
Sulla vera applicazione, naturalmente, non abbiamo solo uno studente tavolo non è vero?
ci sono ancora tavoli docenti, corsi, valore, utente, pianificazione, reparto, e altri possono essere fino a un sacco a seconda delle esigenze.
Bene.., puoi immaginare se in seguito ci sarà anche una classe con il nome di xxxDao other e ogni classe dao che ha un costruttore come sopra.
Runyamnya qui.
Se ad esempio la posizione del cambio server allora dobbiamo sostituirlo un 1 a 1 su ogni classe dao???
se ci sono centinaia di classi come???
per non parlare del test delle unità usando l’oggetto finto come???
sai già dove il meno elegante <
Per superare questo, usiamo l’iniezione di dipendenza.,
Mari kita refactor kelas MahasiswaDao sehingga costruttore come uno dei preferiti di ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
pacchetto dao;
import com.mysql.ccg.ccg2.opzionale.,MysqlDataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import model.Mahasiswa;
public class MahasiswaDao {
Connection connection;
public MahasiswaDao(Connection connection) throws SQLException{
this.,connection = connection;
}
|
Aggiungiamo un parametro sul costruttore in modo che la connessione possa essere data (in-injectkan) alla classe MahasiswaDao che ne ha bisogno.
IN questo Dao le classi non hanno bisogno di prendersi cura dell’inizializzazione dell’origine dati e della connessione del suo.
Allora chi fa l’inizializzazione? qualcuno può origin non è una classe Dao stessa.
Per esempio sadja inizializziamo su TestMahasiswaDao per esempio.
Lascia un commento