2019-09-10-Maven实战

1,需求分析 

基于SSM框架的crud案例

2,技术选型

框架:SpringMVC+SPring+mbatis

数据库:MySQL

项目构建工具:

Maven

3,项目架构设计

    传统的项目设计方式:


   Maven项目的设计方式:

在创建maven项目的时候出现的

勾选为创建一个简单的项目(跳过对原型模板的选择)

注:创建总工程时(存放工具的jar包)必须是pom类型的 project ,创建聚合项目(也是pom类型 project )时需要继承总工程

注:maven 继承和聚合(maven继承管理 让版本的管理只在一个地方改变)(modules用于聚合,把执行的项目都放到同一的地方用module包括,可以省去一个个项目去mvn install,这样可以所有项目一次聚合 mvn install)

注:简单来说 聚合必定是继承 而继承不一定是聚合

创建maven工程:

创建一个pom类型 的project 的父工程 用来存放 所有的jar包和子项目的聚合工程

父工程 中pom文件中的所有jar包

注:父工程不需要生成jar所以只是声明,给子项目用所以要用

标签

所有需要用到的jar包


junit

junit

${junit.version}

test

org.slf4j

slf4j-log4j12

${slf4j.version}

org.mybatis

mybatis

${mybatis.version}

org.mybatis

mybatis-spring

${mybatis.spring.version}

mysql

mysql-connector-java

${mysql.version}

com.alibaba

druid

${druid.version}

org.springframework

spring-context

${spring.version}

org.springframework

spring-beans

${spring.version}

org.springframework

spring-webmvc

${spring.version}

org.springframework

spring-jdbc

${spring.version}

org.springframework

spring-aspects

${spring.version}

jstl

jstl

${jstl.version}

javax.servlet

servlet-api

${servlet-api.version}

provided

javax.servlet

jsp-api

${jsp-api.version}

provided

注:${}为获取版本号

 

4.12

4.1.3.RELEASE

3.2.8

1.2.2

5.1.32

1.6.4

1.0.9

1.2

2.5

2.0

2.2

注:

在创建子项目的时候父工程会自动引入子项目

pojo子工程:

pom文件

只继承父工程并没有其他依赖关系
数据类型,名称和数据库中保持一致

mapper子工程

mapper子工程需要继承父工程以外还需要调用pojo所以依赖于pojo
同时mapper需要连接数据库,所以需要数据库相关的jar包这里直接引入父工程的地址并不需要要添加版本号
添加操作
mapper映射文件

service子工程

service子工程需要继承父工程以外还需要调用 mapper 所以依赖于 mapper
service子工程相当于单体架构的service,服务层控制需要用到Spring

controller子工程

注:controller为web子工程所以我们在创建的时候选取的是war而不是jar或者pom

创建完同时我们需要修改webapp下的内容:内容如下红色部分

controller子工程主要用于处理web请求的所以需要是web项目  :controller 子工程需要继承父工程以外还需要调用  service  所以依赖于  service        
余姚运行一些jsp所以需要jsp的jar包,同时需要Spring-web的但是我们在service中已经添加所以这里依赖service并不需要再次添加

框架整合

controller

数据库配置文件


applicationContext-dao.xml 
applicationContext-service.xml
applicationContext-trans.xml
springmvc.xml
web.xml
web.xml
配置 tomcat 插件

mapper

资源拷贝插件

你可能感兴趣的:(2019-09-10-Maven实战)