• SSM整合Dubbo登陆案例


    登陆案例

    一、创建Service项目存放共同数据

    1.1  创建实体类

     private long id;
      private String loginName;
      private String userName;
      private String password;
      private long userpaymentPass;
      private long sex;
      private String email;
      private String mobile;
      private long type;
      private long userownedcouponsid;
      private String openId;
    
    
      public long getId() {
        return id;
      }
    
      public void setId(long id) {
        this.id = id;
      }
    
    
      public String getLoginName() {
        return loginName;
      }
    
      public void setLoginName(String loginName) {
        this.loginName = loginName;
      }
    
    
      public String getUserName() {
        return userName;
      }
    
      public void setUserName(String userName) {
        this.userName = userName;
      }
    
    
      public String getPassword() {
        return password;
      }
    
      public void setPassword(String password) {
        this.password = password;
      }
    
    
      public long getUserpaymentPass() {
        return userpaymentPass;
      }
    
      public void setUserpaymentPass(long userpaymentPass) {
        this.userpaymentPass = userpaymentPass;
      }
    
    
      public long getSex() {
        return sex;
      }
    
      public void setSex(long sex) {
        this.sex = sex;
      }
    
    
      public String getEmail() {
        return email;
      }
    
      public void setEmail(String email) {
        this.email = email;
      }
    
    
      public String getMobile() {
        return mobile;
      }
    
      public void setMobile(String mobile) {
        this.mobile = mobile;
      }
    
    
      public long getType() {
        return type;
      }
    
      public void setType(long type) {
        this.type = type;
      }
    
    
      public long getUserownedcouponsid() {
        return userownedcouponsid;
      }
    
      public void setUserownedcouponsid(long userownedcouponsid) {
        this.userownedcouponsid = userownedcouponsid;
      }
    
    
      public String getOpenId() {
        return openId;
      }
    
      public void setOpenId(String openId) {
        this.openId = openId;
      }

    1.2 创建Service接口

    public interface UserService {
        public void userServicePro();
    
       EasybuyUser getUserService(String loginName, String password);
    }

    二、创建消费者Provider项目

    2.1 创建Dao层接口

    @Repository
    public interface User {
        @Select("select * from easybuy_user where loginName=#{loginName} and password=#{password} ")
        EasybuyUser getUser(@Param("loginName") String loginName, @Param("password") String password);
    }

    2.2 创建ServiecImpl实现类

    @Service("userService")
    public class UserServiceImpl implements UserService {
        @Resource
        private User user;
      
        @Override
        public EasybuyUser getUserService(String loginName, String password) {
            return user.getUser(loginName,password);
        }
    }

    2.3 创建applicationContext.xml文件将项目注入到注册中心

     <context:component-scan base-package="com.dubbo"/>
    
        <!--加载配置文件-->
        <context:property-placeholder location="classpath:jdbc.properties"/>
        <!--配置数据源-->
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
            <property name="driverClassName" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </bean>
        <!--SqlSessionFactory-->
        <bean class="org.mybatis.spring.SqlSessionFactoryBean">
            <!--加载数据源-->
            <property name="dataSource" ref="dataSource"/>
            <!--加载Mybatis配置文件-->
            <property name="configLocation" value="classpath:mybatis-config.xml"/>
        </bean>
        <!--扫描Dao层-->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="com.dubbo.dao"/>
        </bean>
    
    
        <!--声明服务提供方-->
        <dubbo:application name="provider"/>
        <!--注册中心地址-->
        <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
        <!--dubbo服务端口-->
        <dubbo:protocol name="dubbo" port="20880"/>
    
    
        <!--服务注册-->
        <dubbo:service interface="com.dubbo.service.DoSomeService" ref="doSomeService"/>
    
        <dubbo:service interface="com.dubbo.service.UserService" ref="userService"/>

    2.4 创建jdbc.properties

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/easybuy?useUniCode=true&characterEncoding=utf-8
    jdbc.username=root
    jdbc.password=123

    2.5 创建测试类运行 配置文件

    @Test
        public void shouldAnswerWithTrue() throws IOException {
            ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("applicationContext-provider.xml");
    
            classPathXmlApplicationContext.start();
    
            System.out.println("生产者已建立");
            //阻塞
            System.in.read();
        }

    三、创建Consumer项目

    3.1 创建login.jsp页面

    <body class="login">
        <div>
          <a class="hiddenanchor" id="signup"></a>
          <a class="hiddenanchor" id="signin"></a>
    
          <div class="login_wrapper">
            <div class="animate form login_form">
              <section class="login_content">
                <form action="/getUser" method="post">
                  <h1>后台管理系统</h1>
                  <div>
                    <input type="text" class="form-control" name="loginName" placeholder="请输入用户名" required="" />
                  </div>
                  <div>
                    <input type="password" class="form-control" name="password" placeholder="请输入密码" required="" />
                  </div>
                  <span>${error }</span>
                  <div>
                      <button type="submit" class="btn btn-success">登     录</button>
                      <button type="reset" class="btn btn-default">重 填</button>
                  </div>
    
                  <div class="clearfix"></div>
    
                  <div class="separator">
                    <div>
                      <p>©2016 All Rights Reserved. </p>
                    </div>
                  </div>
                </form>
              </section>
            </div>
          </div>
        </div>
      </body>

    3.1 创建Controller层

    @Controller
    public class controller {
    
        @RequestMapping(value = "/getUser",method = RequestMethod.POST)
        public String getUser(String loginName,String password){
            ApplicationContext ctx=new ClassPathXmlApplicationContext( "applicationContext-consumer.xml");
            UserService userService =(UserService) ctx.getBean("userService");
            EasybuyUser userService1 = userService.getUserService(loginName, password);
            System.out.println("用户"+userService1.getUserName());
            return "index";
        }
    }

    3.2 创建applicationContext-consumer.xml文件将项目注入到注册中心

    <context:component-scan base-package="com.dubbo"/>
        <!--添加MVC支持-->
        <mvc:annotation-driven/>
        <!--配置视图解析器-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
        <!--声明服务提供方-->
        <dubbo:application name="consumer"/>
        <!--注册中心地址-->
        <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
    
    
        <!--服务消费-->
        <dubbo:reference interface="com.dubbo.service.DoSomeService" id="doSomeService"/>
    
        <!--服务消费-->
        <dubbo:reference interface="com.dubbo.service.UserService" id="userService"/>
  • 相关阅读:
    unity抗锯齿效果
    DoTween联合动画Sequence的使用
    Unity3D获取模型在运动中任意帧的顶点坐标
    超长文件夹的删除。
    转 nandflash和norflash 片内执行~很详细
    (2)dsp emif 和 flash
    dsp emif 和 flash
    char and int
    DSP EMIF
    flash and sdram
  • 原文地址:https://www.cnblogs.com/szhhhh/p/11970711.html
Copyright © 2020-2023  润新知