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整合案例的基本介绍 ...
随机推荐
- Feign输出Info级别日志
背景 spring cloud netfix组件中,feign相关的日志默认是不会输出的,需要自定义配置才能输出,并且Feign只对Debug基本的日志做出响应, 实际业务需要输出Info级别的日志, ...
- laravel使用辅助函数url()引入js和css静态文件
使用laravel框架时可以将静态文件如,js文件,css文件,放到resources文件夹下的js下,当然也可以放到public文件夹下的js文件夹下,publi文件夹下默认情况下是没有css,js ...
- drf复习(一)--原生djangoCBV请求生命周期源码分析、drf自定义配置文件、drf请求生命周期dispatch源码分析
admin后台注册model 一.原生djangoCBV请求生命周期源码分析 原生view的源码路径(django/views/generic/base.py) 1.从urls.py中as_view ...
- 爬虫请求库之requests库
一.介绍 介绍:使用requests可以模拟浏览器的请求,比之前的urllib库使用更加方便 注意:requests库发送请求将网页内容下载下来之后,并不会执行js代码,这需要我们自己分析目标站点然后 ...
- jvm调优相关
查找占用cpu过高的线程,并排查原因 1.查找jvm进程 (1)jps -l (2)ps -ef|grep java 这一步骤可以得到进程号,假如进程号为9527 2.查找该jvm进程中占用cpu比较 ...
- 安卓MediaPlayer框架之Binder机制
Binder简介 Binder是Android系统进程间通信的主要方式之一. 1.在ASOP中,Binder使用传统的C/S通信方式:即一个进程作为服务端提供诸如视音频解封装,解码渲染,地址查询等各种 ...
- UCOSIII互斥信号量
互斥信号量可以解决优先级反转问题 优化后现象 优化方法:L和H等待同一个信号量的时候,将L任务优先级提至H相同优先级 实验举例 void start_task(void *p_arg) { OS_CR ...
- 卷积神经网络快速入门【基于TensorFlow】
一.概述 卷积神经网络[Convolutional neural networks]里面最重要的构建单元是卷积层.神经元在第一个卷积层不是连接输入图片的每一个像素,只是连接它们感受野1的像素,以此类推 ...
- 设置yum自动更新
[wang@brady ~]$ sudo yum -y install cronie yum-cron sudo vim /etc/yum/yum-cron.conf apply_updates = ...
- MySQL Hardware--RAID卡BBU Learn Cycle
RAID卡缓存策略 不同的RAID卡缓存策略对IO的性能影响较大,常见的策略有: 1.写操作策略,可设置为WriteBack或WriteThrough WriteBack:进行写操作时,将数据写入RA ...