这是企业级应用,如何实现服务化第五篇。在上一篇企业级应用,如何实现服务化四(基础环境准备)中。已经准备好了zookeeper注册中心,和dubbo管理控制台。这一篇通过一个综合案例,看一看在企业级应用中,如何将dubbo整合应用起来。

1.案例架构

项目模块说明:

#描述项目模块:
.父/聚合项目:spring-dubbo-master
统一管理依赖版本信息,用于快速构建各个项目模块 .实体类子项目:spring-dubbo-domain
用于放置实体类 .持久层子项目:spring-dubbo-dao
用于放置持久层dao .业务层子项目:spring-dubbo-service
用于放置业务层service实现类 .web层子项目:spring-dubbo-web
用于放置表现层Controller,以及表现层资源 .公共接口层项目:spring-dubbo-interface
用于放置公共服务接口,把公共接口抽象出来,方便业务层和web层引用

2.服务器规划

3.创建项目模块

  3.1.创建父/聚合项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.anan</groupId>
<artifactId>spring-dubbo-master</artifactId>
<version>1.0-SNAPSHOT</version> <!--父项目,聚合项目打包方式设置为pom-->
<packaging>pom</packaging> <!--聚合其他模块-->
<modules>
<module>spring-dubbo-domain</module>
<module>spring-dubbo-dao</module>
<module>spring-dubbo-interface</module>
<module>spring-dubbo-service</module>
<module>spring-dubbo-web</module>
</modules> <!--统一管理依赖版本-->
<properties>
<!--spring 版本-->
<spring.version>5.0.2.RELEASE</spring.version>
<!-- log4j日志包版本 -->
<slf4j.version>1.7.7</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<!-- jstl标签版本 -->
<jstl.version>1.2</jstl.version>
<!--servlet版本-->
<servlet.version>2.5</servlet.version>
<!--jsp版本-->
<jsp.version>2.0</jsp.version>
<!-- mybatis版本号 -->
<mybatis.version>3.4.5</mybatis.version>
<!--mysql驱动版本-->
<mysql.version>5.1.30</mysql.version>
<!-- mybatis-spring整合包版本 -->
<mybatis.spring.version>1.3.1</mybatis.spring.version>
<!--druid版本-->
<druid.version>1.0.29</druid.version>
<!-- aspectj版本号 -->
<aspectj.version>1.6.12</aspectj.version>
<!--dubbo相关版本号-->
<dubbo.version>2.7.0</dubbo.version>
<zookeeper.version>3.4.7</zookeeper.version>
<zkclient.version>0.1</zkclient.version>
<curator.version>2.11.1</curator.version>
</properties> <!--统一管理依赖-->
<dependencyManagement>
<dependencies>
<!--spring依赖包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring web包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring mvc包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!--spring jdbc包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!--spring tx包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<!--aspectj包-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency> <!-- jstl标签类 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>${jstl.version}</version>
</dependency>
<!--servlet依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet.version}</version>
<scope>provided</scope>
</dependency>
<!--jsp依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>${jsp.version}</version>
<scope>provided</scope>
</dependency>
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- mybatis-spring整合包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis.spring.version}</version>
</dependency>
<!-- mysql数据库依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
<scope>runtime</scope>
</dependency>
<!--数据库连接池druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- log4j包 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!--dubbo相关依赖-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>${zookeeper.version}</version>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>${zkclient.version}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>${curator.version}</version>
</dependency> </dependencies>
</dependencyManagement> </project>

  3.2.创建实体类子项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>spring-dubbo-master</artifactId>
<groupId>com.anan</groupId>
<version>1.0-SNAPSHOT</version>
</parent> <modelVersion>4.0.0</modelVersion> <artifactId>spring-dubbo-domain</artifactId> <packaging>jar</packaging> </project>

  3.3.创建持久层子项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>spring-dubbo-master</artifactId>
<groupId>com.anan</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion> <artifactId>spring-dubbo-dao</artifactId>
<packaging>jar</packaging> <!--配置依赖-->
<dependencies>
<!--依赖domain-->
<dependency>
<groupId>com.anan</groupId>
<artifactId>spring-dubbo-domain</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--依赖数据库驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--依赖数据库连接池包-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
<!--依赖mybatis框架包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</dependency>
<!--mybatis-spring整合包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</dependency>
</dependencies> </project>

  3.4.创建公共接口项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>spring-dubbo-master</artifactId>
<groupId>com.anan</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion> <artifactId>spring-dubbo-interface</artifactId>
<packaging>jar</packaging> <!--配置依赖-->
<dependencies>
<!--依赖domain-->
<dependency>
<groupId>com.anan</groupId>
<artifactId>spring-dubbo-domain</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies> </project>

  3.5.创建业务层子项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>spring-dubbo-master</artifactId>
<groupId>com.anan</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion> <artifactId>spring-dubbo-service</artifactId>
<packaging>war</packaging> <!--配置依赖-->
<dependencies>
<!--依赖interface-->
<dependency>
<groupId>com.anan</groupId>
<artifactId>spring-dubbo-interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--依赖dao-->
<dependency>
<groupId>com.anan</groupId>
<artifactId>spring-dubbo-dao</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--依赖spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
</dependency>
<!--依赖dubbo-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</dependency>
<!--log4j日志依赖-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
</dependencies> <build>
<finalName>spring-dubbo-service</finalName>
</build>
</project>

  3.6.创建web层子项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>spring-dubbo-master</artifactId>
<groupId>com.anan</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion> <artifactId>spring-dubbo-web</artifactId>
<packaging>war</packaging> <!--配置依赖-->
<dependencies>
<!--依赖interface-->
<dependency>
<groupId>com.anan</groupId>
<artifactId>spring-dubbo-interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--依赖spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<!--依赖servlet-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<!--依赖jsp-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<scope>provided</scope>
</dependency>
<!--依赖jstl-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!--依赖dubbo-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</dependency>
<!--log4j日志依赖-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
</dependencies> <build>
<finalName>spring-dubbo-web</finalName>
</build>
</project>

  3.7.业务层子项目开发

    3.7.1.service实现类

package com.anan.service.impl;

import com.anan.dao.UserDao;
import com.anan.po.User;
import com.anan.service.UserService;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service(timeout = 8000)
public class UserServiceImpl implements UserService { // 定义用户dao
@Autowired
private UserDao userDao; /**
* 查询用户列表
*/
public List<User> findAllUsers() {
System.out.println("【findAllUsers】");
return userDao.findAllUsers(); } /**
* 根据用户Id查询用户
*
* @param userId
*/
public User findUserByUserId(Long userId) {
System.out.println("【findUserByUserId】方法执行中......id="+userId);
return userDao.findUserByUserId(userId); } /**
* 更新用户
*
* @param user
*/
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public void updateUser(User user) {
System.out.println("【updateUser】方法执行中......");
userDao.updateUser(user);
} /**
* 查看用户详情信息
*
* @param userId
*/
public User findUserDetailByUserId(Long userId) {
System.out.println("【findUserDetailByUserId】方法执行中......id="+userId);
return userDao.findUserDetailByUserId(userId); }
}

    3.7.2.核心配置

<?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:dubbo="http://dubbo.apache.org/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://dubbo.apache.org/schema/dubbo
http://dubbo.apache.org/schema/dubbo/dubbo.xsd"> <!--提供方应用信息,用于计算依赖关系-->
<dubbo:application name="spring-dubbo-service" /> <!--使用zookeeper注册中心-->
<dubbo:registry address="zookeeper://192.168.80.100:2181,192.168.80.101:2181,192.168.80.102:2181"
file="${catalina.home}/dubbo-registry/dubbo-registry.properties" /> <!--用dubbo协议在20885端口暴露服务-->
<dubbo:protocol name="dubbo" port="20885"></dubbo:protocol> <!--扫描service包-->
<dubbo:annotation package="com.anan.service.impl" /> </beans>

  3.8.web层子项目开发

    3.8.1.Controller控制器

    

package com.anan.controller;

import com.anan.po.User;
import com.anan.service.UserService;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.List; /**
* 用户controller
*/
@Controller
public class UserController { // 定义用户service
@Reference
private UserService userService; /**
* 查询用户列表数据
*/
@RequestMapping("/list.do")
public String list(Model model){
// 查询用户列表
List<User> userList = userService.findAllUsers();
model.addAttribute("userList",userList); return "user/list"; } /**
* 根据用户id查询用户
*/
@RequestMapping("/get.do")
public String get(Model model,Long id){
// 根据用户Id查询用户
User user = userService.findUserByUserId(id);
model.addAttribute("user",user); return "user/edit"; } /**
* 保存修改用户信息
*/
@RequestMapping("/edit.do")
public String edit(User user){ // 更新保存用户信息
userService.updateUser(user); return "redirect:/list.do";
} /**
* 查看用户详情信息
*/
@RequestMapping("/show.do")
public String show(Model model,Long id){
// 查看用户详情信息
User user = userService.findUserDetailByUserId(id);
model.addAttribute("user",user); return "user/show"; }
}

    3.8.2.核心配置

<?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:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://dubbo.apache.org/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://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://dubbo.apache.org/schema/dubbo
http://dubbo.apache.org/schema/dubbo/dubbo.xsd"> <!--配置包扫描controller-->
<context:component-scan base-package="com.anan.controller"/> <!--注解驱动方式配置处理器映射器和处理器适配器-->
<mvc:annotation-driven></mvc:annotation-driven> <!--配置视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--配置前缀:页面的公共目录路径-->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<!--配置后缀:页面的扩展名称-->
<property name="suffix" value=".jsp"></property>
</bean> <!--消费方应用信息,用于计算依赖关系-->
<dubbo:application name="spring-dubbo-web"/> <!--使用zookeeper注册中心-->
<dubbo:registry address="zookeeper://192.168.80.100:2181,192.168.80.101:2181,192.168.80.102:2181"
file="../dubbo-registry/dubbo-registry.properties"/> <!--配置包扫描controller中Reference-->
<dubbo:annotation package="com.anan.controller"/> </beans>

  

4.项目部署

说明:将项目打包,部署到tomcat。

  4.1.node02节点

  tomcat_1:

  tomcat_2:

  4.2.node03节点

  tomcat_1:

5.测试

说明:启动tomcat,进行测试。

  5.1.dubbo管理控制台

    5.1.1.服务提供者

 

    5.1.2.服务消费者

  5.2.访问服务

  访问地址:http://192.168.80.101:8081/spring-dubbo-web/list.do

  

  5.3.service服务后台执行日志

6.小结

  通过综合案例,实现了一个完整的高可用、负载均衡的web应用。按照项目三层架构:web层-->业务层service-->持久层dao。其中:

web应用高可用、负载均衡方案:
.nginx:keepalive,DNS轮询
.web层:nginx,F5
.service层:微服务框架,dubbo或者spring cloud
.dao层:主备+读写分离,可选择通过mycat中间件实现(后续专门针对dao层高可用,写一个系列)

企业级应用,如何实现服务化五(dubbo综合案例)的更多相关文章

  1. 20162327WJH实验五——数据结构综合应用

    20162327WJH实验五--数据结构综合应用 实 验 报 告 课程:程序设计与数据结构 班级: 1623 姓名: 王旌含 学号:20162327 成绩: 指导教师:娄嘉鹏 王志强 实验密级: 非密 ...

  2. Solr综合案例深入练习

    1. 综合案例 1.1. 需求 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序,并且实现分页功能. 界面如下: 1.2. 分析 开发人员需要 ...

  3. swiper快速切换插件(两个综合案例源码)

    swiper快速切换插件 swiper.js自己去官网下载哈.先来一个tab切换案例: demo.html <!doctype html> <html> <head> ...

  4. solr综合案例

    1.  综合案例 1.1. 需求 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序,并且实现分页功能. 界面如下: 1.2分析 开发人员需要的 ...

  5. js上 二十、综合案例

    二十.综合案例 题目一: **1. ** 数组随机 描述,写randomArray函数,传递一个数组,传递一个数值,返回一个指定个数的随机的新数组,不允许有重复数据 用例: randomArray([ ...

  6. js上 十九、综合案例

    十九.综合案例 题目一: 封装一个函数equal(a1,a2),传入两个一维数组,判断两个数组是否包含相同的元素,如果相等,函数的返回值为true, 不相等,函数的返回值为false 1)例:arr1 ...

  7. JQuery:JQuery基本语法,JQuery选择器,JQuery DOM,综合案例 复选框,综合案例 随机图片

    知识点梳理 课堂讲义 1.JQuery快速入门 1.1.JQuery介绍 jQuery 是一个 JavaScript 库. 框架:Mybatis (jar包) 大工具 插件:PageHelper (j ...

  8. 5. vue常用高阶函数及综合案例

    一. 常用的数组的高阶函数 假设, 现在有一个数组, 我们要对数组做如下一些列操作 1. 找出小于100的数字: 2. 将小于100的数字, 全部乘以2: 3. 在2的基础上, 对所有数求和: 通常我 ...

  9. JavaScript:综合案例-表单验证

    综合案例:表单验证 开发要求: 要求定义一个雇员信息的增加页面,例如页面名称为"emp_add.htmnl",而后在此页面中要提供有输入表单,此表单定义要求如下: .雇员编号:必须 ...

随机推荐

  1. Android笔记之平移View

    方法有多种,只讲一种 使用View.setLeft和View.setRight 对于wrap_content的View,要横向平移,setRight是必要的,否则View的宽度会被改变(right应设 ...

  2. ideal 控制台乱码 解决

    run config  中 tomcat VM options中填入一下命令 -Dfile.encoding=UTF-8

  3. HttpClient访问网络

    HttpClient项目时Apache提供用于访问网络的类,对访问网络的方法进行了封装.在HttpURlConnection类中的输入输出操作,统一封装成HttpGet.HttpPost.HttpRe ...

  4. Mac 下Java开发环境安装

    一.安装Eclipse 1.官网下载安装文件 http://www.eclipse.org/downloads 2.eclipse安装svn插件 这里须要注意安装的svn的版本号.要和后面的安装的Ja ...

  5. 解决Windows x64bit环境下无法使用PLSQL Developer连接到Oracle DB中的问题

    本文是原创文章,转载请注明出处: http://blog.csdn.net/msdnchina/article/details/46416455 解决Windows x64bit环境下无法使用PLSQ ...

  6.  (转)windows一台电脑添加多个git账号

    版权声明:技术总结来自互联网,书籍,以及工作积累.如果觉得我的总结有帮助,欢迎分享. https://blog.csdn.net/qq1332479771/article/details/701496 ...

  7. Kafka理论学习

    Kafka Consumer设计解析 http://www.jasongj.com/2015/08/09/KafkaColumn4/

  8. CoreData使用

    1.如果想创建一个带有coreData的程序,要在项目初始化的时候勾选中 2.创建完成之后,会发现在AppDelegate里多出了几个属性,和2个方法 <span style="fon ...

  9. [RK3288][Android6.0] 调试笔记 --- 替换系统签名【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/55100299 Platform: RK3288OS: Android 6.0Kernel: ...

  10. 一套完整的前台页面增删改查以及js(easyui)

    增加页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...