search
HomeJavajavaTutorialDetailed explanation of Spring Boot in java

Detailed explanation of Spring Boot in java

May 10, 2017 am 09:59 AM
bootjavaspring

Spring Boot is a new framework provided by the Pivotal team. It is designed to simplify the initial construction and development process of new Spring applications. The following is an introduction to spring boot related knowledge through this article. Friends who need it can refer to it

1. What is SpringBoot

Spring Boot is a brand new product provided by the Pivotal team A framework designed to simplify the initial setup and development of new Spring applications. The framework uses a specific way to configure,

, so that developers no longer need to define boilerplate configurations. In this way, Spring Boot strives to become a leader in the booming field of rapid application development.

2.SpringBoot features

1). Create an independent Spring project

2).Built-in Tomcat and Jetty containers

3). Provide a starter POMs to simplify Maven configuration

4). Provide a series of non-functional features common in large projects, such assecurity, indicators, health detection, external configuration Wait

5). There is no code generation and xmlconfiguration file

3. SpringBoot running environment

The latest version of Spring Boot can run in a Java6+ environment, but Spring officially recommends using Java8.

4.Servlet Container

Name Servlet Version

Tomcat 8.5

3.1

##Jetty 9.4

3.1

Undertow 1.3

3.1

5.SpringBoot支持哪些应用

Table 1》. spring Boot application starters

Name Description

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-thymeleaf</span>

Starter for building MVC web applications using Thymeleaf views

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-couchbase</span>

Starter for using Couchbase document-oriented database and Spring Data Couchbase

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-artemis</span>

Starter for JMS messaging using Apache Artemis

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-web-services</span>

Starter for using Spring Web Services

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-mail</span>

Starter for using Java Mail and Spring Framework's email sending support

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-<a href="http://www.php.cn/wiki/1504.html" target="_blank">redis</a></span>

Starter for using Redis key-value data store with Spring Data Redis and the Jedis client

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-<a href="http://www.php.cn/wiki/1523.html" target="_blank">mongodb</a>-<a href="http://www.php.cn/wiki/1510.html" target="_blank">react</a>ive</span>

Starter for using MongoDB document-oriented database and Spring Data MongoDB Reactive

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-web</span>

Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded Container

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-activemq</span>

Starter for JMS messaging using Apache ActiveMQ

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-elasticsearch</span>

Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-integration</span>

Starter for using Spring Integration

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-test</span>

Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest and Mockito

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-webflux</span>

Starter for building WebFlux applications using Spring Framework's Reactive Web support

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-jdbc</span>

Starter for using JDBC with the Tomcat JDBC connection pool

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-mobile</span>

Starter for building web applications using Spring Mobile

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-validation</span>

Starter for using Java Bean Validation with hibernate Validator

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-hateoas</span>

Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-jersey</span>

Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to <span style="color:#8d8c8c;font-family:NSimsun">spring-boot-starter-web</span>

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-neo4j</span>

Starter for using Neo4j graph database and Spring Data Neo4j

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-ldap</span>

Starter for using Spring Data LDAP

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-websocket</span>

Starter for building WebSocket applications using Spring Framework's WebSocket support

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-aop</span>

Starter for aspect-oriented programming with Spring AOP and AspectJ

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-amqp</span>

Starter for using Spring AMQP and Rabbit MQ

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-cassandra</span>

Starter for using Cassandra distributed database and Spring Data Cassandra

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-social-facebook</span>

Starter for using Spring Social Facebook

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-jta-atomikos</span>

Starter for JTA transactions using Atomikos

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-security</span>

Starter for using Spring Security

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-mustache</span>

Starter for building MVC web applications using Mustache views

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-jpa</span>

Starter for using Spring Data JPA with Hibernate

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter</span>

Core starter, including auto-configuration support, logging and YAML

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-groovy-templates</span>

Starter for building MVC web applications using Groovy Templates views

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-freemarker</span>

Starter for building MVC web applications using FreeMarker views

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-batch</span>

Starter for using Spring Batch

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-social-linkedin</span>

Stater for using Spring Social LinkedIn

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-<a href="http://www.php.cn/java/java-Cache.html" target="_blank">cache</a></span>

Starter for using Spring Framework's caching support

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-solr</span>

Starter for using the Apache Solr search platform with Spring Data Solr

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-mongodb</span>

Starter for using MongoDB document-oriented database and Spring Data MongoDB

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-jooq</span>

Starter for using jOOQ to access SQL databases. An alternative to <span style="color:#8d8c8c;font-family:NSimsun">spring-boot-starter-data-jpa</span> or <span style="color:#8d8c8c;font-family:NSimsun">spring-boot-starter-jdbc</span>

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-jta-narayana</span>

Spring Boot Narayana JTA Starter

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-cloud-connectors</span>

Starter for using Spring Cloud Connectors which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-jta-bitronix</span>

Starter for JTA transactions using Bitronix

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-social-twitter</span>

Starter for using Spring Social Twitter

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-data-rest</span>

Starter for exposing Spring Data repositories over REST using Spring Data REST

Table 2》. Spring Boot production starters

Name Description

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-actuator</span>

Starter for using Spring Boot's Actuator which provides production ready features to help you monitor and manage your application

Table 3》. Spring Boot technical starters

Starter for using Log4j2 for logging. An alternative to【Related recommendations】
Name Description

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-undertow</span>

Starter for using Undertow as the embedded servlet container. An alternative to <span style="color:#8d8c8c;font-family:NSimsun">spring-boot-starter-tomcat</span>

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-jetty</span>

Starter for using Jetty as the embedded servlet container. An alternative to <span style="color:#8d8c8c;font-family:NSimsun">spring-boot-starter-tomcat</span>

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-reactor-netty</span>

Starter for using Reactor Netty as the embedded reactive HTTP server.

<span style="color:#5e5e5e;font-family:NSimsun">spring-boot-starter-logging</span>

Starter for logging using Logback. Default logging starter

##spring-boot-starter-tomcat<span style="color:#5e5e5e;font-family:NSimsun"></span>

Starter for using Tomcat as the embedded servlet container. Default servlet container starter used by

spring-boot-starter -web<span style="color:#8d8c8c;font-family:NSimsun"></span>

##spring-boot-starter-log4j2<span style="color:#5e5e5e;font-family:NSimsun"></span>

spring-boot-starter-logging<span style="color:#8d8c8c;font-family:NSimsun"></span>

1.

Java free video tutorial

2.

Comprehensive analysis of Java annotations

3.

Alibaba Java Development Manual

The above is the detailed content of Detailed explanation of Spring Boot in java. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How does the JVM handle differences in operating system APIs?How does the JVM handle differences in operating system APIs?Apr 27, 2025 am 12:18 AM

JVM handles operating system API differences through JavaNativeInterface (JNI) and Java standard library: 1. JNI allows Java code to call local code and directly interact with the operating system API. 2. The Java standard library provides a unified API, which is internally mapped to different operating system APIs to ensure that the code runs across platforms.

How does the modularity introduced in Java 9 impact platform independence?How does the modularity introduced in Java 9 impact platform independence?Apr 27, 2025 am 12:15 AM

modularitydoesnotdirectlyaffectJava'splatformindependence.Java'splatformindependenceismaintainedbytheJVM,butmodularityinfluencesapplicationstructureandmanagement,indirectlyimpactingplatformindependence.1)Deploymentanddistributionbecomemoreefficientwi

What is bytecode, and how does it relate to Java's platform independence?What is bytecode, and how does it relate to Java's platform independence?Apr 27, 2025 am 12:06 AM

BytecodeinJavaistheintermediaterepresentationthatenablesplatformindependence.1)Javacodeiscompiledintobytecodestoredin.classfiles.2)TheJVMinterpretsorcompilesthisbytecodeintomachinecodeatruntime,allowingthesamebytecodetorunonanydevicewithaJVM,thusfulf

Why is Java considered a platform-independent language?Why is Java considered a platform-independent language?Apr 27, 2025 am 12:03 AM

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),whichexecutesbytecodeonanydevicewithaJVM.1)Javacodeiscompiledintobytecode.2)TheJVMinterpretsandexecutesthisbytecodeintomachine-specificinstructions,allowingthesamecodetorunondifferentp

How can graphical user interfaces (GUIs) present challenges for platform independence in Java?How can graphical user interfaces (GUIs) present challenges for platform independence in Java?Apr 27, 2025 am 12:02 AM

Platform independence in JavaGUI development faces challenges, but can be dealt with by using Swing, JavaFX, unifying appearance, performance optimization, third-party libraries and cross-platform testing. JavaGUI development relies on AWT and Swing, which aims to provide cross-platform consistency, but the actual effect varies from operating system to operating system. Solutions include: 1) using Swing and JavaFX as GUI toolkits; 2) Unify the appearance through UIManager.setLookAndFeel(); 3) Optimize performance to suit different platforms; 4) using third-party libraries such as ApachePivot or SWT; 5) conduct cross-platform testing to ensure consistency.

What aspects of Java development are platform-dependent?What aspects of Java development are platform-dependent?Apr 26, 2025 am 12:19 AM

Javadevelopmentisnotentirelyplatform-independentduetoseveralfactors.1)JVMvariationsaffectperformanceandbehavioracrossdifferentOS.2)NativelibrariesviaJNIintroduceplatform-specificissues.3)Filepathsandsystempropertiesdifferbetweenplatforms.4)GUIapplica

Are there performance differences when running Java code on different platforms? Why?Are there performance differences when running Java code on different platforms? Why?Apr 26, 2025 am 12:15 AM

Java code will have performance differences when running on different platforms. 1) The implementation and optimization strategies of JVM are different, such as OracleJDK and OpenJDK. 2) The characteristics of the operating system, such as memory management and thread scheduling, will also affect performance. 3) Performance can be improved by selecting the appropriate JVM, adjusting JVM parameters and code optimization.

What are some limitations of Java's platform independence?What are some limitations of Java's platform independence?Apr 26, 2025 am 12:10 AM

Java'splatformindependencehaslimitationsincludingperformanceoverhead,versioncompatibilityissues,challengeswithnativelibraryintegration,platform-specificfeatures,andJVMinstallation/maintenance.Thesefactorscomplicatethe"writeonce,runanywhere"

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.