day4目录
上午:
关于标签的作用:声明jar的作用范围
junit的依赖若仅在测试中使用不在主程序中使用
加上<scope>test</scope>
maven依赖的作用范围:
前面的Maven 命令:
mvn install: 安装到本地仓库(之前设置改.M2路径的位置)
mvn deploy:部署到本地服务器(私服)
导出源码:
在maven官网的plugin里面有maven的所有插件,能够
查看并找到相应的插件
maven工程打包源码插件:
到了公司里面 都要用到自己的私服(公司代码肯定是私有的)
下午:
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);
}
}
下面这张图是一个刚创建的maven项目的pom.xml文件的展示:
配置文件(修改springboot Web项目的端口)
yml文件和properties文件的一些要点:
上图中优点第二排说的是存储的大小教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项目中访问静态资源
- 老师系统笔记:
- 我的笔记:
springboot官方推荐吧静态资源放置到以下几个目录之一:
“classpath:/META-INF/resources/”,“classpath:/resources/”,
“classpath:/static/”,“classpath:/public/”
class-path路径代表的就是resources路径
如何在springboot web项目中返回json数据【精通】
json对象:
json数组(是一个json对象的数组):
接口需求:
提供一个接口返回用户信息(json格式)
lombok依赖减少我们的工作量(不用写get和set方法了):
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
基于@Controller 方式的实现 标致着该方式是对
@RestController是一个复合注解,它将@Controller和@ResponseBody两个注解进行了整合在一起
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"); } }
- @SpringBootTest标注当前类是一个SpringBoot项目的单元测试
另需要注意:
test单元测试类里面的路径(包名)要和上面的 java一样,否则可能报错(如下图):
springboot Web项目的打包
web项目打包成为jar包 可执行jar包可直接通过命令运行
打包的插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
jar包已经包括了tomcat