手动创建SpringBoot项目

1. 新建一个Maven项目

  • 使用idea新家一个maven项目,不使用任何archetype,就是一个纯净的maven项目

2. 在pom.xml中引入springboot父依赖


    org.springframework.boot
    spring-boot-starter-parent
    2.5.4

The spring-boot-starter-parent is a special starter that provides useful Maven defaults. It also provides a dependency-management section so that you can omit version tags for “blessed” dependencies.

  • 由于maven约定大于配置,所以标签的这个spring-boot-starter-parent依赖是springboot提供的一些有用的maven约定

  • 该依赖还能让我们在使用别的依赖的时候不用指定版本,因为该依赖的父依赖是spring-boot-dependencies,而这个父依赖里面的标签中已经配置了很多项目开发中常用的依赖以及版本,这就是springboot的一个特点 --> 依赖管理,可以让我们无需关注版本号,自动版本仲裁

    spring-boot-dependencies中的依赖管理
  • 以使用mysql连接驱动这个依赖为例,假设我们的项目中要用到mysql连接驱动,那么在pom.xml中添加依赖的时候像这样添加即可

    
        
            mysql
            mysql-connector-java
        
    
    

    并不需要我们去指定版本,这个特性叫版本仲裁

  • 那么如果我想用指定版本的依赖怎么办呢?可以参考spring-boot-dependencies中的做法,在我们的项目的pom.xml中写一个配置,在里面指定要用的版本,这里以使用mysql-connector-java5.1.43版本为例

    1. 先在spring-boot-dependencies中找到mysql-connector-java依赖

      找到要修改版本的依赖查看version引用

      可以看到这里的版本是使用中配置的mysql.version属性

    2. 找到相应的版本配置,这里即mysql.version

      找到相应的version引用
    3. 在pom.xml中重写这个配置即可

      
          5.1.43
      
      

3. 导入spring-boot-starter-web依赖

  • 该依赖用于开发web项目,springboot的很多依赖都是这种命名格式:spring-boot-starter-**表示不同的使用场景,这里是web项目,所以*就是web
  • springboot也允许我们自己定义starter组件,starter就是开箱即用的组件,一般自定义的starter命名格式为:*-spring-boot-starter

    
        org.springframework.boot
        spring-boot-starter-web
    

4. 编写入口程序

@RestController
@EnableAutoConfiguration
public class MainApplication {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }

}

然后直接运行这个main方法即可让springboot跑起来了!

@EnableAutoConfiguration这个注解是让当前这个类自动装配,让spring识别的,也可以用@SpringBootApplication这个注解去编写入口程序

@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}
  • 然后编写一个controller层的类
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello SpringBoot!";
    }
}

注意,这个controller层的类要和入口程序的类在同一个包下,这样才能被spring扫描到

项目目录结构

如果controller层和主程序类不在同一个包下,那么可以给@SpringBootApplication注解的scanBasePackages参数赋值,让spring知道该去哪里扫描包

@SpringBootApplication(scanBasePackages = "com.plasticine")

5. 修改运行端口

  • springboot默认运行在8080端口,如果需要运行在别的端口,可以在resources目录下新建一个叫做application.properties的配置文件,在里面配置server.port选项即可

6. 修改启动时的banner

  • springboot启动时会先输出一个banner,就是用字符串图片打印的那个spring,这里我们可以自定义要显示的内容

  • 在resources目录下新建一个banner.txt在里面输入的字符串就会在每次运行springboot之前输出了

  • 这里有一个网站,可以生成banner

    https://bootschool.net/ascii

你可能感兴趣的:(手动创建SpringBoot项目)