今天我们来说一下springBoot优缺点
首先学习一门语言,需要知道其优点,说道springboot,很多人只知道能简化配置,其他的概不清楚。
今天就讲一讲springboot的优缺点
springboot是spring开源下面的子项目,是spring组件一站式的解决方案 主要是简化使用spring的难度 减去了繁杂的设置
提供了各种启动器 开发者能快速上手和使用
优点
1.创建独立的Spring应用程序
SpringBoot可以jar包的形式进行独立的运行,使用:java -jar xx.jar就可以成功运行项目,或者在项目的主程序中运行main函数
2.嵌入的Tomcat,Jetty或者Undertow,无序部署WAR文件
Spring 项目部署时需要我们在服务器上部署 tomcat,然后把项目打成 war 包扔到 tomcat里
springboot项目不需要单独下载Tomcat等传统服务器,内嵌容器,使得我们可以执行运行项目的主程序main函数,并让项目的快速运行,另外,也降低对运行环境的基本要求,环境变量中有JDK即可。
3.允许通过maven来根据需要获取starter
Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖,通过这些starter项目就能以Java Application的形式运行Spring Boot项目,而无需其他服务器配置
starter pom:https://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#using-boot-starter
4.尽可能自动配置Spring
Spring Boot提供Spring框架的最大自动化配置,大量使用自动配置,使得开发者对Spring的配置尽量减少
Spring Boot更多的是采用 Java Config 的方式,对 Spring 进行配置。
新建一个类,但是我不用 @Service注解,也就是说,它是个普通的类,那么我们如何使它也成为一个 Bean 让 Spring 去管理呢?只需要@Configuration 和@Bean两个注解即可
public class TestService {
public String sayHello () {
return "Hello Spring Boot!";
}
}
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JavaConfig {
@Bean
public TestService getTestService() {
return new TestService();
}
}
@Configuration表示该类是个配置类,@Bean表示该方法返回一个 Bean。这样就把TestService作为 Bean 让 Spring 去管理了,在其他地方,我们如果需要使用该 Bean,和原来一样,直接使用@Resource注解注入进来即可使用,非常方便。
5.提供生产就绪型功能,如指标、健康检查和外部配置
Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控;我们可以引入 spring-boot-start-actuator 依赖,直接使用 REST 方式来获取进程的运行期性能参数,从而达到监控的目的,比较方便。但是 Spring Boot 只是个微框架,没有提供相应的服务发现与注册的配套功能,没有外围监控集成方案,没有外围安全管理方案,所以在微服务架构中,还需要 Spring Cloud 来配合一起使用。
6.绝对没有代码生成,对XML没有要求配置
当然一个框架 有优点就有缺点 接下来 就分析一下他的缺点
SpringBoot缺点
1.依赖太多,一个spring boot项目就有很多M
2.缺少服务的注册和发现等解决方案
3.缺少监控集成方案,安全管理方案
运行springboot的三种方式
一、通过IDEA工具运行Application这个类的main方法
我们先写一个HelloController.java类,练练手。
package com.yousian.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("hello")
public class HelloController {
@RequestMapping("test")
public String sayHello(){
return "hello,springbootzxs......";
}
}
其中pom.xml中必配的配置。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yousian</groupId>
<artifactId>H2003B-springboot</artifactId>
<version>1.0-SNAPSHOT</version>
<!--
引入父级依赖 进行项目的自动配置
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<dependencies>
<!--
web 启动器 spring的自动配置
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
二、使用mvn install 生成jar后运行
一、进入SpringBoot项目的的根目录下面:
二、在dos命令中切换到springBoot项目目录下面:
1.这里有个小技巧:
法一、
在dos里面快速进入到已知的目录下面。先复制该路径(如:G:\java\java_workspace_springboot\DemoMzp),然后cd G:\java\java_workspace_springboot\DemoMzp(点击右键,点击粘贴。不能直接用ctrl+v粘贴)然后回车。
这时再输入要访问的那个磁盘的盘符+冒号,如 g: 回车即可!
2.成功进入多级目录。
法二、在目录的地址栏直接输入cmd,然后回车,即可在dos窗口打开指定目录(这个好用)。
启动命令。在dos里面输入: mvn spring-boot:run 回车即可。首次使用时间会比较长,需要加载很多jar包。
三、启动成功
出现这个标志(此时并不代表成功)。
这句话才表示成功。 启动用时2.25秒。
三。打包命令或者放到容器运行
在这里第三种就不演示了
下次再见