美文网首页
[前端学java01-SpringBoot实战] 环境配置和He

[前端学java01-SpringBoot实战] 环境配置和He

作者: woow_wu7 | 来源:发表于2021-10-02 11:55 被阅读0次

    导航

    [react] Hooks

    [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] 二分查找和排序

    [深入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
      image

    (3) IDEA如何新建一个文件夹,然后在改文件夹中创建一个class?

    image

    (二) 环境配置

    (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
        • 如何测试java8的环境变量安装成功?如何验证path
          • cmd 中输入 java -version 获取到相关信息即安装成功
          • cmd 中输入 echo %JAVA_HOME% 查看环境变量的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环境变量设置
        • 变量名:M2_HOME
        • 变量值:bin文件夹所在的全路径 比如 D:\javaconfig\apache-maven-3.6.3
      • maven的Path设置
        • 我的电脑 => 高级系统设置 => 高级 => 环境变量 => 系统变量 => path => %M2_HOME%\bin
      • 验证maven是否配置成功
        • cmd 中输入 mvn -version
        • cmd 中输入 echo %M2_HOME%
    • IDEA上设置maven相关如下图
      image
    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


      image
    • maven


      image

    (三) 实现一个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采用的是就近优先的原则
    • 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
      image

    (四) SpringBoot配置文件 application.properties

    • 配置文件 application.properties
      • main 文件夹下创建 resources 文件夹,再在resources下创建 application.properties 文件
      • application.propertiesapplication.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>
    
    image
    image

    (六) 自动配置

    • SpringBoot自动配好了 SpringMVC 依赖
    • SpringBoot自动配好了 Tomcat 依赖
    • SpringBoot自动配好了 web常见的功能,比如字符编码等
    • 按需加载所有自动配置项
      • 引入了哪些场景,这些场景的自动配置才会开启
      • SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里
    • 默认的包结构
      • ( 主程序所在的包 ) 及其下面的 ( 所有子包 ) 里的组件都会被默认 ( 扫描进来 )
    • 那如果就要放在主程序所在包的外面,怎么办? - 即改变扫描路径
      • 在主程序的注解上加上@SpringBootApplication(scanBasePackages = "java.com") 参数路径
        image
        image



    2021/05/04更新

    mac上java的相关设置

    (一) jdk8 相关设置

    (1) 下载 jdk8

    • 下载地址
    • 选择 - Java SE Development Kit 8u291 - macOS x64


      image.png

    (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
    
    image.png
    image.png

    (二) maven 相关设置

    (1) 下载 Maven3.3+

    • 下载地址
    • 选择 download - Binary tar.gz archive - apache-maven-3.8.1-bin.tar.gz
    image.png image.png

    (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
    
    image.png
    image.png
    image.png

    (3) 新建一个maven项目

      1. file - new - project
      1. project sdk 一定要选择1.8
      1. next
      1. 输入name 和 location 后点击 finish
      1. 点击 src/main/java 然后会弹出一个对话框
      1. 注意不建议直接这样新建maven项目,而是通过插件 Spring Assistant 来新建
        image.png
        image.png

    项目源码

    相关文章

      网友评论

          本文标题:[前端学java01-SpringBoot实战] 环境配置和He

          本文链接:https://www.haomeiwen.com/subject/etapnltx.html