(maven高级)day47javaEE基础查漏补缺

1.有maven的话,可以自己导入jar包嘛?

可以,但是使用maven打包,会报错,提示xxx.jar不存在,需要将jar包手动添加到maven本地仓库中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nUPMYHoT-1643389291360)(问题.assets/1643307511338.png)]

maven项目手动导入jar包依赖_我在北国不背锅的博客-CSDN博客_maven项目手动导入jar包

2.maven的主要标签

 <groupId>公司</groupId>
    <artifactId>项目</artifactId>
    <version>版本</version>
    	SNAPSHOT: 快照 测试版本
    	RELEASE:  发行 正式版本
    <packaging>打包方式</packaging>
    	jar : java工程(默认值)
    	war : web工程
    	pom : 父工程
    <dependencies>  我需要谁  </dependencies>
	<modules> 父工程时候才有, 里面用于声明当前父工程管理的子工程 </modules>

3.企业中真实的项目是什么样子的,怎么分的结构。

java包:
|_annotation:放置项目自定义注解
|_aspect:放置切面代码
|_config:放置配置类
|_constant:放置常量、枚举等定义
   |__consist:存放常量定义
   |__enums:存放枚举定义
|_controller:放置控制器代码
|_filter:放置一些过滤、拦截相关的代码
|_mapper:放置数据访问层代码接口
|_model:放置数据模型代码
   |__entity:放置数据库实体对象定义
   |__dto:存放数据传输对象定义
   |__vo:存放显示层对象定义
|_service:放置具体的业务逻辑代码(接口和实现分离)
   |__intf:存放业务逻辑接口定义
   |__impl:存放业务逻辑实际实现
|_utils:放置工具类和辅助代码


//src/main/resources目录,里面主要存放静态配置文件和页面静态资源等东西:

|_mapper:存放mybatis的XML映射文件(如果是mybatis项目)
|_static:存放网页静态资源,比如下面的js/css/img
   |__js:
   |__css:
   |__img:
   |__font:
   |__等等
|_template:存放网页模板,比如thymeleaf/freemarker模板等
   |__header
   |__sidebar
   |__bottom
   |__XXX.html等等
|_application.yml       基本配置文件
|_application-dev.yml   开发环境配置文件
|_application-test.yml  测试环境配置文件
|_application-prod.yml  生产环境配置文件

看完这篇,你还用纠结如何划分项目结构和代码分层的问题吗_xcbeyond|疯狂源自梦想,技术成就辉煌-CSDN博客

4.拆分与聚合:

拆分 将原来的一个项目拆分成一个个小的模块, 每个模块都有自己的坐标, 当其它项目需要本模块的功能时, 只需要按照坐标引入本模块就可以了

聚合 通过坐标的形式,将各个模块组装在一起,完成一个项目的功能

5.父子和模块之间的依赖关系:

  • 父子工程之间: 继承关系, 子工程可以使用父工程中的jar包

  • 模块工程之间: 默认是没有任何关系的,但是可以通过依赖建立两者之间的关系,而且这个依赖关系是可以传递的

    * A----->B     B----->C
    * A可以使用C中的类, 我们把这种现象称为依赖传递
    * AB  BC之间称为直接依赖     AC之间称为间接依赖
    

6.依赖冲突:

依赖的传递过程中,很容易出现同一jar包的版本冲突问题,这个就称为依赖冲突

7.jar包冲突的解决方案:?

1)第一声明优先原则

2)路径近者优先原则

3)依赖排除

4)版本锁定(常用,还可以优化:提取版本信息)

8.看一下el表达式???

@Value三种情况的用法。

1) ${}是去找外部配置的参数,将值赋过来
2) #{}是SpEL表达式,去寻找对应变量的内容
3) #{}直接写字符串就是将字符串的值注入进去

9.sql语句用注解的话,就不需要配置别名了

10.classpath*和classpth的区别。

classpth:代表当前模块的类路径。

classpath*:代表,当前的模块的类路径,和它引用依赖的类路径。

11.写xml不提示,点进去或者全局搜索,复制一下属性。

12.双击shift(全局搜索):(记得右边打勾)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PdWq5fRp-1643389291362)(问题.assets/1643079650819.png)]

13.看一下,vo,bo,po???

PO:persistent object 持久对象,

POJO :plain ordinary java object 无规则简单java对象

BO:business object 业务对象

DTO(TO):Data Transfer Object 数据传输对象(组装的)

VO(Value Object)值对象:VO就是展示用的数据,不管展示方式是网页,还是客户端,还是APP,只要是这个东西是让人看到的,这就叫VO

一篇文章讲清楚VO,BO,PO,DO,DTO的区别_pengzhen_pz的博客-CSDN博客

14.maven操作:只操作父工程就行了

15.父项目进行maven打包后,生成web模块的war包,被引入模块的jar包,都会被放到web模块的web-inf-lib下面。

16.如何不被别人反编译看到源码。

img

17.私服的作用:相当于中央仓库的缓存,

18.私服里的jar包来源:

1)中央仓库获取的。

2)自己推送的。

19.mybatis逆向工程:

mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂的业务逻辑上。

企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码

https://blog.csdn.net/qq_39056805/article/details/80585941

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值