Jak przekazac auto-generowany objekt do metody?

0

Witam, mam pytanie. W klasie mam pare obiektow spietych przez spring, typu:

public interface CostamDao {
	public void jakasMetoda(int jakisParametr);
}

Nie mam implementacji tego interfejsu, obiekt jest automatycznie generowany przez iBatis.

W kolejnej klasie:

public class MojaKlasa {

	@Autowired
	private CostamDao mojDao;
	
	private int mojaMetoda(int parametr) {
		
		// tutaj uzywam mojDao
	}
}

Teraz chce uzyc kolejnych obiektow jak mojDao, kazdy zdefiniowany przez swoj interfejs. W tej chwili mojaMetoda jest scisle zwiazana z obiektem mojDao. Funkcjonalnosc kolejnych metod i ich objektow DAO bylaby podobna, wiec musialbym zduplikowac kod z mojaMetoda. Zamiast tego wolalbym napisac mniej wiecej niezalezna metoda ktora wezmie jako parametry rozne obiekty DAO. Jednak nie moge zdefiniowac interfejsu ktory moje obiekty by implementowaly, poniewaz objekty sa generowane automatycznie.

Czy mozna jakos to zrobic? Nie mam pomyslu.

0
  1. Mam wrażenie że ta twoja "MojaKlasa" jest po prostu zbędna ;]
  2. Ale co ma piernik do wiatraka? Nie możesz zdefiniować sobie interfejsu GenericDao który będzie miał te twoje wszystkie potrzebne metody a który będzie rozszerzany przez te interfejsy z których generujesz sobie dao przez Spring Data (bo zgaduje że to właśnie robisz). Wtedy ta twoja generyczna metoda przyjmie obiekty GenericDao.
0

Hej, dzieki za odpowiedz. Jednak iBatis polega na wskazaniu interfejsu zeby wygenerowac moj obiekt. Jesli moje interfejsy beda rozszerzac jakis ogolny interfejs, czy wtedy iBatis bedzie "wiedzial" ktorego uzyc do wygenerowania obiektu?

0

Sprawdź ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1