Maven(二)

Maven项目开发优势:
Maven管理的项目比较小,节省空间;依赖管理;一键构建;可跨平台;应用在大型项目可提高开发效率
 
Maven的仓库:本地仓库,远程仓库(私服,nexus仓库),中央仓库
 
依赖范围:
Compile   struts2 框架jar
Provided   jsp-api.jar     重点,如果不这样写,项目就会报错。
Runtime   数据库驱动包
Test    junit.jar   Junit包不会打进去,作用域一般写成test。
pom.xml文件:
<modelVersion> 表示约束的版本
maven坐标,jar包坐标,坐标:gav
<groupId>cn.itcast</groupId> <artifactId>ssh</artifactId ><version>0.0.1-SNAPSHOT</version>
Packaging  打包方式,只有三种:Jar  war  pom。
<dependencies></dependencies>依赖集合
<dependency></dependency> 单独的某一个依赖
<build> 主要用于配置插件的。plugin里面是插件的坐标,可以单独对插件进行配置。
<build>
<plugins>
 <plugin>
 </plugin>
</plugins>
</build>
 
Maven中的技术点:依赖传递,依赖冲突。
配置文件和java代码分开,一定要注意编译后的配置文件的路径,不然项目运行不起来。
数据库配置文件的名称:jdbe.properties
ssm,ssh,spring mvc pom依赖,直接搜索即可。
ssm中的Dao层:其实是面向接口编程,为接口中的方法生成动态代理方法,处理具体的业务逻辑。
创建对象,通过set方式为对象的属性赋值,属性可能是基本类型,也可能是引用类型。
<property name=”” value=””/> <property name=”” ref=””/>
通过id获取类的对象(bean的唯一标识),为哪个类创建对象?类的全路径。
 
单元测试注意事项:
类以Test结尾,返回值为void,使用@test注解,方法名称以test开头,配置spring容器。如何自动生成单元测试类ctrl+shift+t  --> create new test,然后进行一些配置,目标测试类的地址,使用的单元测试的版本等(IntelliJ IDEA中用快捷键自动创建测试类)。
 
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:/spring*.xml"})
public class BaseCustomerServiceImplTest {

    @Autowired
    private BaseCustomerDao mBaseCustomerDao;

    @Test
    public void selectCustomerByCode() {
        List<BaseDict> baseDicts = mBaseCustomerDao.selectCustomerByCode("002");
        for (BaseDict baseDict : baseDicts) {
            System.out.println(baseDict.toString());
            System.out.println("------");
        }
    }
}
使用spring配置的方式进行junit测试
使用spring配合Junit进行单元测试的总结
直接对spring中注入的bean进行测试(以DAO为例):
在测试类上添加@RunWith注解指定使用springJunit的测试运行器,@ContextConfiguration注解指定测试用的spring配置文件的位置
之后我们就可以注入我们需要测试的bean进行测试,Junit在运行测试之前会先解析spring的配置文件,初始化spring中配置的bean
需要启动服务器么?进行spring单元测试
分层开发与模块开发。
分模块开发:
项目集成,新建一个父项目,用的比较少;创建父工程,把所有的依赖交给父工程进行管理;然后创建子模块进行开发,对父工程进行依赖。
把dao层打成jar包,发布到本地仓库上,使用install命令发布到本地仓库,然后在pom.xml中引用此仓库即可。
使用nginx代理接口,防止别人访问到实际的接口地址。
 
依赖范围对依赖传递的影响(了解)。
 
代码规范:
接口方法必须使用注释,否则阿里代码开发规范就会报出警告。
依赖传递:只添加了一个依赖,发现项目中出现了很多jar,这种情况叫依赖传递。
依赖版本冲突的解决。
锁定依赖的版本:
<properties>
<spring.version>4.2.4.RELEASE</spring.version>
<hibernate.version>5.0.7.Final</hibernate.version>
<struts.version>2.3.24</struts.version>
</properties>
 
依赖范围对依赖传递造成的影响(了解)
搭建nexus服务器
将ssh_dao的这个工程打成jar包,并放入到nexus服务器上去,让别人进行下载使用.
执行deploy命令把jar包发布到私服。
Maven可以配置多个仓库地址。
maven的install可以将项目本身编译并打包到本地仓库,这样其他项目引用本项目的jar包时不用去私服上下载jar包,直接从本地就可以拿到刚刚编译打包好的项目的jar包,很灵活,避免每次都需要重新往私服发布jar包的痛苦;
 
 
Maven 插件的作用,对其的理解
Maven help插件的作用
idea中另外两个插件
Web.xml中有哪些内容
Mybatis 逆向工程
软件架构
Soap 微服务架构
Install 命令作用是什么
Maven仓库的,配置文件 本地仓库的地址,远程使用阿里云仓库。
构建的项目类型,要选择module.
依赖传递,依赖冲突。
Fearful编码风格,核心注解。
Maven中的版本锁定,el表达式实现
Idea 常用插件: 阿里 mybatis  查看依赖传递,看看当前开发环境中安装了哪些插件  都有什么作用。

依赖冲突如何解决?(使用插件进行解决)


Maven 插件的作用
什么是Maven插件?
Maven实际上是一个执行插件的框架,其所有的任务其实都是由插件完成(Maven一切都是插件)。
Maven插件通常用于:生成jar包文件,生成war包文件,编译源码文件,代码单元测试,生成项目文档,生成项目报告。
构建插件(Build plugins)
插件 描述
clean 构建完成后清理目标,删除目标目录。
compiler 编译Java源文件。
surefile 运行JUnit单元测试,生成测试报告。
jar 从当前项目生成JAR文件。
war 从当前项目生成WAR文件。
Maven Helper插件的作用
Maven Helper插件:查找和排除Jar包冲突的依赖关系。
使用Maven Helper插件
打开项目的pom.xml文件,在文件编辑器的左下方,会看到两个tab,一个是“Text”,另一个是“Dependency Analyzer”;根据错误提示,我们做出相应的修复
idea中的插件:
 
Web.xml中有哪些内容
初始化spring容器,设置加载监听器,配置前端控制器,解决乱码问题
项目架构:
三层架构,集群架构,分布式架构,微服务架构等
项目架构:SOAP 微服务架构
服务层与表现层分离,服务层只处理业务逻辑,表现层使用springMVC实现,所有的数据都是通过调用服务层来获取,不直接操作数据库。Dao层和server层作为一个独立的工程存在,打成war包部署到单独的服务器上.Dubbo与zookeeper的使用。
Install 命令作用是什么
maven的install可以将项目本身编译并打包到本地仓库,这样其他项目引用本项目的jar包时不用去私服上下载jar包,直接从本地就可以拿到刚刚编译打包好的项目的jar包,很灵活,避免每次都需要重新往私服发布jar包的痛苦;
Maven仓库的,配置文件 本地仓库的地址,远程使用阿里云仓库。
setting.xml文件,本项目使用哪个maven核心配置文件? setting.xml中设置本地仓库的路径和远程阿里云仓库的路径。
Maven中的版本锁定
版本锁定(指定项目中依赖的版本):只是起到指定依赖版本的作用,并不会导入依赖
提取常量放入pom.xml的属性中
<properties>
<spring.version>4.2.4.RELEASE</spring.version>
<hibernate.version>5.0.7.Final</hibernate.version>
<struts.version>2.3.24</struts.verson>
</properties>

引入属性通过ognl表达式带入到依赖的版本中:例如${spring.version}。

errorPage属性的使用
在web.xml中统一配置错误信息

问题:
ClassPathXmlApplicationContext 加载不到appplicationContext.xml配置文件。
WEB-INF文件夹设置为资源文件夹即可,不需要修改此文件夹啊。

问题:
tomcat报错org.springframework.web.context.ContextLoaderListener找不到。
要把Spring的依赖包添加到tomcat路径下lib目录下,要不然Tomcat容器找不到Spring框架;使用maven管理项目,不存在这个问题啊

问题:
关于Context []startup failed due to previous errors有效解决方式(配置文件出了问题,Tomcat启动不成功)。
1.web.xml文件   web应用部署描述符,里面的部署的xml文件或者类,如果这些找不到就会发生startup failed due to previous errors错误。
2.如果在应用spring的话,在配置文件applicationContext.xml中定义的类、xml文件找不到也会报这个错误。
3.在web.xml,struts.xml,applicationContext.xml文件中自身有任何一点错误都可能引起上面的这个问题,而不仅仅是附带的文件错误导致。
4.如果使用ibatis的话,在SqlMapConfig.xml中定义的xml文件找不到也会报这个错误。(hibernate的配置在整合spring的时候使用spring的配置文件)

问题:
在pom.xml文件中使用EL表达式配置变量
通过<properties>元素用户可以自定义一个或多个Maven属性,然后在POM的其他地方使用${属性名}的方式引用该属性,这种做法的最大意义在于消除重复和统一管理,一般用于管理依赖版本



 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值