热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

朝着先能干活的方向努力。。。奥利给!!!

第一个礼拜慌张,搭建了开发环境,直接上springboot,后来感觉学不懂,然后周末重新定义了学习路线第二个礼拜学习了maven mybatis springspringmvc,这

第一个礼拜慌张,搭建了开发环境,直接上springboot,后来感觉学不懂,然后周末重新定义了学习路线

第二个礼拜学习了maven  mybatis  spring springmvc,这个时候掌握了接口、curd

第三个礼拜 springboot,这个时候掌握了数据校验

但是一直搞这些理论、简单的demo项目也不个办法,我想该捅破窗户纸了,先从example上手吧,不懂就问。。。。

不然可能第四个礼拜就来活了,,,,,干起来。

学example、再看看研发相关系统、中间件、搞起来。。。。。。。


example学习

1.下载项目

git clone -b 分支名 远程仓库地址

2.用idea打开项目

3.观察项目是pom,因此先用maven下载依赖

4.观察项目目录结构,一个项目下有三个module

5.从外层父项目的pom看起,一行一行仔细的看,有不懂的记起来,学一下

尽管之前学习了,maven。但是你发现你学习的东西,和你做项目的东西可能并不能做到知行合一。因此还会有很多不知道的东西,不过不要紧直接通过这个看就能好一些,通过项目才能看出更多的问题。

pom

这是指项目的打包类型。java的项目一般用maven进行依赖管理,就像node用npm管理依赖一样。java项目通常很大,一个java项目下会有几个模块,每个模块就相当于是一个子项目。

因此可以想,如果一个java项目下面有2个module,那么在这个项目中,你就能看到3个pom文件。因为java项目用pom管理,父项目一个pom,剩下的两个子项目2个pom。

从项目的打包类型说起,所有的父项目的打包类型都为pom。父项目的pom比较值得关注,因为父项目的pom实际上将各个模块的通用部分抽离出来管理,各个子模块的pom放各自个性的部分。

说道父项目,也不得不提起一个modules。父项目的pom怎么管理子项目的呢,通过module将所有子项目引进。再用maven进行项目build的时候,实际上maven内部做了很多打包的工作,这个以后在学。

反过来,说道子项目,也不得不提起一个parent。作为子项目,也是需要明确自己的父项目是谁的,子项目会在其子pom的开头声明对父级的应用。另外子项目的打包类型只能是jar\war

目前我们项目是一个父项目,三个子module。子module的打包类型全为jar,父级项目的打包类型为pom

总结目前example项目,父级pom打包类型为pom,三个子项目打包类型全为jar


UTF-8
6.3.2
4.1.11.Final
1.3.1.Final

之前学习的时候,也对properties元素有一点印象,但是看完这个就不知道为什么了这里要这么写了

其实properties完全可以理解,就是pom中配置,可以把pom文件中重复出现的值抽离出来,这样就不用多次定义了。比如版本号,如果pom中依赖有些依赖的版本号是一样的就可以抽离出来,方便管理。这里的第一个配置是让整个项目统一为utf-8的编码

如下为properties定义的常量,在pom中的使用,在java中发现一个比较有意思的,就是配置文件中的值,基本都可以用${}来获取,挺方便


org.elasticsearch.client
transport
${elasticsearch.version}


org.elasticsearch.client
elasticsearch-rest-client
${elasticsearch.version}

继续看


  

     
         com.github.pagehelper
         pagehelper-spring-boot-starter
         1.2.12
     

看到这里,就能看到dependencyManagement这个元素了。这个元素说实话之前也见过,但是真不懂这玩意是干啥的。。。。

首先说明一点,就是dependencyManagement这个元素一般出现在父级pom配置中。maven使用这个主要就是用它来管理项目依赖版本号的。使用pom中的dependencyManagement能够让所有子项目中引用一个依赖而不用显示列出版本号。

其实这样做的好处很明显,就是许多子项目痘印用同一个依赖,这样就能在父级项目中统一这个依赖的版本号,当依赖升级的时候也好管理,各个子项目如果想使用不同的依赖也可以个性化。

另外有一个很重要的点:dependencyManagement只是负责声明依赖,并不实现引入,所以子项目的pom需要显示声明需要用的依赖。

如下,便是子pom中的使用



com.github.pagehelper
pagehelper-spring-boot-starter


推荐阅读
  • 在使用Visual Studio 2019评估Blazor时,将taghelper添加到剃刀文件时会出现错误。错误信息是"标记助手:@addTagHelper *,BlazorPOC.Validations"。需要在文件顶部添加@using语句"@using BlazorPOC.Validations"来解决这个问题。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • npminstall-Dbabelcorebabelpreset-envbabelplugin-transform-runtimebabelpolyfillbabel-loader ... [详细]
  • 1.码云上根据需求创建项目;2.进入项目——克隆下载 选择复制SSH3.clone码云上的项目到本地:在相关目录(如A)下运行终端,执行指令:gitclone复制的SSH地址;  ... [详细]
author-avatar
妖泪蓝夕_746
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有