项目创建

方式1:在官网上(https://start.spring.io/)使用Spring Initializr工具创建。填写好项目信息后,点击”Generate Project“按钮生成项目;下载此项目压缩包。最后解压以maven项目导入IDEA
方式2:使用idea直接创建(本质上是idea根据输入的项目信息自动完成了方式1)

  • 创建一个新项目,选择Spring Initializr

  • idea无法访问start.spring.io解决方法:使用国内镜像。idea默认的是使用官网。可以改为使用阿里云镜像。

即在创建时选择使用http://start.aliyun.com

项目结构

image.png

  • 注意必须在java下创建一个包,且springboot的main()与包的根目录同级才能识别
    • service,entity等代码与main()类同级
  • test下的是默认创建的单元测试,java下是springboot的启动类
  • resources是配置文件和静态资源目录,默认创建一个核心配置文件application.properties
  • pom.xml中为核心依赖
  • image.png controller的文件夹必须与主程序在一个目录下(同级子目录),如图中的test可以访问,而out访问不了,可以通过@ConpomentScan配置
    • image.png如控制类写controller里可以访问,写test下就404

      主函数

      1. //项目Application.java
      2. @SpringBootApplication //标注这个类是一个springboot的应用
      3. public class FirstSpringbootApplication {
      4. public static void main(String[] args) {
      5. SpringApplication.run(FirstSpringbootApplication.class, args); }
      6. }

pom.xml

  • 默认配置如下 ```xml 4.0.0 cn.mg FileManagement 1.0
org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine org.apache.maven.plugins maven-compiler-plugin 3.8.1 1.8 1.8 UTF-8 org.springframework.boot spring-boot-maven-plugin 2.3.7.RELEASE com.example.boot.BootApplication repackage repackage
  1. <a name="Crflt"></a>
  2. ## pom默认以外的扩展
  3. ```xml
  4. <!-- 打包的机制 默认为jar -->
  5. <packaging>jar</packaging>
  6. <!--引入 该依赖将Web服务集成进来,如集成了应用服务器和mvc功能,jackson等等。没有这个连基本的一些mvc注解都无法使用-->
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-web</artifactId>
  10. </dependency>

编写接口(Controller)

  • 在主程序(即项目Application.java)的同级目录下,新建一个包然后编写controller
    @RestController
    public class HelloController {
      @RequestMapping("/hello")    //处理url请求
      public String hello() {  
          return "Hello World";  
      }   
    }
    

    运行

    启动主程序,访问localhost:8080+控制器方法路径浏览器返回Hello World (不要用test运行,test运行浏览器访问不了,因为必须启动main才能启动引入的启动器)

    打包

    点击 maven的 package
    第一个Springboot - 图4

如果遇上以上错误,可以在配置打包时跳过运行测试用例

#在pom.xml中添加以下内容

<!--
    在工作中,很多情况下我们打包是不想执行测试用例的
    可能是测试用例不完事,或是测试用例会影响数据库数据
    跳过测试用例执
    -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <!--跳过项目运行测试用例-->
        <skipTests>true</skipTests>
    </configuration>
</plugin>

如果打包成功,则会在target目录下生成一个 jar 包。jar包即可在任何地方运行

彩蛋-修改启动logo

更改启动时显示的字符拼成的字母spring。这就是一个字符串。
只需一步:到项目下的 resources 目录下新建一个banner.txt 即可。
图案可以到:https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可!

启动器 spring-boot-starter

spring-boot-boot-starter-xxx:就是spring-boot的场景启动器。如...-start-webweb启动器
spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件;
SpringBoot将所有的功能场景都抽取出来,做成一个个的starter (启动器),只需要在项目中引入这些starter即可,所有相关的依赖都会导入进来 , 我们要用什么功能就导入什么样的场景启动器即可 ;我们未来也可以自己自定义 starter;