聚合maven项目工程的搭建与配置

一。聚合maven工程步骤:
1、创建maven工程 jh-parent (pom)
a、管理依赖的包;
b、添加编译的插件;
2、创建工程 jh-utils (jar) 继承 jh-parent
a、添加需要依赖的包
3、创建工程 jh-single (pom) 继承 jh-parent
a、添加依赖(jh-utils)
4、创建module 工程 jh-single-pojo(jar) 继承jh-single

5、创建module 工程 jh-single-mapper(jar) 继承jh-single
6、创建module 工程 jh-single-service(jar) 继承jh-single
7、创建module 工程 jh-single-web(war) 继承jh-single
8、配置各模块间依赖关系
9、在jh-single-web工程下创建资源文件
spring-mybatis.xml
spring-service.xml
springmvc.xml
config.properties
10、配置web.xml
11、在jh-single-web工程添加maven-tomcat-plugin
12、配置generator工具生成dao层各部件
13、编写service实现类
14、测试service类;
15、打包安装顺序:install:jh-parent --》jh-utils --》jh-single
16、发布:jh-single-web----》tomcat7:run

***************************************************************************************************

jh-parent的pom.xml需要配置maven编译插件
<build>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1<version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</build>
***************************************************************************************************

jh-single-web的pom.xml需要配置maven 的tomcat插件

<build>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
<port>8080</port>
</configuration>
</plugin>
</build>

***************************************************************************************************

jh-single-web的web.xml配置

1.配置spring上下文

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-*.xml</param-value>
</context-param>

2.配置侦听器
/**<!-- 配置侦听器 *监听器用来扫描spring上下文
ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext.xml的配置信息。
因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。
-->
*/
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

3.配置编码过滤器

<filter>
<filter-name>charater</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>character</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

4.配置springmvc的核心控制器

<servlet>
<servlet-name>springmvc</servlet-name>
<serlvet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<!-- 默认可以不配置:去WEB-INF下找${servlet-name}-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvx.xml</param-value>
</init-param>


<load-on-startup>1</load-on-startup>
<!-- 1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。 2)它的值必须是一个整数,表示servlet应该被载入的顺序
2)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet; 3)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
4)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。 5)当值相同时,容器就会自己选择顺序来加载。 所以,<load-on-startup>x</load-on-startup>,中x的取值1,2,3,4,5代表的是优先级,而非启动延迟时间。 -->

</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

***************************************************************************************************

springmvc.xml配置 namespaces加入p,context,mvc

<!--配置控制bean的扫描路径 -->
<context:component-scan base-package="com.j1706.controller"></context:component-scan>
<!--配置注解驱动 -->
<mvc:default-servlet-handler/>
<!--配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
***************************************************************************************************

spring-service.xml配置 namespaces加入aop,context,p
<!-- 配置业务实现bean的扫描路径 -->
<context:component-scan base-package="com.j17.service"></context:component-scan>

***************************************************************************************************

spring-mybatils.xml配置namespaces加入aop,tx,context,
<!--配置数据库参数文库 -->
<context:property-placeholder location="classpath:res/config.properties"/>
<!--配置数控源连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>

<!-- 配置sqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mapperLocations" value="classpath:com/j17/mapping/*.xml"></property>
<property name="typeAliasesPackage" value="com.j17.pojo"></property>
</bean>
<!-- 配置mybatis接口扫描的动态代理的路径 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.j17.mapper"></property>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 配置事务的扩散机制@Transactional -->
<tx:annotation-driven proxy-target-class="true"
transaction-manager="transactionManager" />
***************************************************************************************************

classpath:res/config.properties

jdbc.url=jdbc:mysql://localhost:3306/sdb
jdbc.driver=com.mysql.jdbc.Driver
jdbc.username=liu
jdbc.password=
*****************************************************************
个人整理使用。。。。。。。。。。。。。。。。。。。。。。。。。。。。

原文地址:https://www.cnblogs.com/li2beyond/p/8318551.html