maven+mybatis+springmvc搭建多模块maven工程(模仿黑马淘淘商城项目)

来源:互联网 发布:2016淘宝开学季 编辑:程序博客网 时间:2024/05/18 13:27

源代码下载

模仿气象信息收集单位,做一个ssm框架的工程,然后发布webservice

本篇先搭建ssm工程Weather

安装环境

jdk1.7.0_79+Maven 3.5.2+MyEclipse10

1.创建weather-parent

1.1创建Maven Project

如图依次选择


图1.1


图1.2


图1.3

说明:weather-parent为聚合工程,打包方式选择pom。主要用于管理jar文件的版本。之后的Maven Project 需要继承weather-parent。图1.3显示 Project"weather-parent"already exists是因为我已经有一个同名项目,直接点击finish创建完成。进入配置过程。

1.2配置weather-parent

打开项目根目录中的pom.xml。配置常用的jar文件的依赖,并单独剥离版本号统一管理。

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.weather</groupId><artifactId>weather-parent</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><!-- 集中定义依赖版本号 --><properties><junit.version>4.12</junit.version><spring.version>4.1.3.RELEASE</spring.version><mybatis.version>3.2.8</mybatis.version><mybatis.spring.version>1.2.2</mybatis.spring.version><mybatis.paginator.version>1.2.15</mybatis.paginator.version><sqlserver.version>4.0</sqlserver.version><slf4j.version>1.6.4</slf4j.version><jackson.version>2.4.2</jackson.version><druid.version>1.0.9</druid.version><httpclient.version>4.3.5</httpclient.version><jstl.version>1.2</jstl.version><servlet-api.version>2.5</servlet-api.version><jsp-api.version>2.0</jsp-api.version><joda-time.version>2.5</joda-time.version><commons-lang3.version>3.3.2</commons-lang3.version><commons-io.version>1.3.2</commons-io.version><commons-net.version>3.3</commons-net.version><pagehelper.version>3.4.2</pagehelper.version><jsqlparser.version>0.9.1</jsqlparser.version><commons-fileupload.version>1.3.1</commons-fileupload.version><jedis.version>2.7.2</jedis.version><solrj.version>4.10.3</solrj.version><freemarker.version>2.3.23</freemarker.version><quartz.version>2.2.2</quartz.version><json.version>20090211</json.version></properties><dependencyManagement><dependencies><!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>${joda-time.version}</version></dependency><!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>${commons-lang3.version}</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>${commons-io.version}</version></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>${commons-net.version}</version></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>${httpclient.version}</version></dependency><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><!-- <scope>test</scope> --></dependency><!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis.spring.version}</version></dependency><dependency><groupId>com.github.miemiedev</groupId><artifactId>mybatis-paginator</artifactId><version>${mybatis.paginator.version}</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>${pagehelper.version}</version></dependency><!-- sqlserver --><dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>sqljdbc4</artifactId><version>${sqlserver.version}</version></dependency><!-- 连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>${servlet-api.version}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>${jsp-api.version}</version><scope>provided</scope></dependency><!-- 文件上传组件 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>${commons-fileupload.version}</version></dependency><!-- Redis客户端 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>${jedis.version}</version></dependency><!-- solr客户端 --><dependency><groupId>org.apache.solr</groupId><artifactId>solr-solrj</artifactId><version>${solrj.version}</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>${freemarker.version}</version></dependency><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>${quartz.version}</version></dependency></dependencies></dependencyManagement><build><finalName>${project.artifactId}</finalName><plugins><!-- 资源文件拷贝插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.7</version><configuration><encoding>UTF-8</encoding></configuration></plugin><!-- java编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin></plugins><pluginManagement><plugins><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins></pluginManagement></build></project>


2.创建weather-common


2.1  前两步参考图1.1和图1.2

第三步选择打包方式和继承关系如下图:

图2.1

2.2  配置pom.xml

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>weather-parent</artifactId><groupId>com.weather</groupId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.weather</groupId><artifactId>weather-common</artifactId><version>0.0.1-SNAPSHOT</version><!-- 添加依赖 --><dependencies><!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId></dependency><!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId></dependency><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></dependency></dependencies></project>


说明:weather-common是用来存放一些通用的工具类以及业务bean(也就是pojo或者vo)

项目建成后结构如下。

图2.2

3.创建weather-manager

3.1前两步参考图1.1和图1.2

第三步

图3.1


3.2配置pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>weather-parent</artifactId><groupId>com.weather</groupId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.weather</groupId><artifactId>weather-manager</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><!-- 添加依赖 --><dependencies><dependency><groupId>com.weather</groupId><artifactId>weather-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies><!-- 添加tomcat插件 --><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><port>8080</port><path>/</path></configuration></plugin></plugins></build></project>

4.为weather-manager创建moudle(模块)

创建模块可以将springmvc中的model,view,controller分开,moudle是project的子工程。

4.1创建moudle,在weather-manager上右键新建maven-moudle

图4.1
图4.2
图4.3

4.2配置pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>weather-manager</artifactId><groupId>com.weather</groupId><version>0.0.1-SNAPSHOT</version><relativePath>..</relativePath></parent><artifactId>weather-manager-dao</artifactId><!-- 添加依赖 --><dependencies><dependency><groupId>com.weather</groupId><artifactId>weather-manager-pojo</artifactId><version>0.0.1-SNAPSHOT</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></dependency><dependency><groupId>com.github.miemiedev</groupId><artifactId>mybatis-paginator</artifactId></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId></dependency><!-- sqlserver --><dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>sqljdbc4</artifactId></dependency><!-- 连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency></dependencies><!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 --><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources></build></project>
说明:dao模块存放mybatis的mapper.xml和对应的mapper类,mapper类是数据库的表映射出来的java类


5.参考步骤4创建weather-manager-pojo

该moudle暂时不需要配置pom.xml

6.参考步骤4创建weather-manager-service

pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>weather-manager</artifactId><groupId>com.weather</groupId><version>0.0.1-SNAPSHOT</version><relativePath>..</relativePath></parent><artifactId>weather-manager-service</artifactId><dependencies><dependency><groupId>com.weather</groupId><artifactId>weather-manager-dao</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency></dependencies></project>

7.创建weather-manager-web模块

7.1前两步参考weather-manager-dao

第三步
图7.1
打包方式是war包。

7.2.配置pom.xml


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>weather-manager</artifactId><groupId>com.weather</groupId><version>0.0.1-SNAPSHOT</version><relativePath>..</relativePath></parent><artifactId>weather-manager-web</artifactId><packaging>war</packaging><!-- 添加依赖 --><dependencies><dependency><groupId>com.weather</groupId><artifactId>weather-manager-service</artifactId><version>0.0.1-SNAPSHOT</version></dependency><!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><scope>provided</scope></dependency><!-- 文件上传组件 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId></dependency></dependencies></project>

7.3.配置web.xml

src\main\webapp\WEB-INF\web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="ryzh" version="2.5"><display-name>weather-manager</display-name><welcome-file-list><welcome-file>login.jsp</welcome-file></welcome-file-list><!-- 初始化spring容器 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/applicationContext-*.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><listener><listener-class>org.springframework.web.util.WebAppRootListener</listener-class></listener><!-- 解决post乱码 --><filter><filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 登录退出session控制 --><!--<session-config> <session-timeout>10</session-timeout> </session-config> --><!-- springmvc的前端控制器 --><servlet><servlet-name>weather-manager</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>weather-manager</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>
至此,整个项目创建完成。下面进行ssm框架整合。
整合框架前查看manager项目的pom.xml文件。多出了六行内容。
<modules><module>weather-manager-pojo</module><module>weather-manager-dao</module><module>weather-manager-service</module><module>weather-manager-web</module></modules>
这些内容是创建moudle时自动添加到pom.xml文件中的。但是该配置内容不会自动删除。
如果创建好的moudle有错误需要删除,那么,manager的pom文件中,这些moudle配置需要手动来删除,否则运行项目会报错。

8.整合ssm框架。

所有的web端的文件都存放在
weather-manager-web\src\main\webapp

weather-manager-web中需要一些配置文件才能与其他的moudle产生联系。这些配置文件主要包括mybatis的和spring的。
下面直接贴出来配置文件的目录以及内容。
图8.1
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><settings><!-- 打印查询语句 --><setting name="logImpl" value="STDOUT_LOGGING" /><!--解决,查询返回结果含null没有对应字段值问题 --><setting name="callSettersOnNulls" value="true" /></settings></configuration>
jdbc.properties
我用的是sqlserver。不是太常见。创建的mysql配置很好找。
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
#数据库的url和名称(master)jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=masterjdbc.username=sajdbc.password=123456#定义初始连接数initialSize=0#定义最大连接数maxActive=20#定义最大空闲maxIdle=20#定义最小空闲minIdle=1#定义最长等待时间maxWait=60000

applicationContext-dao.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"><!-- 数据库连接池 --><!-- 加载配置文件 --><context:property-placeholder location="classpath:properties/*.properties" /><!-- 数据库连接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"destroy-method="close"><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="driverClassName" value="${jdbc.driver}" /><property name="maxActive" value="10" /><property name="minIdle" value="5" /></bean><!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 数据库连接池 --><property name="dataSource" ref="dataSource" /><!-- 加载mybatis的全局配置文件 --><property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" /></bean><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.weather.dao" /></bean></beans>

applicationContext-service.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"><!-- 包扫描器,扫描带@Service注解的类 --><context:component-scan base-package="com.weather.service"></context:component-scan></beans>

applicationContext-trans.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"><!-- 事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 数据源 --><property name="dataSource" ref="dataSource" /></bean><!-- ResponseEntity下载 --><beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><property name="messageConverters"><list><beanclass="org.springframework.http.converter.ByteArrayHttpMessageConverter" /><beanclass="org.springframework.http.converter.StringHttpMessageConverter"><property name="writeAcceptCharset" value="false" /><property name="supportedMediaTypes"><list><value>text/plain;charset=UTF-8</value></list></property></bean><bean id="mappingJacksonHttpMessageConverter"class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="supportedMediaTypes"><list><value>application/json;charset=UTF-8</value></list></property></bean></list></property></bean><!-- 通知 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!-- 传播行为 --><tx:method name="save*" propagation="REQUIRED" /><tx:method name="insert*" propagation="REQUIRED" /><tx:method name="add*" propagation="REQUIRED" /><tx:method name="create*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="find*" propagation="SUPPORTS" read-only="true" /><tx:method name="select*" propagation="SUPPORTS" read-only="true" /><tx:method name="get*" propagation="SUPPORTS" read-only="true" /></tx:attributes></tx:advice><!-- 切面 --><aop:config><aop:advisor advice-ref="txAdvice"pointcut="execution(* com.weather.service.*.*(..))" /></aop:config></beans>

springmvc.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- 配置包扫描器 --><context:component-scan base-package="com.weather.controller"></context:component-scan><mvc:annotation-driven /><!-- 视图解析器 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/weather/" /><property name="suffix" value=".jsp" /></bean><!-- 配置资源映射 --><mvc:resources location="/WEB-INF/lib/" mapping="/lib/**" /><mvc:resources location="/WEB-INF/js/" mapping="/js/**" /></beans>        

log4j.properties
log4j.rootLogger=INFO,Console,File  #定义日志输出目的地为控制台  log4j.appender.Console=org.apache.log4j.ConsoleAppender  log4j.appender.Console.Target=System.out  #可以灵活地指定日志输出格式,下面一行是指定具体的格式  log4j.appender.Console.layout = org.apache.log4j.PatternLayout  log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n    #文件大小到达指定尺寸的时候产生一个新的文件  log4j.appender.File = org.apache.log4j.RollingFileAppender  #指定输出目录  log4j.appender.File.File = logs/ssm.log  #定义文件最大大小  log4j.appender.File.MaxFileSize = 10MB  # 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志  log4j.appender.File.Threshold = ALL  log4j.appender.File.layout = org.apache.log4j.PatternLayout  log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n  
SqlServer数据库脚本
Create table weather([id] [int]  IDENTITY (1, 1)  NOT NULL,[today] [varchar] (20) NULL,[city] [varchar]  (10) NULL,[rainfall] [int] NULL,[wind_speed] [int] NULL,[direction] [varchar]  (10) NULL)insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/19','邯郸',22,44,'西北')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/18','邯郸',33,12,'北')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/17','邯郸',44,44,'西')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/16','邯郸',33,54,'西')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/15','邯郸',22,35,'西')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/14','邯郸',11,5,'北')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/13','邯郸',1,8,'北')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/12','邯郸',5,77,'东北')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/11','邯郸',6,86,'东北')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/10','邯郸',0,24,'东北')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/09','邯郸',0,68,'北')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/08','邯郸',0,52,'西')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/07','邯郸',0,43,'北')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/06','邯郸',0,39,'西')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/05','邯郸',0,54,'西')insert into weather (today,city,rainfall,wind_speed,direction) values ('2017/12/04','邯郸',0,44,'北')select * from weather

9.测试

测试:

先右击weather-parent和weather-common右击--run as--maven install

然后weather-manager 右击--run as--maven build(第一次maven build需要命令clean tomcat7:run)


图9.1

控制台打印

信息: Starting ProtocolHandler ["http-bio-8080"]
且未报错时,可以在浏览器地址栏输入:

localhost:8080
第一集剧终


原创粉丝点击