1. 先安装Idea。。。
2. 配置Maven。。。仓库。:https://blog.csdn.net/github_37759996/article/details/90748461
3. 新建Project,创建HelloWorld。
Spring boot配置:(springboot与maven版本对应:https://www.cnblogs.com/oumi/p/9241424.html)(springboot与jdk版本对应关系:https://www.cnblogs.com/harrychinese/p/jdk_and_springboot_version.html https://blog.csdn.net/wj197927/article/details/79563081)
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.1.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
>>写Java接口,返回json格式的数据(REST)
>>发布服务
>>监控服务器运行状态,当前的CPU,和访问人数:java 服务器监控
开发成功了怎么部署呢?
>>SpringBoot2.3.1参考文档:https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/htmlsingle/
>>Spring Boot Github:https://github.com/spring-projects/spring-boot/
>>官网:https://spring.io/projects/spring-boot/
Spring Boot的优点:
添加以下配置代码可以将我们的应用打包成一个可独立运行的jar包。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
然后在jar包所在目录执行
>>类似的服务:NodeJS server.js、Live Server也可以做后端吗?为什么不如Python、Java做后端好
打包之后的应用包含的jar包。。
可以看到里面有嵌入式的tomcat。。为什么没有jetty呢?
SpringBoot的依赖:
SpringBoot启动器Starters
Name | Description |
---|---|
Core starter, including auto-configuration support, logging and YAML |
|
Starter for JMS messaging using Apache ActiveMQ |
|
Starter for using Spring AMQP and Rabbit MQ |
|
Starter for aspect-oriented programming with Spring AOP and AspectJ |
|
Starter for JMS messaging using Apache Artemis |
|
Starter for using Spring Batch |
|
Starter for using Spring Framework’s caching support |
|
Starter for using Cassandra distributed database and Spring Data Cassandra |
|
Starter for using Cassandra distributed database and Spring Data Cassandra Reactive |
|
Starter for using Couchbase document-oriented database and Spring Data Couchbase |
|
Starter for using Couchbase document-oriented database and Spring Data Couchbase Reactive |
|
Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch |
|
Starter for using Spring Data JDBC |
|
Starter for using Spring Data JPA with Hibernate |
|
Starter for using Spring Data LDAP |
|
Starter for using MongoDB document-oriented database and Spring Data MongoDB |
|
Starter for using MongoDB document-oriented database and Spring Data MongoDB Reactive |
|
Starter for using Neo4j graph database and Spring Data Neo4j |
|
Starter for using Spring Data R2DBC |
|
Starter for using Redis key-value data store with Spring Data Redis and the Lettuce client |
|
Starter for using Redis key-value data store with Spring Data Redis reactive and the Lettuce client |
|
Starter for exposing Spring Data repositories over REST using Spring Data REST |
|
Starter for using the Apache Solr search platform with Spring Data Solr |
|
Starter for building MVC web applications using FreeMarker views |
|
Starter for building MVC web applications using Groovy Templates views |
|
Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS |
|
Starter for using Spring Integration |
|
Starter for using JDBC with the HikariCP connection pool |
|
Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to |
|
Starter for using jOOQ to access SQL databases. An alternative to |
|
Starter for reading and writing json |
|
Starter for JTA transactions using Atomikos |
|
Starter for JTA transactions using Bitronix. Deprecated since 2.3.0 |
|
Starter for using Java Mail and Spring Framework’s email sending support |
|
Starter for building web applications using Mustache views |
|
Starter for using Spring Security’s OAuth2/OpenID Connect client features |
|
Starter for using Spring Security’s OAuth2 resource server features |
|
Starter for using the Quartz scheduler |
|
Starter for building RSocket clients and servers |
|
Starter for using Spring Security |
|
Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest and Mockito |
|
Starter for building MVC web applications using Thymeleaf views |
|
Starter for using Java Bean Validation with Hibernate Validator |
|
Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container |
|
Starter for using Spring Web Services |
|
Starter for building WebFlux applications using Spring Framework’s Reactive Web support |
|
Starter for building WebSocket applications using Spring Framework’s WebSocket support |
https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/htmlsingle/#using-boot-starter
In addition to the application starters, the following starters can be used to add production ready features:
Name | Description |
---|---|
Starter for using Spring Boot’s Actuator which provides production ready features to help you monitor and manage your application |
Finally, Spring Boot also includes the following starters that can be used if you want to exclude or swap specific technical facets:
Name | Description |
---|---|
Starter for using Jetty as the embedded servlet container. An alternative to |
|
Starter for using Log4j2 for logging. An alternative to |
|
Starter for logging using Logback. Default logging starter |
|
Starter for using Reactor Netty as the embedded reactive HTTP server. |
|
Starter for using Tomcat as the embedded servlet container. Default servlet container starter used by |
|
Starter for using Undertow as the embedded servlet container. An alternative to |
For a list of additional community contributed starters, see the README file in the spring-boot-starters module on GitHub. |
Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starters,相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器
ArcGIS Server REST:
标注SpringBootApplication在某个类之上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
HelloWorld细节-自动配置:
以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能;这样自动配置才能生效;它将SpringBootApplication类所在包及下面所有子包里面的所有组件扫描到Spring容器;