wstrzykiwanie zależności lub zwykle w skrócie, jak w znanym na całym świecie programowaniu po wielu nowych frameworkach implementujących tę koncepcję. Jednym z najbardziej znanych i znanych jest źródło.,W założonej kolejności klasa nie jest ściśle związana z inną klasą, tak że relacje między częściami kodu są luźno (luźno powiązane).Interpretowany język jest prosty w środkach, które udostępniamy / Wprowadzamy klasę do innej klasy, która jest jej zależnościami (potrzebuje).
pracowałem również natywnie, jeśli po prostu użyć słów, bo nie mudheng co to znaczy hehee
Jeśli tak, użyjmy przykładowego kodu saj..,>
publiczne nieważne setasalsekolah operatora (string schoolname) {
spróbuj spojrzeć na powyższą klasę.na pierwszy rzut oka nie ma w tym nic złego, prawda? Jeśli w notatce nie było nic złego, to jest mniej elegancka.Uwaga ze strony konstruktora klasy powyżej.,Jest to klasa, że widok wymaga (zależy) od połączenia do wykonywania różnych operacji na bazie danych.
spojrzenie na Część i podkreśla
Jak uzyskać połączenie to jest coś, o czym będziemy dyskutować
więc gdzie, nie elegancko?Cóż, w prawdziwym zastosowaniu, oczywiście, nie mamy tylko stół studenta, prawda?nadal istnieją tabele wykładowców, kursy, wartości, użytkownika, harmonogramy, dział i inne, które mogą być do wielu w zależności od potrzeb.
No.., możesz sobie wyobrazić, czy później będzie też Klasa o nazwie xxxDao other i każda klasa dao, która ma konstruktor jak wyżej.
Runiamnia tutaj.Jeśli na przykład Lokalizacja serwera ulegnie zmianie, powinniśmy zastąpić go 1 na 1 w każdej klasie dao?????nie wspominając o tym, że do testowania jednostkowego przy użyciu obiektu makiety jak???
już wiadomo, gdzie jest mniej elegancki 😀
aby temu zaradzić, używamy wstrzykiwania zależności.,
Marie wieloryba refaktoryzacja kelas MahasiswaDao sehingga menjadi seperti ini plik projektu w
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
pakiet Tao;
importuj com.DBMS MySQL.z JDBC.jdbc2.niekoniecznie.,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;
}
|
dodajemy parametr do konstruktora, aby połączenie mogło zostać określone przez (in-injectkan) klasę MahasiswaDao, która go potrzebuje.Więc kto robi inicjalizacji? czy ktoś może origin nie jest klasą Dao samą w sobie.
na przykład sadja inicjujemy na przykład TestMahasiswaDao.
Dodaj komentarz