【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)

day4目录

上午:

关于标签的作用:声明jar的作用范围

junit的依赖若仅在测试中使用不在主程序中使用
加上<scope>test</scope>

maven依赖的作用范围:

【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)
前面的Maven 命令:
mvn install: 安装到本地仓库(之前设置改.M2路径的位置)
mvn deploy:部署到本地服务器(私服)

导出源码:

在maven官网的plugin里面有maven的所有插件,能够

查看并找到相应的插件
maven工程打包源码插件:
【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)
到了公司里面 都要用到自己的私服(公司代码肯定是私有的)

下午:

springboot学习

springboot

sringboot 是一个用户快速开发的spring应用的工具,
快速原因:springboot内置了大量的初始化代码,开发者只需要补充自己的业务代码即可快速完成开发
对于web项目内置了tomcat服务器,可快速运行

springboot的四大功能

快速运行:自动运行项目
自动配置:自动屏蔽不需执行的代码
自动依赖:自动导入相关的依赖
统一监控:

springboot核心概念

启动类:springboot项目程序的执行入口
starter:springboot扩展功能的模块划分

统一配置: application.properties/yml

如何使用maven创建一个springboot项目

spring官网,spring.io 查看springboot的文档

官方文档4.1.5可查看springboot所有的依赖

具体步骤:
1、导入springboot的依赖:

  • 把当前项目父工程设置为springboot项目:
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.1</version>
</parent>
  • 导入相关依赖
<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
</dependencies>
  • 创建统一的配置文件
  • 创建启动类(这个创建在java的路径下,下面有一张图所示)
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class,args);
    }
}

【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)
下面这张图是一个刚创建的maven项目的pom.xml文件的展示:
【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)
【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)

配置文件(修改springboot Web项目的端口)

yml文件和properties文件的一些要点:
【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)

上图中优点第二排说的是存储的大小教properties要小很多,特别是有多个相同的前缀时
在properties文件中修改端口写法:

server.port=9090

在yml中的写法:

server:
	port: 9090

可以注意到当yml文件中多个配置都有相同的前缀时可以省略从而减少文件的大小(相比properties文件来说)

修改Springboot Web项目的应用服务器

  • 排查默认的tomcat服务器:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion><groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  • 导入新的应用服务器:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

上面的总的作用就是不使用默认的tomcat服务器,而使用jetty的web应用服务器

springboot Web项目中访问静态资源

  • 老师系统笔记:
    【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)
  • 我的笔记:
    springboot官方推荐吧静态资源放置到以下几个目录之一:
“classpath:/META-INF/resources/”,“classpath:/resources/”,
“classpath:/static/”,“classpath:/public/”

class-path路径代表的就是resources路径

如何在springboot web项目中返回json数据【精通】

json对象:
【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)
json数组(是一个json对象的数组):
【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)
接口需求:
提供一个接口返回用户信息(json格式)

lombok依赖减少我们的工作量(不用写get和set方法了):

		<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

基于@Controller 方式的实现 标致着该方式是对
【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)
@RestController是一个复合注解,它将@Controller和@ResponseBody两个注解进行了整合在一起
【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)

springboot单元测试类【精通】

  • 导入单元测试的依赖
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-test</artifactId>
</dependency>
  • 编写单元测试
    • @SpringBootTest标注当前类是一个SpringBoot项目的单元测试
      • classes指定启动类,当前测试类的包名与启动类的包名相同时可省略配置
    @SpringBootTest(classes = App.class)
    public class AppTest {
    
        @Test
        public void test(){
            System.out.println("hello");
        }
    
    }
    

另需要注意:
test单元测试类里面的路径(包名)要和上面的 java一样,否则可能报错(如下图):
【day4】实训日志4(maven依赖的scope标签,springboot学习,yml与properties,springboot项目的要点)

springboot Web项目的打包

web项目打包成为jar包 可执行jar包可直接通过命令运行

打包的插件:

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

jar包已经包括了tomcat

上一篇:Javaweb学学习进度报告——day4


下一篇:Outfits——Day4-Beta冲刺