dubbo+springMVC+Spring+Mybatis搭建

1.新建Maven Project

1.1

dubbo+springMVC+Spring+Mybatis搭建_第1张图片


1.2

dubbo+springMVC+Spring+Mybatis搭建_第2张图片


2新建Maven Module ——提供者和消费者都需要引用的共同代码块(如entityservice接口)

2.1

dubbo+springMVC+Spring+Mybatis搭建_第3张图片

2.2

dubbo+springMVC+Spring+Mybatis搭建_第4张图片

2.3

dubbo+springMVC+Spring+Mybatis搭建_第5张图片


2.4

dubbo+springMVC+Spring+Mybatis搭建_第6张图片


3.修改common工程的JDK版本

3.1

dubbo+springMVC+Spring+Mybatis搭建_第7张图片


3.2

dubbo+springMVC+Spring+Mybatis搭建_第8张图片


3.3

dubbo+springMVC+Spring+Mybatis搭建_第9张图片


4.新建entityservice(可以先建数据库,再使用Mybatis的逆向工程直接生成entity


4.1 entity包和service


4.2 entity

dubbo+springMVC+Spring+Mybatis搭建_第10张图片


4.3 service

dubbo+springMVC+Spring+Mybatis搭建_第11张图片


5.新建Maven Module ——服务提供者(Provider

5.1

dubbo+springMVC+Spring+Mybatis搭建_第12张图片


5.2

dubbo+springMVC+Spring+Mybatis搭建_第13张图片


5.3

dubbo+springMVC+Spring+Mybatis搭建_第14张图片


6.Provider工程添加java/main/resources

6.1

dubbo+springMVC+Spring+Mybatis搭建_第15张图片

6.2

dubbo+springMVC+Spring+Mybatis搭建_第16张图片


6.3

dubbo+springMVC+Spring+Mybatis搭建_第17张图片


6.4

dubbo+springMVC+Spring+Mybatis搭建_第18张图片


7.修改Provider工程的JDK版本

 

8.Provider引入需要依赖的jar包和common


<dependencies>

<dependency>

<groupId>cn.edu.zuccgroupId>

<artifactId>commonartifactId>

<version>0.0.1-SNAPSHOTversion>

dependency>

<dependency>

<groupId>org.apache.logging.log4jgroupId>

<artifactId>log4j-apiartifactId>

<version>2.0.2version>

dependency>

<dependency>

<groupId>org.apache.logging.log4jgroupId>

<artifactId>log4j-coreartifactId>

<version>2.0.2version>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-webartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-txartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-aspectsartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-webmvcartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-jdbcartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-webmvc-portletartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-context-supportartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-instrument-tomcatartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-jmsartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-ormartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-oxmartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-testartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-coreartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-beansartifactId>

<version>4.2.2.RELEASEversion>

dependency>

 

<dependency>

<groupId>mysqlgroupId>

<artifactId>mysql-connector-javaartifactId>

<version>5.1.37version>

dependency>

<dependency>

<groupId>org.mybatisgroupId>

<artifactId>mybatisartifactId>

<version>3.3.0version>

dependency>

 

<dependency>

<groupId>org.mybatisgroupId>

<artifactId>mybatis-springartifactId>

<version>1.2.3version>

dependency>

<dependency>

<groupId>c3p0groupId>

<artifactId>c3p0artifactId>

<version>0.9.1.2version>

dependency>

 

<dependency>

<groupId>com.fasterxml.jackson.coregroupId>

<artifactId>jackson-databindartifactId>

<version>2.6.3version>

dependency>

 

<dependency>

<groupId>com.alibabagroupId>

<artifactId>dubboartifactId>

<version>2.5.3version>

dependency>

<dependency>

<groupId>com.101tecgroupId>

<artifactId>zkclientartifactId>

<version>0.5version>

dependency>

dependencies>


9.添加配置文件

9.1(新建META-INF/spring文件夹)dubbo会读取该文件夹下的配置文件

dubbo+springMVC+Spring+Mybatis搭建_第19张图片


9.2  log4j.properties

### \u8BBE\u7F6E### info error debug

log4j.rootLogger = debug,stdout,D,E

 

### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ###

log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target = System.out

log4j.appender.stdout.layout = org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n


9.3 applicationMybitis.xml

xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:mvc="http://www.springframework.org/schema/mvc"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:tx="http://www.springframework.org/schema/tx"

    xmlns:context="http://www.springframework.org/schema/context"

    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.xsd

        http://www.springframework.org/schema/context

        http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/tx

     http://www.springframework.org/schema/tx/spring-tx.xsd

     http://www.springframework.org/schema/aop

     http://www.springframework.org/schema/aop/spring-aop.xsd">

        

        

        

        <context:property-placeholder location="classpath:META-INF/spring/db.properties"/>

        

        

        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

         <property name="driverClass" value="${jdbc.driver}" />

<property name="jdbcUrl" value="${jdbc.url}" />

<property name="user" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

        bean>

        

        

        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        

<property name="typeAliasesPackage" value="cn.edu.zucc.entity">property>

        

         <property name="dataSource" ref="dataSource"/>

        bean>

        

        

        

        

        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

         <property name="basePackage" value="cn.edu.zucc.dao" />

         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />

        bean>

        

        

<bean id="transactionManager"

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource">property>

bean>

<tx:advice id="txAdvice" transaction-manager="transactionManager">

<tx:attributes>

<tx:method name="save*" propagation="REQUIRED" />

<tx:method name="add*" propagation="REQUIRED" />

<tx:method name="insert*" propagation="REQUIRED" />

<tx:method name="update*" propagation="REQUIRED" />

<tx:method name="delete*" propagation="REQUIRED" />

<tx:method name="find*" propagation="SUPPORTS" read-only="true" />

<tx:method name="*" propagation="SUPPORTS" read-only="true" />

tx:attributes>

tx:advice>

<aop:config>

<aop:advisor advice-ref="txAdvice"

pointcut="execution(* cn.edu.zucc.service.impl..*.*(..))" />

aop:config>

beans>


9.4 dubbo.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:dubbo="http://code.alibabatech.com/schema/dubbo"

xsi:schemaLocation="http://www.springframework.org/schema/beans       

    http://www.springframework.org/schema/beans/spring-beans.xsd       

    http://code.alibabatech.com/schema/dubbo        

    http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

 

 

<dubbo:application name="dubbo_provider" />

 

<dubbo:registry  address="115.28.93.69:2182" protocol="zookeeper"/>

 

<dubbo:protocol  name="dubbo" port="20880" />

 

<dubbo:service interface="cn.edu.zucc.service.UserService" ref="userService" />

<bean id="userService" class="cn.edu.zucc.service.impl.UserServiceImpl">bean>

 

beans>


9.5 db.properties


jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql:///dubbo_test

jdbc.username=root

jdbc.password=123456


10.新建service、dao、util包

10.1

dubbo+springMVC+Spring+Mybatis搭建_第20张图片


10.2 StartUp.java 启动Provider

dubbo+springMVC+Spring+Mybatis搭建_第21张图片

10.3 userService

dubbo+springMVC+Spring+Mybatis搭建_第22张图片

10.4 dao层可以使用Mybatis自动生成,也可以自己建


11 启动dubbo (要先部署好zookeeper)

11.1使用jvm运行

 

dubbo+springMVC+Spring+Mybatis搭建_第23张图片


11.2启动成功

dubbo+springMVC+Spring+Mybatis搭建_第24张图片


dubbo+springMVC+Spring+Mybatis搭建_第25张图片


12 新建Consumerweb项目)

12.1

dubbo+springMVC+Spring+Mybatis搭建_第26张图片

12.2

dubbo+springMVC+Spring+Mybatis搭建_第27张图片


12.3

dubbo+springMVC+Spring+Mybatis搭建_第28张图片


13 修改Consumer项目的JDK版本

14 引入jar包和common

<dependencies>

<dependency>

<groupId>cn.edu.zuccgroupId>

<artifactId>commonartifactId>

<version>0.0.1-SNAPSHOTversion>

dependency>

<dependency>

<groupId>junitgroupId>

<artifactId>junitartifactId>

<version>4.12version>

<scope>testscope>

dependency>

<dependency>

<groupId>cn.edu.zuccgroupId>

<artifactId>commonsartifactId>

<version>0.0.1-SNAPSHOTversion>

dependency>

<dependency>

<groupId>com.alibabagroupId>

<artifactId>dubboartifactId>

<version>2.5.3version>

<exclusions>

<exclusion>

<groupId>org.springframeworkgroupId>

<artifactId>springartifactId>

exclusion>

exclusions>

dependency>

<dependency>

<groupId>com.101tecgroupId>

<artifactId>zkclientartifactId>

<version>0.5version>

dependency>

<dependency>

<groupId>org.apache.logging.log4jgroupId>

<artifactId>log4j-apiartifactId>

<version>2.0.2version>

dependency>

<dependency>

<groupId>org.apache.logging.log4jgroupId>

<artifactId>log4j-coreartifactId>

<version>2.0.2version>

dependency>

<dependency>

<groupId>org.slf4jgroupId>

<artifactId>slf4j-apiartifactId>

<version>1.7.5version>

dependency>

<dependency>

<groupId>org.slf4jgroupId>

<artifactId>slf4j-log4j12artifactId>

<version>1.7.5version>

dependency>

<dependency>

<groupId>org.apache.openejbgroupId>

<artifactId>javaee-apiartifactId>

<version>5.0-1version>

<scope>providedscope>

dependency>

 

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-webartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-txartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-aspectsartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-webmvcartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-jdbcartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-webmvc-portletartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-context-supportartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-instrument-tomcatartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-jmsartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-ormartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-oxmartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>org.springframeworkgroupId>

<artifactId>spring-testartifactId>

<version>4.2.2.RELEASEversion>

dependency>

<dependency>

<groupId>mysqlgroupId>

<artifactId>mysql-connector-javaartifactId>

<version>5.1.37version>

dependency>

<dependency>

<groupId>org.mybatisgroupId>

<artifactId>mybatisartifactId>

<version>3.3.0version>

dependency>

 

<dependency>

<groupId>org.mybatisgroupId>

<artifactId>mybatis-springartifactId>

<version>1.2.3version>

dependency>

<dependency>

<groupId>c3p0groupId>

<artifactId>c3p0artifactId>

<version>0.9.1.2version>

dependency>

 

<dependency>

<groupId>com.fasterxml.jackson.coregroupId>

<artifactId>jackson-databindartifactId>

<version>2.6.3version>

dependency>

<dependency>

<groupId>commons-fileuploadgroupId>

<artifactId>commons-fileuploadartifactId>

<version>1.3.1version>

dependency>

<dependency>

<groupId>jstlgroupId>

<artifactId>jstlartifactId>

<version>1.2version>

dependency>

 

<dependency>

<groupId>javax.servletgroupId>

<artifactId>jstlartifactId>

<version>1.2version>

<scope>providedscope>

dependency>

dependencies>


15修改web.xml

xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<context-param>

<param-name>contextConfigLocationparam-name>

<param-value>classpath*:applicationContext.xml;param-value>

context-param>

 

<listener>

<description>spring监听器description>

<listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>

listener>

 

<servlet>

<servlet-name>springmvcservlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>

<init-param>

<param-name>contextConfigLocationparam-name>

<param-value>WEB-INF/classes/springmvc.xmlparam-value>

init-param>

<load-on-startup>1load-on-startup>

servlet>

 

<servlet-mapping>

<servlet-name>springmvcservlet-name>

<url-pattern>*.actionurl-pattern>

servlet-mapping>

 

<filter>

<filter-name>CharacterEncodingFilterfilter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>

<init-param>

<param-name>encodingparam-name>

<param-value>utf-8param-value>

init-param>

filter>

<filter-mapping>

<filter-name>CharacterEncodingFilterfilter-name>

<url-pattern>/*url-pattern>

filter-mapping>

 

 

<welcome-file-list>

<welcome-file>login.jspwelcome-file>

welcome-file-list>

web-app>


16添加配置文件

16.1

dubbo+springMVC+Spring+Mybatis搭建_第29张图片


16.2 springMVC.xml

xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:mvc="http://www.springframework.org/schema/mvc"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:context="http://www.springframework.org/schema/context"

    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.xsd

        http://www.springframework.org/schema/context

        http://www.springframework.org/schema/context/spring-context.xsd">

<context:annotation-config/>

    <context:component-scan base-package="cn.edu.zucc.controller" />

   

    

<bean id="mappingJacksonHttpMessageConverter"

          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

        <property name="supportedMediaTypes">

            <list>

                <value>application/json;charset=UTF-8value>

            list>

        property>

    bean>

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

        <property name="messageConverters">

            <list>

                <ref bean="mappingJacksonHttpMessageConverter"/>

            list>

        property>

    bean>

    

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<property name="maxUploadSize">

<value>5242880value>

property>

bean>

beans>

 


16.3 dubbo_consumer.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:dubbo="http://code.alibabatech.com/schema/dubbo"

    xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://code.alibabatech.com/schema/dubbo        http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<dubbo:application name="dubbo_consumer" />

 

<dubbo:registry  address="115.28.93.69:2182" protocol="zookeeper" />

 

<dubbo:reference id="userService" interface="cn.edu.zucc.service.UserService" check="false" timeout="60000"/>

beans>


16.4 applicationContext.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:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans

         http://www.springframework.org/schema/beans/spring-beans.xsd

         http://www.springframework.org/schema/context

         http://www.springframework.org/schema/context/spring-context.xsd

         http://www.springframework.org/schema/tx

     http://www.springframework.org/schema/tx/spring-tx.xsd

      http://www.springframework.org/schema/aop

      http://www.springframework.org/schema/aop/spring-aop.xsd">

<context:annotation-config />

<context:component-scan base-package="cn.edu.zucc.service" />

<import resource="dubbo_consumer.xml"/>

beans>


16.5 log4j.properties和Provider的是一样的

17 新建Controller包和类

17.1



17.2 Controller


dubbo+springMVC+Spring+Mybatis搭建_第30张图片


18 启动Consumer(可以使用Tomcat

19 访问http://localhost:8080/Consumer/register.action

20 消费者注册成功

dubbo+springMVC+Spring+Mybatis搭建_第31张图片


dubbo+springMVC+Spring+Mybatis搭建_第32张图片





你可能感兴趣的:(IT)