Do czego właściwie służy Spring Framework? [zamknięte]

Dużo słyszę o Spring , ludzie mówią w całej sieci, że wiosna jest dobrym frameworkiem do tworzenia stron internetowych. Do czego właściwie służy Spring Framework?

Author: xxxxxxxxxxx, 2009-06-30

17 answers

Zasadniczo Spring jest frameworkiem dependency-injection , który jest wzorem pozwalającym na budowanie bardzo odsprzęgniętych systemów.

Problem

Na przykład, załóżmy, że musisz wymienić użytkowników systemu i zadeklarować interfejs o nazwie UserLister:

public interface UserLister {
    List<User> getUsers();
}

I może implementacja uzyskująca dostęp do bazy danych, aby uzyskać wszystkich użytkowników:

public class UserListerDB implements UserLister {
    public List<User> getUsers() {
        // DB access code here
    }
}

W Twoim widoku musisz uzyskać dostęp do instancji (tylko przykład, pamiętaj):

public class SomeView {
    private UserLister userLister;

    public void render() {
        List<User> users = userLister.getUsers();
        view.render(users);
    }
}

Uwaga że powyższy kod nie zainicjalizował zmiennej userLister. Co powinniśmy zrobić? Jeśli jawnie stworzę instancję obiektu w ten sposób:

UserLister userLister = new UserListerDB();

...Połączyłbym widok z moją implementacją klasy, która ma dostęp do DB. Co jeśli chcę przełączyć się z implementacji DB na inną, która pobiera listę użytkowników z oddzielonego przecinkami pliku (pamiętaj, że to przykład)? W takim przypadku przejdę do kodu ponownie i zmienię ostatnią linię przez:

UserLister userLister = new UserListerCommaSeparatedFile();

To nie ma problemu z mały program jak ten ale... Co dzieje się w programie, który ma setki wyświetleń i podobną liczbę klas biznesowych. Konserwacja staje się koszmarem!

Spring (Dependency Injection) approach

To, co robi Spring, to drukowanie klas za pomocą pliku XML lub adnotacji, w ten sposób wszystkie obiekty są inicjowane i inicjowane przez Spring i wstrzykiwane we właściwych miejscach (serwlety, frameworki internetowe, klasy biznesowe, DAOs, itp., itd...).

Wracając do przykładu na wiosnę musimy mieć tylko setter dla pola userLister i mieć albo plik XML taki jak ten:

<bean id="userLister" class="UserListerDB" />

<bean class="SomeView">
    <property name="userLister" ref="userLister" />
</bean>

Lub po prostu dodaj adnotację do pliku w naszej klasie widoku za pomocą @Inject:

@Inject
private UserLister userLister;

W ten sposób po utworzeniu widoku magicznie będzie miał UserLister gotowy do pracy.

List<User> users = userLister.getUsers();  // This will actually work
                                           // without adding any line of code
To jest świetne! Prawda?
  • Co zrobić, jeśli chcesz użyć innej implementacji Twojego UserLister interfejsu? Po prostu Zmień XML
  • a jeśli nie masz gotowej implementacji?W 2004 roku, w ramach projektu, w ramach projektu, stworzono nową wersję programu.]}
  • a jeśli nie chcę już używać Wiosny?Nie używaj go! Twoja aplikacja nie jest z nią powiązana. Inwersja sterowania stwierdza: "aplikacja kontroluje framework, a nie Framework kontroluje aplikację".

Istnieje kilka innych opcji Zależności Wtrysk wokół tego, co moim zdaniem stało się tak sławne Spring oprócz swojej prostoty, elegancji i stabilności jest to, że chłopaki z SpringSource zaprogramowali wiele Pojo, które pomagają zintegrować Spring z wieloma innymi popularnymi frameworkami bez ingerencji w Twoją aplikację. Również Spring ma kilka dobrych podprojektów, takich jak Spring MVC, Spring WebFlow, Spring Security i ponownie loooong lista etceteras.

Mam nadzieję, że to pomoże. W każdym razie, zachęcam do przeczytania Martin Artykuł Fowlera o iniekcji zależności i inwersji sterowania, ponieważ robi to lepiej niż ja. po zrozumieniu podstaw zajrzyj do wiosennej dokumentacji, moim zdaniem jest kiedyś była najlepszą wiosenną książką w historii.
 624
Author: victor hugo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-22 00:44:24

Wiosna zawiera (Jak słusznie zauważył Skaffman ) Framework MVC. Aby wyjaśnić w skrócie, oto moje dane wejściowe. Spring obsługuje segregację warstwy usługowej, webowej i biznesowej, ale to, co naprawdę robi najlepiej, to "Wtrysk" obiektów. Aby więc wyjaśnić, że za pomocą przykładu rozważ przykład poniżej:

public interface FourWheel
{
   public void drive();
}

public class Sedan implements FourWheel
{
   public void drive()
   {
      //drive gracefully
   }
}

public class SUV implements FourWheel
{
   public void drive()
   {
      //Rule the rough terrain
   }
}

Teraz w Twoim kodzie masz klasę o nazwie RoadTrip w następujący sposób

public class RoadTrip
{
    private FourWheel myCarForTrip;
}

Teraz, kiedy chcesz instancję Trip; czasami możesz chcieć SUV aby zainicjować FourWheel lub czasami możesz chcieć Sedan. To naprawdę zależy, co chcesz na podstawie konkretnej sytuacji.

Aby rozwiązać ten problem, chciałbyś mieć wzorzec fabryczny jako wzorzec tworzenia. Gdzie fabryka zwraca właściwą instancję. Więc w końcu skończysz z dużą ilością kodu kleju tylko po to, aby poprawnie tworzyć instancje obiektów. Spring wykonuje zadanie klejenia kodu najlepiej bez tego kleju. Deklarujesz mapowanie w XML i to automatycznie inicjalizuje obiekty. To również robi wiele korzystanie z architektury singleton dla instancji i to pomaga w zoptymalizowanym wykorzystaniu pamięci.

Jest to również nazywane inwersją sterowania. Inne frameworki do tego celu to Google guice, Pico container itp.

Oprócz tego, Spring ma Framework walidacji, szerokie wsparcie dla warstwy DAO we współpracy z JDBC, iBatis i Hibernate (i wiele innych). Zapewnia doskonałą kontrolę transakcji nad transakcjami baz danych.

Jest o wiele więcej do wiosny, które można przeczytać w dobre książki jak "Pro Spring".

Następujące adresy URL mogą być pomocne too.
http://static.springframework.org/docs/Spring-MVC-step-by-step/
http://en.wikipedia.org/wiki/Spring_Framework
http://www.theserverside.com/tt/articles/article.tss?l=SpringFramework{[23]

 56
Author: Priyank,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-16 09:03:41

Old days, spring {[3] } był ramką do wtrysku zależności działającą tylko jak (Guice, PicoContainer ,...), ale teraz jest to kompletne rozwiązanie do budowania ciebie Enterprise Application .

Spring dependency injection, który jest oczywiście sercem wiosny, wciąż istnieje( i możesz przejrzeć inne dobre odpowiedzi tutaj), ale jest ich więcej od wiosny ....

Wiosna ma teraz wiele projektów, każdy z niektórymi projektami podrzędnymi ( http://spring.io/projects ). Kiedy ktoś mówi o wiośnie, musisz się dowiedzieć o czym mówi Spring project , czy jest to tylko Spring core, który jest znany jako spring framework , czy też jest to kolejny wiosenny projekt.

Niektóre wiosenne projekty, które warto wymienić to:

Jeśli potrzebujesz więcej funkcji do swojej aplikacji, możesz ją tam znaleźć:

  • spring batch framework batch zaprojektowany, aby umożliwić rozwój
    aplikacja wsadowa
  • spring HATEOAS Łatwe tworzenie bazy REST api na HATEOAS principal
  • Wiosna mobile i spring andriod do tworzenia aplikacji mobilnych
  • spring shell Zbuduj w pełni funkcjonalną aplikację shell (aka command line)
  • spring cloud i spring cloud data flow dla aplikacji chmurowych

Są tam też małe projekty, na przykład spring-social-facebook (http://projects.spring.io/spring-social-facebook/)

Możesz użyć springa do tworzenia stron internetowych, tak jak ma moduł Spring MVC będący częścią projektu spring framework . Możesz też użyć springa z inną pracą web frame, np. struts2 .

 28
Author: Alireza Fattahi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-04 05:34:58

Do czego służy Wiosna? Na to pytanie odpowiem niebawem, ale najpierw spójrzmy jeszcze raz na przykład Victora hugo. Nie jest to dobry przykład, ponieważ nie uzasadnia potrzeby nowych ram.

public class BaseView {
  protected UserLister userLister;

  public BaseView() {
    userLister = new UserListerDB(); // only line of code that needs changing
  }
}

public class SomeView extends BaseView {
  public SomeView() {
    super();
  }

  public void render() {
    List<User> users = userLister.getUsers();
    view.render(users);
  }
}
Zrobione! Więc teraz nawet jeśli masz setki lub tysiące wyświetleń, nadal musisz zmienić jedną linię kodu, jak w podejściu Spring XML. Ale zmiana linii kodu nadal wymaga rekompilacji w przeciwieństwie do edycji XML mówisz? Cóż mój wybredny przyjacielu, użyj mrówki i koniec scenariusza! Po co więc wiosna? Jest za:
  1. niewidomi programiści, którzy podążają za stadem
  2. pracodawcy, którzy nigdy nie chcą zatrudniać absolwentów, ponieważ nie uczą takich frameworków na Uni
  3. Projekty, które zaczęły się od złego projektu i wymagają patchworku (jak pokazuje przykład Victora hugo)]}

Czytaj dalej: http://discuss.joelonsoftware.com/?joel.3.219431.12

 24
Author: Ash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-03 02:14:33

Bardzo krótko podsumowując, powiem, że wiosna jest "klejem" w Twojej aplikacji. Służy do integracji różnych frameworków i własnego kodu.

 18
Author: Johan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-29 15:33:55

Wiosna to trzy rzeczy.

  1. Spring radzi sobie z Dependency Injection i polecam przeczytać doskonałe wprowadzenie Martina Fowlera na temat dependency injection.
  2. drugą rzeczą, jaką robi Spring, jest pakowanie doskonałych bibliotek Javy w bardzo elegancki sposób użycia w twoich aplikacjach. Dla dobrego przykładu zobacz, jak Spring owija wykonawców zadań i harmonogram Kwarcowy.
  3. Po Trzecie Spring zapewnia kilka implementacji internetowych rzeczy, takich jak REST, MVC web framework i więcej. Oni rysunek ponieważ używasz Spring dla dwóch pierwszych, może możesz po prostu użyć go do wszystkiego, czego potrzebuje Twoja aplikacja internetowa.

Problem w tym, że Spring DI jest naprawdę dobrze przemyślana, owijki wokół innych rzeczy są naprawdę dobrze przemyślane, że inne rzeczy przemyślały wszystko, a wiosna po prostu ładnie owija. Spring implementacje MVC i REST i wszystkie inne rzeczy nie są tak dobrze zrobione (YMMV, IMHO), ale są wyjątki (Spring Security to da bomb). Więc Ja zazwyczaj używam sprężyny do DI i jej fajnych owijek, ale wolę inne rzeczy do sieci (bardzo lubię gobeliny), odpoczynku (Koszulka jest naprawdę wytrzymała) itp.

 13
Author: karstensrage,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-16 09:10:02

Czego prawdopodobnie chcesz w aplikacji webowej z Spring-

  • Spring MVC, który z 2.5+ pozwala używać POJOs jako klas kontrolerów, co oznacza, że nie musisz rozszerzać z żadnego konkretnego frameworka (jak w Struts lub Spring pre-2.5). Klasy kontrolerów są również bardzo proste do przetestowania dzięki po części dependency injection
  • Wiosenna integracja z Hibernate, która dobrze upraszcza pracę z tym rozwiązaniem ORM (w większości przypadków)
  • Używanie sprężyny do aplikacja internetowa umożliwia korzystanie z obiektów domeny na wszystkich poziomach aplikacji - te same klasy, które są mapowane za pomocą Hibernate, są klasami używanymi jako " form beans."Z natury rzeczy doprowadzi to do bardziej solidnego modelu domeny, po części dlatego, że zmniejszy to liczbę klas.
  • znaczniki Spring form ułatwiają tworzenie formularzy bez większych kłopotów.

DODATKOWO wiosna jest ogromna - więc jest wiele innych rzeczy, które mogą Cię zainteresować w aplikacja internetowa, taka jak Spring AOP lub Spring Security. Ale cztery rzeczy wymienione powyżej opisują wspólne składniki Spring, które są używane w aplikacji internetowej.

 11
Author: bpapa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-30 21:35:18

Widzę dwie części tego:

  1. "Po co właściwie jest wiosna" - > zobacz zaakceptowaną odpowiedź Victora hugo.
  2. "[...] Spring is [a] good framework for web development " - > ludzie to mówią o Spring MVC. Spring MVC jest jedną z wielu części Springa i jest frameworkiem internetowym wykorzystującym ogólne cechy Springa, takie jak dependency injection. Jest to dość ogólny framework, ponieważ jest bardzo konfigurowalny: możesz używać różnych warstw db (Hibernate, iBatis, plain JDBC), różne warstwy widoku (JSP, Velocity, Freemarker...)

Zauważ, że możesz doskonale używać Springa w aplikacji webowej bez używania Spring MVC. Powiedziałbym, że większość aplikacji internetowych Java robi to, podczas korzystania z innych frameworków internetowych, takich jak Wicket, Struts, Seam, ...

 8
Author: Tom De Leu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-10 07:55:37

Sprężyna świetnie nadaje się do sklejania klas razem. Wiesz, że Twoje klasy Hibernate zawsze będą potrzebowały źródła danych, Spring łączy je ze sobą (i ma również implementację źródła danych).

Twoje obiekty dostępu do danych zawsze będą potrzebowały dostępu do Hibernate, Spring połączy klasy Hibernate z Twoimi DAOs.

DODATKOWO, Spring zasadniczo daje solidne konfiguracje kilku bibliotek, a w tym, daje wskazówki w tym, co libs you powinien użyć.

Wiosna to naprawdę świetne narzędzie. (Nie mówiłem o Spring MVC, tylko Framework bazowy).

 7
Author: stevedbrown,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-16 09:07:39

Zaakceptowana odpowiedź nie wiąże się z używaniem adnotacji, ponieważ Spring wprowadził obsługę różnych adnotacji do konfiguracji.

Spring (Dependency Injection) approach

Istnieje inny sposób łączenia klas przy użyciu pliku XML: adnotacje. Użyjmy przykładu z zaakceptowanej odpowiedzi i zarejestrujmy fasolę bezpośrednio na klasie, używając jednej z adnotacji @Component, @Service, @Repository lub @Configuration:

@Component
public class UserListerDB implements UserLister {
    public List<User> getUsers() {
        // DB access code here
    }
}

W ten sposób, gdy widok jest stworzony magicznie będzie miał UserLister gotowy do pracy.

Powyższe stwierdzenie jest poprawne z niewielką premią, bez potrzeby używania plików XML i okablowania z inną adnotacją @Autowired, która znajduje odpowiednią implementację i wstrzykuje ją.

@Autowired
private UserLister userLister;

Użyj adnotacji @Bean na metodzie użytej do wprowadzenia implementacji bean.

 5
Author: Nikolas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-17 22:05:45

Zaletą jest Dependency Injection (DI) . Oznacza outsourcing zadania tworzenia obiektów.Pozwól, że wyjaśnię na przykładzie.

public interface Lunch
{
   public void eat();
}

public class Buffet implements Lunch
{
   public void eat()
   {
      // Eat as much as you can 
   }
}

public class Plated implements Lunch
{
   public void eat()
   {
      // Eat a limited portion
   }
}

Teraz w kodzie mam klase:

public class LunchDecide {
    private Lunch todaysLunch;
    public LunchDecide(){
        this.todaysLunch = new Buffet(); // choose Buffet -> eat as much as you want
        //this.todaysLunch = new Plated(); // choose Plated -> eat a limited portion 
    }
}

W powyższej klasie, w zależności od naszego nastroju, wybieramy bufet () lub Plated (). System ten jest jednak ściśle powiązany. Za każdym razem, gdy potrzebujemy innego typu obiektu, musimy zmienić kod. W tym przypadku, komentując wiersz ! Wyobraź sobie, że istnieje 50 różnych klas używany przez 50 różnych osób. To byłby niezły bałagan. W tym przypadku musimy odłączyć system. Przepiszmy lekcję wyboru.

public class LunchDecide {
    private Lunch todaysLunch;
    public LunchDecide(Lunch todaysLunch){
        this.todaysLunch = todaysLunch
        }
    }

Zauważ, że zamiast tworzyć obiekt używając nowego słowa kluczowego przekazaliśmy referencję do obiektu typu Lunch jako parametr do naszego konstruktora. Tutaj Tworzenie obiektów jest zlecane na zewnątrz. Kod ten może być podłączony do pliku konfiguracyjnego XML (legacy) lub adnotacji Java (modern). Tak czy inaczej, decyzja o tym, jaki typ obiektu będzie utworzone zostanie tam podczas wykonywania. Obiekt zostanie wprowadzony przez Xml do naszego kodu - nasz kod jest zależny od Xml dla tego zadania. Stąd Dependency Injection (DI). DI nie tylko pomaga w swobodnym połączeniu naszego systemu, ale upraszcza pisanie testów jednostkowych, ponieważ pozwala na wyśmiewanie zależności. Wreszcie, DI usprawnia programowanie zorientowane na aspekt (AOP), co prowadzi do dalszego oddzielenia i zwiększenia modułowości. Należy również zauważyć, że powyżej DI jest Injection konstruktora. DI można to zrobić również za pomocą wtrysku Settera - ta sama zwykła stara metoda settera z hermetyzacji.

 4
Author: Sumit Pokhrel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-17 18:07:04

[[0]}Spring jest dobrą alternatywą dla technologii Enterprise JavaBeans (EJB) . Posiada również komponent web Framework i Web services framework.

 3
Author: fastcodejava,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-12 02:00:45

Spring zaczynał jako dość prosty system wtrysku zależności. Teraz jest ogromny i ma w sobie wszystko (poza przysłowiowym zlewozmywakiem).

Ale nie obawiaj się, jest dość modułowy, więc możesz używać tylko elementów, które chcesz.

Aby zobaczyć, gdzie to wszystko się zaczęło spróbuj:

Http://www.amazon.com/Expert-One-Design-Development-Programmer/dp/0764543857/ref=sr_1_1?ie=UTF8&s=books&qid=1246374863&sr=1-1{[8]

Może i jest stary, ale jest doskonały książka.

Kolejna dobra książka tym razem poświęcona wyłącznie wiośnie zobacz:

Http://www.amazon.com/Professional-Java-Development-Spring-Framework/dp/0764574833/ref=sr_1_2?ie=UTF8&s=books&qid=1246374863&sr=1-2

Odwołuje się również do starszych wersji Springa, ale zdecydowanie warto na nie spojrzeć.

 1
Author: Pablojim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-30 15:38:19

Spring był dependency injection na początku, a następnie dodać king OF wrappers dla prawie wszystkiego (wrapper nad implementacjami JPA itp.).

Długa historia ... większość elementów Spring preffer XML solutions (XML scripting engine ... brrrr), więc dla DI używam Guice

Dobra biblioteka, ale z rosnącym depnedenciec, na przykład Spring JDBC (może jedno rozwiązanie Java jdbc z prawdziwymi parametrami nazw) wziąć z Maven 4-5 następny.

Używanie Spring MVC (część "big spring") dla tworzenie stron www ... jest to framework "request based" , istnieje święta wojna "request vs component"... do Ciebie

 1
Author: Jacek Cz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-29 17:08:19
    Sprężyna jest lekką i elastyczną konstrukcją w porównaniu do J2EE.
  • pojemnik sprężynowy działa jako inwersja sterowania.
  • Spring wykorzystuje AOP, czyli wzorce projektowe proxy i Singleton, Factory i Template Method.
  • [1]}warstwy warstwowe: oddzielenie warstw i warstw wielokrotnego użytku oraz łatwa konserwacja.

Tutaj wpisz opis obrazka

 1
Author: Premraj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-05 06:08:27

W przeszłości myślałem o Spring framework z czysto technicznego punktu widzenia.

Biorąc pod uwagę doświadczenie pracy zespołowej i tworzenia webapp dla przedsiębiorstw - powiedziałbym, że Spring jest dla szybszego rozwoju aplikacji (aplikacje internetowe) przez oddzielenie jej poszczególnych elementów (beans). Szybszy rozwój sprawia, że jest tak popularny. Sprężyna umożliwia przeniesienie odpowiedzialności za budowanie (okablowanie) aplikacji na Spring framework. Spring framework ' s dependency injection jest odpowiedzialny za Podłączanie / okablowanie poszczególnych fasoli do działającej aplikacji.

W ten sposób programiści mogą skupić się bardziej na rozwoju poszczególnych komponentów (beans), gdy tylko zostaną zdefiniowane interfejsy między beans.

Testowanie takiej aplikacji jest łatwe - główny nacisk kładzie się na poszczególne fasole. Można je łatwo odłączyć i wyśmiać, dzięki czemu testy jednostkowe są szybkie i wydajne.

Spring framework definiuje wiele wyspecjalizowanych fasolki takie jak @ Controller (@Restcontroller), @repozytorium, @komponent do celów internetowych. Spring wraz z Maven zapewniają strukturę, która jest intuicyjna dla programistów. Praca zespołowa jest łatwa i szybka, ponieważ poszczególne elementy są oddzielone od siebie i mogą być ponownie wykorzystane.

 0
Author: Witold Kaczurba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-26 17:18:11

Spring framework jest bardzo dobry do tworzenia stron www, bardziej specyficzny dla REST api. To z powodu dependency injection i integracji z innymi modułami, takimi jak spring security, spring aop, mvc framework, mikroserwisy

Każda aplikacja, którą zbudujesz, zdecydowanie potrzebujesz bezpieczeństwa.
Jeśli budujesz produkt, długą konserwację, będziesz stanowczo potrzebował koncepcji Aop.

Jeśli aplikacja ma znacznie więcej załaduj następnie musisz zaimplementować mikroserwisy.

Wiosna daje to wszystko w jednym peronie. Wsparcie dla wielu modułów
Najważniejsze jest to, że spring jest open source i extensible framework, mają wszędzie hook, aby zintegrować niestandardowy kod w cyklu życia.

Spring Data to jeden z projektów, który zapewnia integrację z Twoim projektem.


Wszystko, czego potrzebujesz do zbudowania aplikacji, ma sprężynę.

 -1
Author: pratik deshai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-13 13:43:23