导航
[React 从零实践01-后台] 代码分割
[React 从零实践02-后台] 权限控制
[React 从零实践03-后台] 自定义hooks
[React 从零实践04-后台] docker-compose 部署react+egg+nginx+mysql
[React 从零实践05-后台] Gitlab-CI使用Docker自动化部署
[源码-webpack01-前置知识] AST抽象语法树
[源码-webpack02-前置知识] Tapable
[源码-webpack03] 手写webpack - compiler简单编译流程
[源码] Redux React-Redux01
[源码] axios
[源码] vuex
[源码-vue01] data响应式 和 初始化渲染
[源码-vue02] computed 响应式 - 初始化,访问,更新过程
[源码-vue03] watch 侦听属性 - 初始化和更新
[源码-vue04] Vue.set 和 vm.$set
[源码-vue05] Vue.extend
[源码-vue06] Vue.nextTick 和 vm.$nextTick
[部署01] Nginx
[部署02] Docker 部署vue项目
[部署03] gitlab-CI
[深入01] 执行上下文
[深入02] 原型链
[深入03] 继承
[深入04] 事件循环
[深入05] 柯里化 偏函数 函数记忆
[深入06] 隐式转换 和 运算符
[深入07] 浏览器缓存机制(http缓存机制)
[深入08] 前端安全
[深入09] 深浅拷贝
[深入10] Debounce Throttle
[深入11] 前端路由
[深入12] 前端模块化
[深入13] 观察者模式 发布订阅模式 双向数据绑定
[深入14] canvas
[深入15] webSocket
[深入16] webpack
[深入17] http 和 https
[深入18] CSS-interview
[深入19] 手写Promise
[深入20] 手写函数
[深入21] 数据结构和算法 - 二分查找和排序
[深入22] js和v8垃圾回收机制
[深入23] JS设计模式 - 代理,策略,单例
[前端学java01-SpringBoot实战] 环境配置和HelloWorld服务
[前端学java02-SpringBoot实战] mybatis + mysql 实现歌曲增删改查
(一) 前置知识
(1) 一些单词
legal 法律
profile 配置文件
paste 粘贴
(2) IDEA如何自动的导入需要的注解?
-
setting
-> 搜索auto import
(3) IDEA如何新建一个文件夹,然后在改文件夹中创建一个class?
(二) 环境配置
(1) 安装及教程相关连接
(2) 注意事项
-
JDK8相关
- java8安装完成后,需要配置 ( 环境变量 ) 和 ( Path )
- java8-JDK8的环境变量配置
- 我的电脑 => 高级系统设置 => 高级 => 环境变量 => 系统变量 => 新建 => JAVA_HOME
变量名:JAVA_HOME
-
变量值:bin文件夹所在的全路径
比如 C:\Program Files\Java\jdk1.8.0_211
- jva8-JDK8的Path配置
- 我的电脑 => 高级系统设置 => 高级 => 环境变量 => 系统变量 => path =>
%JAVA_HOME%\bin
- 我的电脑 => 高级系统设置 => 高级 => 环境变量 => 系统变量 => path =>
- 如何测试java8的环境变量安装成功?如何验证path
- cmd 中输入
java -version
获取到相关信息即安装成功 - cmd 中输入
echo %JAVA_HOME%
查看环境变量的Path
- cmd 中输入
- java8-JDK8的环境变量配置
- java8安装完成后,需要配置 ( 环境变量 ) 和 ( Path )
-
maven相关
- 配置修改
- 下载解压后需要配置maven,即修改
D:\javaconfig\apache-maven-3.6.3\conf\setings.xml
文件 - 具体修改三个地方
-
<localRepository></localRepository>
- 本地仓库,设置为自己本地的文件夹中,这样本地有jar包时就不用每次去下载
- maven项目创建好后,需要jar包,先从本地仓库找,没找到再去中央仓库或私服中去下载
-
<mirrors><mirror></mirror></mirrors>
- 镜像
- 配置国内镜像,加快下载速度
-
<profiles><profile></profile></profiles>
- 让maven指定jdk1.8来进行编译
-
- 下载解压后需要配置maven,即修改
- maven环境变量设置
变量名:M2_HOME
-
变量值:bin文件夹所在的全路径
比如 D:\javaconfig\apache-maven-3.6.3
- maven的Path设置
- 我的电脑 => 高级系统设置 => 高级 => 环境变量 => 系统变量 => path =>
%M2_HOME%\bin
- 我的电脑 => 高级系统设置 => 高级 => 环境变量 => 系统变量 => path =>
- 验证maven是否配置成功
- cmd 中输入
mvn -version
- cmd 中输入
echo %M2_HOME%
- cmd 中输入
- 配置修改
-
IDEA上设置maven相关如下图
maven setings.xml
------
<localRepository>D:/javaconfig/m2/repos</localRepository>
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
-
java
-
maven
(三) 实现一个hello-world
- 浏览器发送get请求,服务器响应 'helloworld' 字符串
- 官方文档
(1) 在 ( pom.xml ) 配置文件中添加 ( parent ) 和 ( dependencies )
- parent:作用是做依赖管理,父项目中声明了常用的依赖的版本号,子项目继承后就不需要写 ( 依赖的版本号 ) 了
-
如何修改依赖指定的版本号:
- 1.
查看parent => spring-boot-starter-parent => spring-boot-dependencies 中的当前依赖的版本号的 key
- 2.在当前项目中重写配置,需要添加
<properties>
然后通过<mysql.version>
来修改指定的版本号
- 3.因为maven采用的是就近优先的原则
- 1.
-
starter场景启动器
-
starter
就是场景启动器
- 只要引入starter,这个场景的所有常规需要的依赖都会自动引入
- 官方starter
spring-boot-starter-*
- 第三方starter
*-spring-boot-starter
- 官方的starter文档
-
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
</parent>
// parent
// 1
// parent是父项目,固定写法
// parent的作用是:做依赖管理,父项目中声明几乎所有常用的依赖的版本号,子项目继承后就不需要写 ( 依赖的版本号 ) 了
// 2
// 问题:如果对parent仲裁的版本不满意,如果制定依赖的版本号?
// 答案:自己声明一个<properties>然后通过<mysql.version>来修改指定的版本号
// <properties><mysql.version>5.1.3</mysql.version></properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> // spring-boot-starter-web
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.4.2</version>
</dependency>
</dependencies>
(2) 就是编写 HelloController 类
-
@getMapping 和 @requestMapping 的区别?
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写
@RequestMapping可以指定GET、POST请求方式
@GetMapping等价于@RequestMapping的GET请求方式
@RestController // 是上面两个注解的合集
public class HelloController {
// @RequestMapping("/hello") 隐射请求
@RequestMapping(path="/hello", method = {RequestMethod.GET})
public String getHello() {
return "hello request success";
}
}
(3) 编译测试,点击 main 方法的run按钮进行编译
- 编译成功会看到服务端口等信息
- 可以通过浏览器访问测试
http://localhost:8080/hello
(四) SpringBoot配置文件 application.properties
- 配置文件
application.properties
- 在
main
文件夹下创建resources
文件夹,再在resources下创建application.properties
文件 -
application.properties
或application.yml
都可以
- 在
- 修改端口
server.port = 8888
- 官方文档 - 配置文件 - application.properties
application.properties文件
-------
server.port = 8888
(五) 打包部署 fat jars
- 1.在
pom.xml
中添加build
- 2.点击IDEA右边的
Maven => hello-world => LifeCycle => clean and package => run
- 3.打包完成后,鼠标右键,
open in explorer
在资源管理器中打开 - 4.在cmd中执行
java -jar hello-world-1.0-SNAPSHOT.jar
maven插件
-------
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
(六) 自动配置
- SpringBoot自动配好了
SpringMVC
依赖 - SpringBoot自动配好了
Tomcat
依赖 - SpringBoot自动配好了
web常见的功能,比如字符编码等
- 按需加载所有自动配置项
- 引入了哪些场景,这些场景的自动配置才会开启
- SpringBoot所有的自动配置功能都在
spring-boot-autoconfigure
包里
-
默认的包结构
- (
主程序所在的包
) 及其下面的 (所有子包
) 里的组件都会被默认 (扫描进来
)
- (
-
那如果就要放在主程序所在包的外面,怎么办? - 即改变扫描路径
- 在主程序的注解上加上
@SpringBootApplication(scanBasePackages = "java.com") 参数路径
- 在主程序的注解上加上
2021/05/04更新
mac上java的相关设置
(一) jdk8 相关设置
(1) 下载 jdk8
- 下载地址
-
选择 - Java SE Development Kit 8u291 - macOS x64
(2) 查看和设置 JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home
查看和设置 JAVA_HOME
(1) 在cmd中输入一下命令
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home
(2) 验证 JAVA_HOME 是否设置成功
echo $JAVA_HOME
(3) 查看 java 版本
java -version
(4) 相关教程
https://www.cnblogs.com/godtrue/p/12479919.html
(二) maven 相关设置
(1) 下载 Maven3.3+
- 下载地址
- 选择 download - Binary tar.gz archive - apache-maven-3.8.1-bin.tar.gz
(2) 配置 Maven3.3+
配置 Maven3.3+
(1) 修改maven配置文件 settings.xml
- 文件路径: /Users/admin/back_end/java/apache-maven-3.8.1/conf/settings.xml
- 具体修改三个地方
- 1
<localRepository></localRepository>
本地仓库,设置为自己本地的文件夹,这样本地有jar包时就不用每次去下载
maven项目创建好后,需要jar包,先从本地仓库找,没找到再去中央仓库或私服中去下载
- 2
<mirrors><mirror></mirror></mirrors>
镜像
配置国内镜像,加快下载速度
- 3
<profiles><profile></profile></profiles>
让maven指定jdk1.8来进行编译
- 具体内容如下
<localRepository>
/Users/admin/back_end/java/javaconfig/m2/repos
</localRepository>
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
(2) 设置maven相关的环境变量
- 1. cmd中输入 vim ~/.bash_profile ,输入 i 进入编辑模式
- 2. 添加如下配置
export MAVEN_HOME=/Users/admin/back_end/java/apache-maven-3.8.1
export PATH=$PATH:$MAVEN_HOME/bin
- 3. 输入 :wq 退出并保存当前文件
- 4. 输入命令:source .bash_profile
- 5. mvn -v
(3) idea上的maven设置
- 需要设置
- Maven home path ------- 是maven下载解压后的文件路径
- /Users/admin/back_end/java/apache-maven-3.8.1
- user setting file ----- 是maven的配置文件路径,需要修改 localRepository,mirror,profile 等
- /Users/admin/back_end/java/apache-maven-3.8.1/conf/settings.xml
- Local repository ------ 是本地仓库文件夹路径,将jar包存在本地
- /Users/admin/back_end/java/javaconfig/m2/repos
(3) 新建一个maven项目
- file - new - project
- project sdk 一定要选择1.8
- next
- 输入name 和 location 后点击 finish
- 点击 src/main/java 然后会弹出一个对话框
-
注意不建议直接这样新建maven项目,而是通过插件 Spring Assistant 来新建
-