Spring pomaga developerom tworzyć proste, przenośne, szybkie i elastyczne systemy oraz aplikacje oparte na JVM.
Spring jest frameworkiem aplikacyjnym oraz kontenerem odwrócenia sterowania dla aplikacji Java. Główne funkcje frameworku mogą być używane przez dowolną aplikację Java, ale jego rozszerzenia są przeznaczone głównie do tworzenia aplikacji webowych na platformie Java EE. Pomimo, że Spring nie narzuca żadnego konkretnego modelu programowania, jest często używany w alternatywie lub jako zamiennik czy dodatek do modelu Enterprise JavaBeans (EJB). Framework Spring jest projektem open source.
Tworzenie czystego, łatwego do testowania kodu na komponentach wybranej infrastruktury i możliwość zrealizowania każdego zadania bez wymyślania prostych rozwiązań na nowo.
Przenośność - aplikacje oparte o Spring działają na każdym środowisku z JVM i są możliwe do uruchomienia samodzielnie, na serwerze aplikacyjnym, w Chmurze, lub we wszystkich tych miejscach jednocześnie.
Programowanie bez obaw - Spring dostarcza otwarty, kompleksowy i spójny model oprogramowania, który jest szeroko rozumiany i dobrze wspierany.
Głównym celem Springa jest umożliwienie tworzenia złożonych systemów w łatwy sposób, z pominięciem modeli programowania wymuszających historyczne rozwiązania. Spring wprowadził i ustandaryzował wiele rozwiązań, które były wcześniej niedoceniane.
Framework Spring zawiera wiele modułów odpowiedzialnych za różne usługi
package hello;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MessagePrinter {
final private MessageService service;
@Autowired
public MessagePrinter(MessageService service) {
this.service = service;
}
public void printMessage() {
System.out.println(this.service.getMessage());
}
}
package hello;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.*;
@Configuration
@ComponentScan
public class Application {
@Bean
MessageService mockMessageService() {
return new MessageService() {
public String getMessage() {
return "Hello World!";
}
};
}
public static void main(String[] args) {
ApplicationContext context =
new AnnotationConfigApplicationContext(Application.class);
MessagePrinter printer = context.getBean(MessagePrinter.class);
printer.printMessage();
}
}