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"/>
SSM整合Dubbo登陆案例的更多相关文章
- SSM整合Dubbo案例
一.Consumer子类 MyController类 @Controller @RequestMapping("/login") public class MyController ...
- SSM整合——spring4.*配置案例
导入spring4.* 相关的jar包和依赖包即可 1.web.xml <?xml version="1.0" encoding="UTF-8"?> ...
- SSM整合dubbo 进行分页查询
1.先书写Mapper和sql语句 public interface ActEntityMapper { int deleteByPrimaryKey(String actId); int inser ...
- springMVC:校验框架:多规则校验,嵌套校验,分组校验;ssm整合技术
知识点梳理 课堂讲义 学习目标 能够阐述表单验证的分类和区别 能够运用表单验证的常用注解 能够编写表单验证的示例 能够编写SSM整合的应用案例 能够总结SSM整合的步骤 1 校验框架 1.1 入门-视 ...
- 08 SSM整合案例(企业权限管理系统):08.权限控制
04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.权限控制 09.用户操作 10.权限关联与控制 11.AOP日志 08.权限控制 SSM权限操作 ...
- Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔细想一 ...
- Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(配置中心)
本文原创首发于公众号:Java技术干货 1.概述 本文将Nacos作为配置中心,实现配置外部化,动态更新.这样做的优点:不需要重启应用,便可以动态更新应用里的配置信息.在如今流行的微服务应用下,将应用 ...
- 08 SSM整合案例(企业权限管理系统):07.订单操作
04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.用户操作 09.权限控制 10.权限关联与控制 11.AOP日志 07.订单操作 SSM订单操作 ...
- 08 SSM整合案例(企业权限管理系统):05.SSM整合案例的基本介绍
04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.权限控制 09.用户和角色操作 10.权限关联 11.AOP日志 05.SSM整合案例的基本介绍 ...
随机推荐
- 4. Spark SQL数据源
4.1 通用加载/保存方法 4.1.1手动指定选项 Spark SQL的DataFrame接口支持多种数据源的操作.一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表.把DataF ...
- JavaScript中的原型prototype和__proto__的区别及原型链概念
问题 初学js的同学,总是搞不清楚js中的原型是什么东西,看着控制台打印出来的一串串__proto__,迷惑不已. 例如我定义一个Person,创建一个实例p,并打印实例. function Pers ...
- spring源码解析前瞻
很多人有疑问:为什么要读源码?读源码有什么用?我也一直问自己这些问题,读源码非常枯燥,工作中又用不到,慢慢的自己读源码越发现自己知识的不足,无法把知识串起来,形成知识体系.从单系统中常用的Spring ...
- Layui + thymeleaf org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: " 错误解决
解决方法: 1.将layui的代码移动到新的js文件当中,用template模板引擎的方式引入: <script th:src="@{/static/js/facility/mover ...
- MOOC web前端开发笔记(二)
HTML HTML概述 HTML(HyperText MarkUp Language) "超文本标记语言",以标签的形式规定网页结构,它是制作网页的标准语言 HTML不区分大小写 ...
- 关于Java无法解码(ajax编码 Java解码)
今天遇到了一个非常奇~~~~~~葩的问题,无解! 一向前端碰到中文,请求都使用encodeURI(encodeURI("中文"))编码,然后后端使用URLDecoder.decod ...
- easyui-datagrid清空表中原有数据
$('#dg').datagrid('loadData', { total: 0, rows: [] });
- Asp.Net进阶/值类型与引用类型:复习
什么是值类型? 值类型: 就是非类类型,委托类型,接口类型,string类型的类型称为值类型. 引用类型类型:就是类类型,委托类型,接口类型,string类型称为引用类型. 值类型与引用类型的赋值问题 ...
- leetcode 数组
寻找数组的中心索引 给定一个整数类型的数组 nums,请编写一个能够返回数组"中心索引"的方法. 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相 ...
- Redis相关概念
redis和memcache的比较 1 .Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储: 2 .Redis当物理内存用完时,可以将一些很久没用到的v ...