9 Şubat 2018 Cuma

Official Spring Boot Starter'ları






Starters”: Spring boot bir çok starter jar'larına sahiptir. Örnek uygulamamızda pom.xml'de görebileceğiniz gibi spring-boot-starter-parent'a pom'un parent kısmında sahibiz. Bu özel starter Maven için default değerler sağlar. spring-boot-starter-parent ayrıca bağımlılık yönetimi bölümünü sağlar; böylece "kutsanmış" sürüm etiketlerini atlayabilirsiniz. Yani diğer starter bağımlılıklar için sürüm etiketi girmenize gerek kalmaz.
Diğer starterlar projenin ihtiyaçlarına göre bağımlılıkların indirilmesini sağlarlar. Mesela web uygulaması yapacaksak spring-boot-starter-web'i pom'un bağımlılıklar kısmına ekleriz.
Eğer örnek pom'umuzda  mvn dependency:tree pluginin goal'ini çalıştırısanız ,starter-web'in ihtiyacı olduğu bağımlıkları indirdiğini ve bağımlıkılık ağacını görebiliriz.(Tomcat web server'ı ve Spring Boot kendisi dahil olmak üzere.)
Offical starter'ların yazım deseni spring-boot-starter-* şeklindedir.
Eğer inherit edilmiş bağımlılıkların versiyon numarası değiştirilmek istenirse propertilerin override edilmesi yeterlidir.


 Spring Boot application starters


spring-boot-starter : Core starter, autoconfiguration destağini içerir, ayrıca logging ve YAML içindir.

spring-boot-starter-activemq :Apache ActiveMQ kullanmak için JMS messaging starter.

spring-boot-starter-amqp   : Spring AMQP ve Rabbit MQ kullanmak için gerekli starter.

spring-boot-starter-aop : Spring AOP veAspectJ kullanarak  aspect-oriented programming kullanmak için gerekli starter.

spring-boot-starter-artemis : Apache Artemis kullarak JMS messaging sağlayan starter.

spring-boot-starter-batch : Spring batch kullanmak için gerekli starter.

spring-boot-starter-cache : Spring framework'ün cach'ini kullanmak için gerekli starter.

spring-boot-starter-cloud-connectors : Heroku ve Cloud Foundry gibi cloud platformlarına bağlanmayı kolaylaştıran Spring Cloud Connectorlerini kullanmak için gerekli starter.

spring-boot-starter-data-cassandra : Dağıtık database olan Cassandra ve Spring Data Cassandra kullanmak için gerekli starter.

spring-boot-starter-data-couchbase : Document-oriented database olan Couchbase  ve Spring Data Couchbase kullanmak için gerekli starter.

spring-boot-starter-data-elasticsearch : Elasticsearch araması ve analatik motoru ve Spring Data Elastichsearch kullanmak için gerekli starter.

spring-boot-starter-data-gemfire : Gemfire veri deposu ve Spring Data Gemfire kullanmak için gerekli starter.

spring-boot-starter-data-jpa : Hibernate ile Spring Data JPA'nın kullanılması için gerekli starter.

spring-boot-starter-data-ldap : Spring data LDAP kullanılması için gerekli starter.

spring-boot-starter-data-mongodb : Document-oriented database olan MONGODB'nin ve spring data mongodb'nin kullanılması için gerekli starter.

spring-boot-starter-data-neo4j : Graph database olan neo4j'nin ve spring data neo4j'nin kullanılması için gerekli starter.

spring-boot-starter-data-redis : Key-value şeklinde veri deposu olan redisin ve spring data redisin kullanılması için gerekli olan starter.

spring-boot-starter-data-rest : Spring data repositorylerinin Spring data rest kullanılarak rest servislere açılmasını sağlamak için kullanılan starter.

spring-boot-starter-data-solr : Bir arama platformu olan Apache Solr'un Spring Data Solr ile kullanılmasını sağlayan starter.

spring-boot-starter-freemarker  :  MVC web aplikasyonlarının View kısmında Freemarker kullanmak için gerekli starter.

spring-boot-starter-groovy-templates : MVC web aplikasyonlarının View kısmında Groovy templateleri kullanmak için gerekli starter.

spring-boot-starter-hateoas : Spring MVC ve Spring HATEOAS ile hypermedia temelli rest servisler yaratmak için kullanılan starter.

spring-boot-starter-integration : Spring integration kullanmak için gerekli starter.

spring-boot-starter-jdbc : Tomcat JDBC connection pool ile JDBC kullanmak için gerekli starter.

spring-boot-starter-jersey : spring-boot-starter-web 'a alternatif olarak JAX-RS ve Jersey ile RES:Tful web aplikasyonları inşaa etmek için gerekli starter.

spring-boot-starter-jooq : spring-bootstarter-data-jpa veyaspring-boot-starter-jdbc' ye alternatif olarak SQL veritabanlarına erişmek için kullanılan JOOQ için gerekli starter.

spring-boot-starter-jta-atomikos : Atomikos kullanarak JTA transactionların kullanılmasını sağlayan starter.

spring-boot-starter-jta-bitronix : Bitronix kullanarak JTA transactionların kullanılmasını sağlayan starter.

spring-boot-starter-jta-narayana : Spring Boot Narayana JTA Starter

spring-boot-starter-mail : Java Mail ve Spring Framework’ün email gönderme desteği için kullanılan starter.

spring-boot-starter-mobile : Web aplikasyonları yaratmak için kullanılan Spring Mobile'in kullanılması için gerekli starter.

spring-boot-starter-mustache : MVC web aplikasyonlarının View kısmında mustache templateleri kullanmak için gerekli starter.

spring-boot-starter-security : Spring security kullanmak için gerekli starter.

spring-boot-starter-social-facebook : Spring social facebook kullanmak için gerekli starter.

spring-boot-starter-social-linkedin : Spring social linkedin kullanmak için gerekli starter.

spring-boot-starter-social-twitter : Spring social twitter kullanmak için gerekli starter.

spring-boot-starter-test : Spring boot uygulamalarını test etmek için ( JUnit, Hamcrest ve Mockito) gerekli starter.

spring-boot-starter-thymeleaf  : MVC web aplikasyonlarının View kısmında thymeleaf   kullanmak için gerekli starter.

spring-boot-starter-validation : Java Bean Validasyonunu Hibernate Validotor kullarak gerçekleştirmek için gerekli starter.

spring-boot-starter-web  : Spring MVC kullanarak RESTfuşl dahil olmak üzere web uygulamaları inşaa etmek için kullanılan starter. Tomcat'i default gömülü web container olarak kullanır.

spring-boot-starter-web-services : Spring web servislerini kullanmak için gerekli starter.

spring-boot-starter-websocket  : Spring Framework'in Websocket desteğini kullanrak Websocket uygulamaları geliştirmeyi sağlayan starter.

Spring Boot production starters


spring-boot-starter-actuator : Spring boot uygulamanızı monitor ve yönetme işlemini gerçekleştiren ve production-ready özellikler taşıyan Spring boot Actuator uygulamasının kullanımını sağlayan starter.

spring-boot-starter-remote-shell : CRaSH remote shell kullanarak uygulamanızı ssh ile bağlanarak uzaktan yönetmenizi ve monitor etmenizi sağlayan starter. Spring Boot 1.5.10 sürümünden sonra deprecated olmuştur.


Spring Boot technical starters 


spring-boot-starter-jetty : spring-bootstarter-tomcat'a alternatif olarak gömülü olarak jetty servlet container'ını kullanmanızı sağlayan starter.

spring-boot-starter-log4j2 : spring-boot-starterlogging'a alternatif olarak logging işlemleri için log4j2 kullanmanıza olanak sağlayan starter.

spring-boot-starter-logging : Logback kullanrak logging işleminizi gerçekleştiren starter. Default olarak gelen logging starter budur.

spring-boot-starter-tomcat : spring-bootstarter-web starter tarafından default olarak kullanalan tomcat server'ı gömülü olarak kullanan starter.

spring-boot-starter-undertow : spring-boot-startertomcat'a alternatif olarak gömülü olarak undertow servlet container'ı kullanan starter.

İlave olarak ekstra starterlar için listeye şuradan ulaşabilirsiniz :

https://github.com/spring-projects/spring-boot/blob/v1.5.10.RELEASE/spring-boot-starters/README.adoc 

Kaynak : https://docs.spring.io/spring-boot/docs/current/reference/pdf/spring-boot-reference.pdf

0 yorum: