SpringBoot学习笔记(一)

一、回顾Spring:

Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson  。

Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。

二、Spring采用了以下4种关键策略:

1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;

2、通过IOC,依赖注入(DI)和面向接口实现松耦合;

3、基于切面(AOP)和惯例进行声明式编程;

4、通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;

 三、什么是SpringBoot

SpringBoot就是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架,SpringBoot简化开发,约定大于配置,  you can "just run",能迅速的开发web应用,几行代码开发一个http接

四、Spring Boot的主要优点:

  • 为所有Spring开发者更快的入门

  • 开箱即用,提供各种默认配置来简化项目配置

  • 内嵌式容器简化Web项目

  • 没有冗余代码生成和XML配置的要求

五、SpringBoot快速搭建项目

环境:

1.java version "1.8.0_91"

2.Apache Maven 3.6.3

3.SpringBoot 2.4.3

开发工具:

IDEA

Spring官方提供了非常方便的工具让我们快速构建应用

Spring Initializr:https://start.spring.io/

项目创建方式一:

使用Spring Initializr 的 Web页面创建项目

1、打开  https://start.spring.io/

2、填写项目信息

3、点击”Generate Project“按钮生成项目,下载此项目

4、解压项目包,并用IDEA以Maven项目导入。

5、如果是第一次使用,可能速度会比较慢,包比较多(等待)

项目创建方式二:

使用 IDEA 直接创建项目

1、创建一个新项目

2、选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现

3、填写项目信息

4、选择初始化的组件(初学勾选 Web 即可)

5、填写项目路径

6、等待项目构建成功

(可以发现,IDEA集成了SpringBoot的创建,在IDEA上直接创建SpringBoot项目和在官网上的创建项目差不多。)

项目结构分析:

通过上面步骤完成了基础项目的创建。就会自动生成以下文件。

1、程序的主启动类

2、一个 application.properties 配置文件

3、一个 测试类

4、一个 pom.xml

pom.xml 分析:

    <!--父依赖-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    
    <dependencies>
        <!--web场景启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--springboot单元测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <!-- 剔除依赖 -->
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- 打包插件 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <!--自己添加的,跳过项目运行测试用例-->
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>

如果在pom.xml中,这个地方出现爆红如下:

解决:检查Maven环境配置:(我的是这样就解决了,如有其他问题,自行百度)

编写一个http接口:

1、在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到

2、在包中新建一个HelloController类

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "Hello Word! My SpringBoot";
    }
}

3、编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了 Tomcat 访问的端口号!

访问:localhost:8083

访问:localhost:8083/hello

简单几步,就完成了一个web接口的开发!

注意点:

此时可能遇到的错误:

报错1:java: 警告: 源发行版 11 需要目标发行版 11

解决:

1.先看编译环境的JDk版本是否一致( File-Settings-Build,Execution,Deployment-Compliler-Java Complier的jdk版本是1.8)

2.再看下菜单File-Project Structure下的Project和modules的编译环境是jdk1.8

3.查看编码方式是否为utf-8

重新启动项目,项目错误消失。

报错2:Web server failed to start. Port 8080 was already in use.

 

报错原因:端口被占用。

解决方法:

解决方法一:修改端口:https://blog.csdn.net/zhouky1993/article/details/103974598

解决方法二:关闭占用端口的进程。 https://blog.csdn.net/zhouky1993/article/details/103976320

我用了第一种方式,在application.properties文件中加入端口号设置:

#端口号设置
server.port=8083

重新启动即可。

六、将项目打包成jar包

点击 maven的 package

如果打包成功,则会在target目录下生成一个 jar 包

 打成了jar包后,就可以在任何地方运行了!

测试:到jar包生成的文件位置,打开Windows Power Shell

 java -jar .\springBootDemo-0.0.1-SNAPSHOT.jar

浏览器去访问,也是可以访问得到的。

注意点:

打包时可能报错1:

Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0

解决办法:

在pom.xml中,修改maven-resources-plugin的版本

<!--在这里修改版本-->
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.4.3</version>
</plugin>

打包时可能报错2:

Failed to execute goal org.apache.,maven.plugins:maven-compiler-plugin:3.8.1

在pom.xml中添加如下代码:

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
        <source>1.8</source>
        <target>1.8</target>
        </configuration>
</plugin>

 加餐:

更改启动时显示的字符拼成的字母,也就是 banner 图案;

1.在项目的 resources 目录下,新建一个banner.txt文件

2.到:https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可!

我生成一个杭州:

posted @ 2021-03-16 19:08  江河湖泊  阅读(229)  评论(0编辑  收藏  举报