Spring Boot初识

本文介绍了SpringBoot的起源、特点及优势,并通过一个简单的示例展示了如何使用SpringBoot快速搭建和运行一个Web应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

认识Spring Boot

1.什么是SpringBoot
随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大
在上述环境下,SpringBoot应运而生。它使用“习惯优于配置”(项目中存在大量配置,此外还内置一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用SpringBoot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准胜场级别的基于Spring框架的项目,使用SpringBoot你可以不用挥着只需要很少的SPring配置
2.SpringBoot不是什么
首先SpringBoot不是应用服务器。是怎么样产生的呢?Spring Boot可以把Wen应用程序变为可自执行的JAR文件,不用部署到传统Java应用服务器里就能在命令行里运行。SpringBoot在应用程序里嵌入一个Servlet容器(Tomcat、Jetty或Undertow),以此实现这一功能。但这是内嵌的Servlet容器提供的功能,不是SpringBoot实现的
与之类似,SpringBoot也没有实现注入JPA或JMS之类的企业级java规范。他的确支持不少企业级java规范,但是要在Spring里自动配合支持那些特性的Bean。例如,SpringBoot没有实现JPA,不过它自动配置了某个JPA实现(比如Hibernate)的Bean,以此支持JPA
最后,SpringBoot没有引入任何形式的代码生成,而是利用了Spring
4的条件化配置特性,以及Maven和Gradle提供的传递依赖解析,以此实现Spring应用程序上下文里的自动配置
3.为什么要使用SpringBoot
1)SpringBoot的四个核心

  • 自动配置:针对很多Spring应用程序常见的应用功能,SpringBoot能自动提供相关的配置
  • 起步依赖:告诉Spring Boot需要什么功能,他就能引入需要的库
  • 命令行界面:这是SPringBoot的可选择性,借此你只需要代码就能完成完整的应用程序,无需传统项目构建
  • Actuator :让你能够深入运行中的SpringBoot应用程序,一探究竟

2)优点:

  • 快速构建项目;
  • 对主流开发框架的无配置;
  • 项目可独立运行,无需外部依赖Servlet容器 ;
  • 提高运行时的应用监控;
  • 极大地提高了开发、部署效率;
  • 与云计算的天然集合 ;

4.简单例子
1)先创建一个maven的web项目
2)在web.xml中添加如下配置

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.springboot</groupId>
  <artifactId>springboot</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>firstspringboot</name>
  <!-- 设置spring boot的parent -->
  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
    </parent> 

    <dependencies>
    <!-- 导入spring boot的web支持 -->
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>       
    </dependencies>
         <!-- Spring Boot也提供了一个可选的 Maven Plugin来创建可执行的jars -->  
        <!-- 添加Spring boot的插件 -->
    <build>  
        <plugins>  
            <plugin>  
                <groupId>org.springframework.boot</groupId>  
                <artifactId>spring-boot-maven-plugin</artifactId>  
            </plugin>  
        </plugins>  
    </build>  

</project>

3)编写第一个SpringBoot应用:

package com.first.job.controller;

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 * 
 * 
 * @Controller:表明这是一个SPringMVC的Controller控制器
 *@SpringBootApplication :Spring Boot项目的核心注解,主要目的是开启自动配置
 *@Configuration:这是一个配置Spring的配置类
 *
 */
@Controller
@SpringBootApplication
@Configuration
public class Example {

    @RequestMapping(value ="/hello")  
    @ResponseBody 
    public String home(){
        return "hello world!";
    }

     public static void main(String[] args){  
//          SpringApplication.run(Example.class, args);  
            SpringApplication application=new SpringApplication(Example.class);
            application.setBannerMode(Banner.Mode.OFF);
            application.run(args);
       }  
}

4)在Spring Boot项目中,启动的方式有两种,一种是直接run Java Application另外一种是通过Spring Boot的Maven插件运行。
(1)第一种:这里写图片描述
(2)第二种:
这里写图片描述
启动效果:
这里写图片描述
看到如下信息就说明启动成功了:
INFO 6188 — [ main] c.i.springboot.demo.HelloApplication : Started HelloApplication in 3.281 seconds (JVM running for 3.601)
5).测试
打开浏览器,输入地址:
这里写图片描述
效果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值