dubbo调用原理 项目笔记02
springmvc.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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc" 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://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--加载属性资源文件--> <context:property-placeholder location="classpath:config/application.properties" /> <!--配置注解驱动--> <mvc:annotation-driven> <!--配置自定义转换器--> <mvc:message-converters register-defaults="true"> <!--配置阿里巴巴的自定义转换器, 负责json和java各种数据类型转换使用--> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes" value="application/json"/> <property name="features"> <array> <value>WriteMapNullValue</value> <value>WriteDateUseDateFormat</value> </array> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> <!-- 配置多媒体解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"></property> <!-- 设定文件上传的最大值5MB,5*1024*1024 --> <property name="maxUploadSize" value="5242880"></property> </bean> <!-- 引用dubbo 服务 --> <dubbo:application name="pinyougou-manager-web" /> <!--配置连接zookeeper的地址和端口--> <dubbo:registry address="zookeeper://192.168.200.128:2181"/> <!--配置包扫描, 只有在扫描到的这个包下面才可以使用dubbo注解注入远程的service--> <dubbo:annotation package="cn.itcast.core.controller" /> <!-- 超时全局设置 10分钟 check=false不检查服务提供方--> <dubbo:consumer timeout="600000" check="false"/> </beans>
配置文件:会改!
jar包的作用:供其他项目依赖使用,项目上线的是弘扬jar包项目
必须和war包项目合体,合到war包中.
common(jar)工具类
pojo(jar)实体类
interface(jar)里面是service层接口
优化tomcat
依赖管理<deperndencyManagement>锁死版本号
锁定版本号pom下<properties>
配置文件>第一天搭建>common
工程说明:
pinyougou-parent 聚合工程
pinyougou-pojo 通用实体类层
pinyougou-dao 通用数据访问层
pinyougou-xxxxx-interface 某服务层接口
pinyougou-xxxxx-service 某服务层实现
pinyougou-xxxxx-web 某web工程
perent项目:pom类型项目,没有代码和配置文件,是所有品优购项目的父项目
以下四个项目为jar包项目, 被war包项目依赖使用
common: 工具类项目
pojo: 实体类项目
dao: 增删改查
interface: 所有service层的接口都在这里
五个service, 都是war包项目, 这些service项目都可以被单独部署到tomcat中独立运行. 这些项目被controller项目调用.
service-sellergoods: 系统中的涉及到的增删改查, 访问数据库的业务
service-buyer: 购买业务
service-search: 搜索业务
service-user: 用户中心业务
service-page: 页面静态化业务
四个controller项目, 都是war包项目, 这些也是被单独部署到不同的tomcat中独立运行
web-manager: 运营商管理系统
web_shop: 商家管理系统
web-portal: 消费者使用的前台系统
web-User: 用户中心系统
先做后台管理系统:
1.web_manager:后台管理系统
web>springmvc>
2.service_sellergoods
web>spring>.xml
service去zookeeper下注册地址
dubbo端口自己配20881(随意 不占用就行)
dubbo调用java专用协议rpc协议 实现的是TCP协议
<给服务器起名>
<包扫描>
非常重要:
classpath和classpath* 区别:
classpath: 加载当前项目下指定位置的配置文件
classpath* : 加载当前项目和当前项目所依赖的所有项目的指定目录下的配置文件
Mybatis逆向工程
10>配套软件>逆向工程
file>打开>配套软件>逆向工程>新的窗口
作用:mybatis官方推出逆向工程,通过逆向工程
可以连接数据库的表,用过表的结构自动生成pojo
和单标的增删改查的dao
注意:mybatis逆向工程生成的文件的方式是最佳
也就是生成一遍后
---------------------------------------
Brand:品牌
--------------------------------------
通用接口设计:
要求:安卓 ios pc都可以使用,要求通用性
设计思想:
不管哪一个是客户端给我们传入的参数
和我们给客户端反回的参数,数据格式必须可以跨平台,跨语言
{'key':'value'}格式
接口文档编写:
接口作用:
查询品牌表所有数据
接口地址:
http://192.168.200.56//8081/brand/findAll.doS
接口传参:
无
如果有参数 写出需要的参数的格式:要求必须是json格式{'key':'value'}
接口返回:
[{},{},{}]
测试工具:
postmain测试工具!
@RestController:
作用:相当于在类上加上了@Controller
然后这个类的所有方法的返回数据都会被自动转换成json格式的字符串
@Reference:可以跨项目注入 替代@Autowired+@Qualifier
Dubbox+SSM搭建分布式应用
搭建工程框架,完成品牌列表后端代码
理解 AugularJS前端框架的常用指令
C:\Program Files\Java\jdk1.8.0_102
-Xms128m -Xmx128m -XX:PermSize=64m -XX:MaxPermSize=128m