zoukankan      html  css  js  c++  java
  • 聚合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=
    *****************************************************************
    个人整理使用。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  • 相关阅读:
    Docker学习笔记
    Docker学习笔记
    Docker学习笔记
    Docker学习笔记
    Docker学习笔记
    第二类斯特灵数学习笔记
    浅谈"n个球"和"m个盒子"之间的乱伦关系
    cf932E. Team Work(第二类斯特灵数 组合数)
    [vijos]lxhgww的奇思妙想(长链剖分)
    BZOJ2054: 疯狂的馒头(并查集)
  • 原文地址:https://www.cnblogs.com/li2beyond/p/8318551.html
Copyright © 2011-2022 走看看