SpringBoot搭建和详解(持续更新版)

一、项目创建:

1. 通过File->New Project来创建一个项目

2. 选择通过Spring Initializr来创建一个SpringBoot应用

3. 填写好Maven项目的groupIdartifactId及选择好Java版本

  • Group 和 Artifact的含义:

Group一般分为多个段,第一段为,第二段为公司名称又分为orgcomcn等等许多,其中org非营利组织com商业组织

Artifact是指项目名称

举例:apache公司的tomcat项目,这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,Artifact是tomcat。

此处我的Group为cn.wpy。cn是中国缩写,wpy是我的名字

  • Java Version主流选择 8
  • 更改Artifact,Name会自动跟着变

4. 选择好起步依赖,这里选择的是开启Web功能的起步依赖

  • 起步依赖如果多选或少选该怎么办?

创建完成后,找到 pom.xml 文件,在这里面手动添加依赖

  • 起步依赖的作用?

起步依赖的作用就是让依赖的添加更加便捷,毕竟点一下鼠标就可以添加

Spring项目的话,我们需要添加很多依赖,还需要考虑各个依赖版本的兼容性问题,是个相当麻烦的事情,起步依赖则不需要考虑版本的兼容问题

5.  选择好项目的存放位置即可顺利创建一个SpringBoot应用。

 Project name会跟随前面步骤中Artifact的内容改变

6. 创建完成

二、 查看项目结构:

 1. 应用启动类(XXXXApplication)

  • 启动类的名称

 不同的项目名称的启动类名称不一样(启动类名称是springboot自动生成)。举例:我的项目名称叫mallstudy,所以启动类的名称就自动生成为MallStudyApplication。

  • @SpringBootApplication的作用、SpringApplication.run的作用
@SpringBootApplication  // 通过@SpringBootApplication注解开启组件扫描和自动配置
public class MallStudyApplication {


    //通过SpringApplication.run()引导应用程序启动;
    public static void main(String[] args) {
        SpringApplication.run(MallStudyApplication.class, args);
    }

}
  •  @SpringBootApplication详解

@SpringBootApplication注解是三个注解的结合体,拥有以下三个注解的功能:

  1. @Configuration:用于声明Spring中的Java配置;
  2. @ComponentScan:启用组件扫描,当我们声明组件时,会自动发现并注册为Spring应用上下文中的Bean;扫包范围:当前启动类同级包或者子包下面
  3. @EnableAutoConfiguration:开启SpringBoot自动配置功能,简化配置编写。
  • SpringBoot的三种启动方式:

第一种:在类的上面添加@EnableAutoConfiguration,写一个main,main里面写SpringApplication.run(HelloController.class,args); HelloController是这个类的名称。此方法只能加载这一个类,不能加载其他类,效果不好。

@EnableAutoConfiguration注解作用:让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置。这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。

第二种: 在第一种方法的基础上添加:@ComponentScan(basePackages = "com.mayikt.controller")添加在类的上面,com.mayikt.controller指的是这个类所在的包,这句话的意思是扫描这个包下面的所以类,使之注入springboot的容器中,缺点:每次都要写两个注解,有点冗余。且springboot官方建议单独建一个启动类

第三种:建一个单独启动类,在类名上面添加@SpringBootApplication,@SpringBootApplication

被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解。写main方法同第一种的写法。扫包范围:当前启动类同级包或者子包下面。

2. 资源目录(resources)

  • 项目配置文件

resources/application.properties

  • 静态资源目录

resources/static/         用于存放html、css、js、图片等资源

  • 视图模板目录

resources/templates/      用于存放jsp、thymeleaf等模板文件

  • mybatis映射文件

resources/mapper/            新建的springboot结构中没有,需要自己手动建立,用于mybatis项目

  • mybatis配置文件

resources/mapper/config/    新建的springboot结构中没有,需要自己手动建立,用于mybatis项目

  • 如何访问资源?

我们可以在src/main/resources/static位置放置一个图片文件(D.jpg)。启动程序后,尝试访问http://localhost:8080/D.jpg。如能显示图片,配置成功。

3. springboot配置文件(application.properties)

  • 配置文件类型

配置文件类型application.propertiesapplication.yml

.properties写法:有点冗余

wpy.name = wpy

wpy.age = 21

yml写法:在企业中使用此方式较多

wpy:

 name: wpy

 age: 21

4. Maven构建文件(pom.xml)

  • 前面起步依赖点击的spring web,在pom.xml中显示如下图

  • spring-boot-starter-parent的作用

SpringBoot项目可以使用Maven进行构建,首先我们需要继承spring-boot-starter-parent这个父依赖,父依赖可以控制所有SpringBoot官方起步依赖的版本,接下来当我们使用官方起步依赖时,就不用指定版本号了(需要注意的是只有官方的起步依赖不需要指定版本号,其他的还是需要自行指定的。)

  • spring-boot-maven-plugin的作用
    主要用于将应用打包为可执行Jar

  • 如何添加其他依赖?
<dependencies>
    <!--SpringBoot Web功能起步依赖-->
    <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>
    <!--MyBatis分页插件-->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.10</version>
    </dependency>
    <!--集成druid连接池-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.1.10</version>
    </dependency>
    <!--Mysql数据库驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.15</version>
    </dependency>
    <!--springfox swagger官方Starter-->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-boot-starter</artifactId>
        <version>3.0.0</version>
    </dependency>
</dependencies>
  • 如何除掉起步依赖中不想用的库

你不想使用tomcat容器,想使用undertow容器,可以在Web功能依赖中排除掉tomcat。

<dependencies>
    <!--SpringBoot Web功能起步依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <!--排除tomcat依赖-->
            <exclusion>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <groupId>org.springframework.boot</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <!--undertow容器-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-undertow</artifactId>
    </dependency>
</dependencies>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

关键还得世俗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值