Spring Boot快速入门

Spring Boot快速入门(一)

  • springboot概述
    官方描述:Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. Spring Boot takes an opinionated view of building production-ready applications.
    意思是:Spring Boot旨在尽可能快地启动和运行,只需最少的Spring前端配置。Spring Boot对构建生产就绪应用程序持批评态度。

  • 什么是Spring Boot?
    Spring Boot可以轻松创建可以运行的独立,生产及的给予spring的应用程序,可以快速上手,大多数springboot应用程序只需要很少的spring配置。
    可以使用Spring Boot创建使用java -jar或者更传统的war部署启动java应用程序。

  • spring的优点
    1、为所有spring开发提供从根本上更快且可以访问的入门体验。
    2、开箱即用
    3、提供大型项目(例如嵌入式服务器、安全性、度量标准、运行状况检查和外部化配置)通用的一系列非功能性功能。
    4、绝对没有代码生成,也不需要xml配置。

  • Spring Boot快速搭建
    1、第一步:新建项目
    选择 Spring Initializr ,然后选择默认的 url 点击【Next】:
    在这里插入图片描述
    然后修改一下项目的信息
    在这里插入图片描述
    勾选上 Web 模板:

在这里插入图片描述
选择好项目的位置,点击【Finish】:

在这里插入图片描述

如果是第一次配置 Spring Boot 的话可能需要等待一会儿 IDEA 下载相应的 依赖包,默认创建好的项目结构如下:![在这里插入图片描述](https://img-blog.csdnimg.cn/20190705085616959.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RmZ2FrbGRzamts,size_16,color_FFFFFF,t_70在这里插入图片描述
默认生成文件的作用:

  • SpringbootApplication: 一个带有 main() 方法的类,用于启动应用程序
  • SpringbootApplicationTests:一个空的 Junit 测试了,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文
  • application.properties:一个空的 properties 文件,可以根据需要添加配置属性
  • pom.xml: Maven 构建说明文件

2、第二步:Helloword
在【com.sbksrm.springboot】包下新建一个【helloword】,在【helloword】包下新建一个HellowordController

package com.sbksrm.springboot.helloword;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HellowordController {
    
    @RequestMapping("/hello")
    public String hello() {
        return "HelloWord";
    }
}

@RestController = @Controller + @ResponseBody

3、第三步:利用 IDEA 启动 Spring Boot
我们回到 SpringbootApplication 这个类中,然后右键点击运行
在这里插入图片描述
注意:我们之所以在上面的项目中没有手动的去配置 Tomcat 服务器,是因为 Spring Boot 内置了 Tomcat
等待一会儿就会看到下方的成功运行的提示信息:在这里插入图片描述
可以看到我们的 Tomcat 运行在 8080 端口,我们来访问 “/hello” 地址试一下:
在这里插入图片描述

  • 解析 Spring Boot 项目

1、解析 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>cn.wmyskxz</groupId>
    <artifactId>springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springboot</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

可以看到一个陌生的标签:<parent>这个标签是配置Spring Boot的父级依赖:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

有了这个,当前的项目才是Spring Boot项目,spring-boot-starter-parent是一个特殊的starter,他用来提供相关的maven默认依赖,他使用它以后,常用的包依赖就可以省略version标签。
2、应用入口
Spring Boot 项目通常有一个名为 *Application 的入口类,入口类里有一个 main 方法, 这个 main 方法其实就是一个标准的 Java 应用的入口方法。
@SpringBootApplication是Spring Boot的核心注解,他是一个组合注解,该注解组合了:@configuration,@EnableAutoConfiguration、@ComponentScan;若不是用@SpringBootApplication注解也可以使用者三个注解代替。

  • 其中,@EnableAutoConfiguration让Spring Boot根据类路径中的jar包依赖为当前项目进行自动配置,例如,添加了spring-boot-starter-web依赖,会自动添加Tomcat和Spring MVC的依赖,娜姆Spring Boot会对Tomcat和Spring MVC进行自动配置。
  • Spring Boot还会自动扫描@SpringBootApplication所在类的同级包以及下级包里的Bean,所以入欧类建议就配置在grounpID+actifactID组合报名下

配置文件
Spring Boot使用一个全局的配置文件application.properties或application.yml,放置[src/main/resources]目录或者类路径/config下。
Spring Boot的全局配置文件的作用是对一些默认配置的配置值进行修改。
在这里插入图片描述在这里插入图片描述
我们同样的将 Tomcat 默认端口设置为 8080 ,并将默认的访问路径从 “/” 修改为 “/hello” 时,使用 properties 文件和 yml 文件的区别如上图。

注意: yml 需要在 “:” 后加一个空格,幸好 IDEA 很好地支持了 yml 文件的格式有良好的代码提示;
我们可以自己配置多个属性
我们直接把 .properties 后缀的文件删掉,使用 .yml 文件来进行简单的配置,然后使用 @Value 来获取配置属性
在这里插入图片描述
在这里插入图片描述
重启 Spring Boot ,输入地址:http://localhost:8881/textValue 能看到正确的结果
在这里插入图片描述
注意: 我们并没有在 yml 文件中注明属性的类型,而是在使用的时候定义的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题: 这样写配置文件繁琐而且可能会造成类的臃肿,因为有许许多多的 @Value 注解。
封装配置信息

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

我们可以把配置信息封装成一个类,首先在我们的 name 和 age 前加一个 student 前缀,然后新建一个 StudentProperties 的类用来封装这些信息,并用上两个注解:

@Component:表明当前类是一个 Java Bean
@ConfigurationProperties(prefix = “student”):表示获取前缀为 sutdent 的配置信息
在这里插入图片描述

Spring Boot 热部署
在目前的Spring Boot项目中,当发生了任何修改之后我么都需要重启项目再能生效。Spring Boot提供了热部署的方式,当发现任何类发生了改变,就会通过JVM类加载的方式,加载最新的类发生到虚拟机中,这样就不需要重新启动也能生效。
只需要在pom.xml中添加一个依赖就行了:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>

Spring Boot 使用
1、Spring Boot 支持 JSP
Spring Boot 的默认视图支持是 Thymeleaf 模板引擎,但是这个我们不熟悉啊,我们还是想要使用 JSP 怎么办呢?

  • .第一步:修改 pom.xml 增加对 JSP 文件的支持

     <!-- servlet依赖. -->
     <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>javax.servlet-api</artifactId>
         <scope>provided</scope>
     </dependency>
     <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>jstl</artifactId>
     </dependency>
     
     <!-- tomcat的支持.-->
     <dependency>
         <groupId>org.apache.tomcat.embed</groupId>
         <artifactId>tomcat-embed-jasper</artifactId>
         <scope>provided</scope>
     </dependency>
    
  • 第二步:配置试图重定向 JSP 文件的位置
    修改 application.yml 文件,将我们的 JSP 文件重定向到 /WEB-INF/views/ 目录下
    在这里插入图片描述

  • 第三步:修改 HelloController
    在这里插入图片描述

  • 第四步:新建 hello.jsp 文件
    在这里插入图片描述

  • 第五步:刷新网页
    在这里插入图片描述
    继承MyBits

  • 第一步: 修改 pom.xml 增加对 MySql和 MyBatis 的支持

     !-- mybatis -->
     <dependency>
         <groupId>org.mybatis.spring.boot</groupId>
         <artifactId>mybatis-spring-boot-starter</artifactId>
         <version>1.1.1</version>
     </dependency>
     <!-- mysql -->
     <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>5.1.21</version>
     </dependency>
    
  • 第二步:新增数据库链接参数
    在这里插入图片描述

  • 第三步:创建实体和映射类

在这里插入图片描述

资源下载:https://download.csdn.net/download/dfgakldsjkl/11584359

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值