利用maven搭建modules工程
来源:互联网 发布:上海大华电子秤软件 编辑:程序博客网 时间:2024/05/16 00:55
利用maven搭建modules工程已经不是什么新鲜事了,现在也有很多更好的项目搭建方式,不过作为一个java新手,自己想搭建一个完整的工程。
一.利用maven搭建modules之helloword
什么是多modules工程?
在实际项目中会有许多的模块,为了方便模块的编写和管理,将不同模块分成一个个子项目,这些子项目都属于同一个父项目。
项目结构
结构说明:
tronsyn是父级项目,tronsyn.achieve,tronsyn.common等子项目都由它管理。
<groupId>com.tronsyn</groupId><artifactId>com.tronsyn</artifactId><packaging>pom</packaging><version>1.0.0</version>
它的作用是什么呢?
1.聚合:tronsyn执行mvn指令时,所有的子项目也会执行,不必挨个打包。
<modules> <module>com.tronsyn.server</module> <module>com.tronsyn.common</module> <module>com.tronsyn.achieve</module> <module>com.tronsyn.domain</module> <module>com.tronsyn.mapper</module> <module>com.tronsyn.web</module></modules>
2.管理:对依赖的jar包进行同一管理,规定jar包的id和version,但是在tronsyn中是没有下载jar包的,所以在子项目中想要加载jar还是要添加依赖,不过不必在添加版本号。这样的好处是,多个子项目添加了同样的依赖,当想要修改jar包版本时,只需修改父项目中的版本号即可。
//父pom<dependencyManagement>子模块:<dependency> <groupId>com.tronsyn</groupId> <artifactId>com.tronsyn.server</artifactId> <version>4.2.5</version></dependency></dependencyManagement>
***********************************
//子pom<dependency> <groupId>com.tronsyn</groupId> <artifactId>com.tronsyn.server</artifactId></dependency>
上图中的子模块是按照接口服务,接口实现,web端等等来区分的,各个子模块都继承了父项目,在pom文件中用<parent>标签体现
<parent> <artifactId>com.tronsyn</artifactId> <groupId>com.tronsyn</groupId> <version>1.0.0</version></parent>每个子模块之间又相互的依赖。其中tronsyn.web是一个web工程,所以其打包方式为war。
运行该项目在页面中展示helloword就成功了。
哈哈,似乎没有讲到什么重点,因为不管是不是modules工程,web工程都可以打开页面。其实,本小节只是想说明modules项目的结构,后面会说明一些更详细的地方。
二.modules模式下搭建spring + springmvc
modules模式下搭建spring + springmvc 和单module其实是一样的
1.读取web.xml : 加载spring-application.xml
2.加载spring , 读取spring-mvc.xml
3.加载springmvc
其中要用到的maven依赖和xml文件的配置这里就不再说明,网上有很多的教程.
这里需要说明的是:
1.spring的加载是放到web项目下的,包括数据库的链接等所有的配置.
2.modules之间需要依赖,但不能相互依赖,费则编译会报错,因为循环依赖的话,maven不知道应该先编译哪个项目.
3.由于是夸工程,所以所有工程建包时最好使用统一的格式比如:com.项目名.模块名.*,因为在使用类似
<context:component-scan base-package="com.项目名.*"/>标签时,需要统一管理路径
三.mytabis配置
在spring-application.xml文件中配置
<!-- 扫描xml文件 mybatis与数据库连接--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- dataSource是数据库配置 --> <property name="dataSource" ref="dataSource" />
<!-- mybatis的全局配置 --> <property name="configLocation" value="classpath:mybatis/mybatis-config.xml" /> <!-- mapper.xml文件路径 --> <property name="mapperLocations"> <list> <value>classpath*:com/tronsyn/mapper/sqlmap/*.xml</value> </list> </property></bean><!-- 扫描接口 dao与xml文件连接--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- mapper(dao层)路径 --> <property name="basePackage" value="com.tronsyn.mapper" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /></bean>对应的mapper工程的结构
在mapper工程的pom中需要配置
否则无法编译sqlmap.xml文件
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources></build>
- 利用maven搭建modules工程
- 利用Maven搭建工程
- 创建maven modules工程
- Maven modules 生产环境 开发环境搭建
- 搭建一个maven工程
- Maven工程的搭建
- 搭建简单Maven工程
- 搭建一个 Maven 工程
- Maven搭建Web工程
- maven搭建web工程
- Maven工程搭建
- 1-搭建maven工程
- Maven工程搭建
- 搭建maven多模块工程
- SpringMVC的maven工程搭建
- Myeclipse从零开始搭建Maven工程
- 项目的Maven工程搭建
- Idea+maven+web工程搭建
- 学习笔记-IO流-系统输出
- 【美团】最大矩形面积(分治法)
- 模式识别绪论
- 操作mysql数据库,出现中文乱码如何解决?
- linux僵尸进程和孤儿进程
- 利用maven搭建modules工程
- 2017.9.4 斜堆 失败总结
- Ubuntu14.04安装Matlab2014b记录
- 《UNIX网络编程 卷2》 笔记: Posix消息队列(1)
- 跨域2
- MyBatis学习(五)-缓存机制
- webService的简易介绍
- 用Java编写的第一个UDF
- Linux下常用软件分享(TODO)