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整合案例的基本介绍 ...
随机推荐
- 链表习题(8)-寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下
/*寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下*/ /* 算法思想:定义两个指针,pre指向前驱结点,p指向当前结点,当p->data == k的时候,交换 p ...
- Appium移动端测试--搭建测试环境
目录 文章目录如下 安装Android Studio及Android SDK 更改VDM默认存储路径 通过npm安装Appium Server 启动Appium GUI模式 Appium连接会话 Ap ...
- Docker入门以及常用命令
目的: Docker入门 Docker简介 Centos7安装Docker Docker HelloWorld运行原理解析 阿里云镜像仓库配置 Docker常用命令 Docker基本命令 Docker ...
- 关于fastjson与jackson在反序列化bool型时的区别
背景 在测试中,两个项目a,b的接口参数用到了Bool类型,当传参"0",项目a通过了,项目b报错了,排查了下,项目b的那个接口,在对传参反序列化时就出现了问题,最后发现两个项目使 ...
- jvm问题排查工具、命令
dump生成:jmp -dump:live,format=b,file=/tmp/some.bin PID.其中,加上live表示只dump存活的对象. 线程栈信息生成:jstack PID > ...
- [LOJ2537] [PKUWC2018] Minimax
题目链接 LOJ:https://loj.ac/problem/2537 洛谷:https://www.luogu.org/problemnew/show/P5298 Solution 不定期诈尸 好 ...
- Ubuntu 18.04 Server 配置静态ip
刚在虚拟机里面状态了一个 Ubunut 18.04 Server 作为我的服务器,我习惯使用静态ip首先再virtualbox中设置虚拟机网络的连接方式为桥接模式进入ubuntu虚拟机根据我的印象直接 ...
- 了解Django之前
什么是web应用? 通俗地讲,就是通过浏览器访问一个网址,该网站从后台调取数据,然后把相应的界面展示给用户这样的一个过程. 什么是HTTP协议? 即超文本传输协议:规定了客户端与服务端消息传输的格 ...
- CentOS7.5 部署Ceph luminous
环境 两台CentOS7.5,每台各两块硬盘部署OSD public network = 10.0.0.0/24 cluster network = 172.16.0.0/24 导入ceph的rpm ...
- js中的call()、apply()、bind()
js中的一个核心概念就是对this的理解,关于this前面也有说过,不过在有些情况下,还是需要手动去改变this的指向,这里总结一下,js中关于this操作的三种方法 call() apply() b ...