Dzień dobry!
Razem z kolegą postanowiliśmy stworzyć projekt z użyciem Springa.
Postanowiliśmy wykorzystać te technologie:
Spring MVC, security, mobile, facebook integration, mail, jpa,
Widoki w freemakerze (to chyba dobry wybór?)
I wystawić jakieś restowe api
Jako że jestem leniwy korzystam z Spring Initializera.
No i cały problem z bazą danych. Do testowania logiki biznesowej będziemy mockować repozytoria i z tym nie ma problemu. A co jeśli, będziemy chcieli testować same repozytoria? Na produkcji chcemy korzystać z serwera z mysqlem, ale w trakcie tworzenia aplikacji nie ma sensu go utrzymywać. Wydaje mi się, że powinniśmy rozdzielić bazy na dwie: - jedna w pamięci(HSQLDB albo H2, nie mam pojęcia jaka między nimi różnica) - a druga już przygotowana na produkcję.
Czy to dobra strategia?
No i następna kwestia, jak to zrobić w springu?
Wystarczy że zrobię coś takiego?:
@Configuration
@EnableWebMvc
public class KonfiguracjaDeweloperska {
@Bean
@Profile("dev")
public DataSource mojaBazaDanychWPamieci() {
TUTAJ CONFIGURACJA
}
@Bean
@Profile("prod")
public DataSource mojaBazaDanychNaSerwerze() {
TUTAJ CONFIGURACJA
}
}
Czy coś takiego wystarczy?
Przepraszam z bałagan mentalny w mojej wypowiedzi, starałem się napisać najlepiej jak to możliwe.
Dzięki za odpowiedzi.