Τι είναι το Spring Boot

Το Spring Boot είναι ένα open source, Java framework, το οποίο επιτρέπει στους developers, να αναπτύσσουν stand-alone και επιπέδου production εφαρμογές, τις οποίες απλά τις τρέχει κάποιος. Οι περισσότερες εφαρμογές Spring χρειάζονται πολύ λίγες ρυθμίσεις του Spring.

Στόχοι του Spring Boot
Spring Boot Auto-Configuration

Το Spring Boot προσπαθεί αυτόματα, να ρυθμίσει την εφαρμογή, βασιζόμενο στα jar dependencies της εφαρμογής. Για παράδειγμα, εάν το Thymeleaf βρίσκεται στο classpath, τότε το Spring Boot ρυθμίζει το Thymeleaf ως το view option για το Spring MVC και δημιουργεί τα beans, τα οποία περιέχει η παρακάτω configuration κλάση. Έτσι, μειώνεται ο χρόνος του configuration και γίνεται πιο γρήγορα η διαδικασία ανάπτυξης της εφαρμογής.

                
                    @Component
                    @EnableWebMvc
                    @Component("com.springeshop") 
                    public class ThymeleafConfig implements WebMvcConfigurer, ApplicationContextAware{

                            @Autowired
                            private ApplicationContext applicationContext;

                            @Bean
                            public  SpringResourceTemplateResolver templateResolver() {
                              SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
                              templateResolver.setApplicationContext(applicationContext);
                              templateResolver.setSuffix(".html");
                              return  templateResolver;
                            }

                            @Bean
                            public  SpringTemplateEngine  templateEngine() {
                              SpringTemplateEngine templateEngine  = new SpringTemplateEngine();
                              templateEngine.setTemplateResolver(templateResolver());
                              templateEngine.setEnableSpringELCompiler(true);
                              return  templateEngine ;
                            }

                            @Bean
                            public  configureViewResolvers(ViewResolverRegistry registry) {
                              ThymeleafViewResolver resolver = new ThymeleafViewResolver();
                              resolver.setTemplateEngine(templateEngine());
                              registry.viewResolver(resolver);
                            }

                    }
                
            
Spring Starter Dependencies

Η διαχείριση των dependencies γίνεται πολύπλοκη σε μεγάλα projects. Το Spring Boot λύνει αυτό το πρόβλημα, παρέχοντας ένα σύνολο από Spring Boot starters, για να διευκολύνει τους developers. Τα Starter POMS είναι ένα σύνολο από βολικούς περιγραφείς από dependencies , τα οποία μπορούμε, να συμπεριλάβουμε στην εφαρμογή. Εάν κάποιος θέλει, να γράψει ένα REST API, τότε πρέπει να εισάγει στο pom.xml, το ακόλουθο dependency και το Spring Boot θα προσθέσει στο classpath τα dependencies : spring-web, spring-webmvc, hibernate-validator, spring-boot-starter, spring-boot-starter-json και spring-boot-starter-tomcat.

                
                    <dependency>
                      <groupId> org.springframework.boot </groupId>
                      <artifactId< spring-boot-starter-web </artifactId>
                    </dependency>
                
            

Ο αριθμός των dependencies, που πρέπει να προσθέσουμε μειώνεται. Επίσης, το Spring Boot επιλέγει ποιες εκδόσεις των βιβλιοθηκών, να χρησιμοποιήσει και δεν υπάρχει έτσι κίνδυνος ασυμβατότητας μεταξύ τους.

Πηγές