Spring Boot - mfmese/microservice GitHub Wiki

Spring Boot

  • Dependency (bağımlılık) yönetimi daha kolaydır.

  • Farklı Build ve deployment seçeneklerine sahiptir. ## Spring boot kurulum

  • start.spring.io web sitesi springboot initialzr üzerinden spring boot başlangıç dosyaları oluşturulur. Proje structure oluşturulmuş olur.

  • pom.xml içerisinde

  • * parent xml içerisinde <artifactId>spring-boot-starter-parent</artifactId> değeri ile spring boot başlatılır.

  • * dependency olarak spring boot dahil edilen 2 temel bağımlılık vardır. Bunlar;

  • * * spring-boot-starter

  • * * spring-boot-starter-test

  • * Bunların dışında maven dependency olarak otomatik gelen bağımlılıklarda bulunur. Bunlar en çok kullanılan 20 kütüphanedir. Örn; mochito, junit, etc.

  • Dependency hierarchy tabında tüm bağımlılıkları categoric olarak görebiliyoruz. ## Spring Boot çalıştırma

  • mouse sağ tık yapıp "Run As" → JUnit test ile başlattığımızda spring boot ait test kütüphanesi çalışarak yazılmış testler çalışır.

  • mouse sağ tık yapıp "Run As" → Spring Boot App tıklarsak. spring boot projesi çalıştırılır. # Çalıştırma sonrası arka planda neler oluyor

  • public static void main(String[] args) kod bloğu çalıştırılır.

  • * Spring Framework reference documentation (java based configuration) belirtilen configurasyonlar çalıştırılmış olur.

  • @SpringBootApplication main üzerinden çalıştırılır. Bu anotation sayesinde arka planda 3 farkı configurasyon çalışmış olur.

  • * Combination of @Configuration (configuration dosyalarını belirler ve java beans dosyalarını belirler.

  • * @ComponentScan (@Components içerisinde bulunan dosyaları tarar)

  • * @EnableAutoConfiguration (runtime da springboot configurasyonlarını yükler. ApplicationContext ve class pathlerini ayarlar. Intellignet defaults bağlı olan kayıp beans dosyalarını oluşturur) # Spring Boot Web

  • spring-boot-starter-web dependency olarak eklenir.

  • * dependency eklenmesi ile spring-web, spring-mvc jars eklenmiş olur.

  • * Tomcat jars eklenmiş olur.

  • Web application başlatıldığında;

  • * beans dosyaları oluşturulur

  • * @EnableAutoConfiguration beans dosyalarını aşağıdaki şekilde arar;

  • * * beands + classpath bağlı configurasyonları arar

  • * * @Controller/spring mvc jars dosyaları dikkate alınır.

  • * MVC beans otomatik olarak oluşturulur.

  • * * DispatcherServlet, HandlerMappings, Adapters, ViewResolvers eklenir.

  • * * Tomcat instace başlatılır.

  • Spring MVC birçok view opsiyonunu desteklemektedir.

  • JSP, Freemarker, Velocity ve Thymeleaf kullanmak kolaydır.

  • Boot otomatk olarak yapılır. # JAR dan WAR’a dönüştürmek

  • pom xml içerisinde packaging jar yerine war değiştirmek gerekiyor

  • SpringBootServletInitializer olarak extend etmek gerekiyor.

  • * public class Application extends SpringBootServletInitializer{}

  • app server’a deployment yapmak.

  • * url http://localhost:8080/<app>/ olarak görüntülenir.

Thymeleaf

  • pom.xml dependency içerisine spring-boot-starter-thymeleaf eklenir.

  • src/main/resources klasörüne templates adında yeni bir klasör oluştur.

  • templates içerisinde yeni bir index.html dosyası oluştur.

  • Controller içerisinde oluşturmuş olduğun servis return olarak templates deki dosya ismini return yapsın. return "index".

@RequestMapping("/index/{name}")
public  String welcome(Map model, @PathVariable String name) {
   model.put("name",name);
   return "index";
}

JSP

  • JSP web-relative klasörlerine yerleştirin

  • spring.mvc.view.prefix/spring.mvc.view.suffix olarak değiştirin.

  • thymeleaf starter pom.xml den silin

Spring Data JPA

Spring Data Rest

⚠️ **GitHub.com Fallback** ⚠️