SpringCloud学习之路(一)-简单Demo

首先,我们先在C:\Windows\System32\drivers\etc路径下的hosts最后添加两个地址用于模拟服务端以及消费端的IP

 
127.0.0.1 dept-8001.com #微服务端127.0.0.1 client.com #消费端

 

SpringCloud的一个最基础Demo,本地真实模拟环境(服务的创建者以及消费者),这是我们Demo截图:

分为一个parent(microcloud),三个Module分别是:microcloud-api,microcloud-consumer-80(消费者),microcloud-provider-dept-8001(服务的提供者)

以下是四个Maven项目各自源码

  • 1.microcloud,新建一个pom的maven项目。

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.jmx</groupId><artifactId>microcloud</artifactId><version>0.0.1</version><packaging>pom</packaging><name>microcloud</name><url>http://maven.apache.org</url><properties><jdk.version>1.8</jdk.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencyManagement><dependencies><dependency><groupId>com.jmx</groupId><artifactId>microcloud-api</artifactId><version>0.0.1</version></dependency><dependency> <!-- 进行SpringCloud依赖包的导入处理 --><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR1</version><type>pom</type><scope>import</scope></dependency><dependency> <!-- SpringCloud离不开SpringBoot,所以必须要配置此依赖包 --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>1.5.4.RELEASE</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.0.4</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.31</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.0</version></dependency></dependencies></dependencyManagement><build><finalName>microcloud</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>${jdk.version}</source><!-- 源代码使用的开发版本 --><target>${jdk.version}</target><!-- 需要生成的目标class文件的编译版本 --><encode>${project.build.sourceEncoding}</encode></configuration></plugin></plugins></build><modules><module>microcloud-api</module><module>microcloud-provider-dept-8001</module><module>microcloud-consumer-80</module></modules></project>

 

  • 2.microcloud-api,类型为module的maven的项目,这个项目主要就放一些vo类

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jmx</groupId><artifactId>microcloud</artifactId><version>0.0.1</version></parent><groupId>com.jmx</groupId><artifactId>microcloud-api</artifactId><version>0.0.1</version><name>microcloud-api</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties></project>

 

Dept.java

package com.jmx.vo;import java.io.Serializable;/**部门VO类* @author JMX**/@SuppressWarnings("serial")public class Dept implements Serializable {private Long deptno;private String dname;private String loc;public Long getDeptno() {return deptno;}public void setDeptno(Long deptno) {this.deptno = deptno;}public String getDname() {return dname;}public void setDname(String dname) {this.dname = dname;}public String getLoc() {return loc;}public void setLoc(String loc) {this.loc = loc;}@Overridepublic String toString() {return "Dept [deptno=" + deptno + ", dname=" + dname + ", loc=" + loc + "]";}}

数据库创建脚本-8001.sql,使用的是MySQL5.5

 
DROP DATABASE IF EXISTS "jmx8001" ;CREATE DATABASE jmx8001 CHARACTER SET UTF8 ;USE jmx8001 ;CREATE TABLE dept (deptno BIGINT AUTO_INCREMENT ,dname VARCHAR(50) ,loc VARCHAR(50) ,CONSTRAINT pk_deptno PRIMARY KEY(deptno)) ;INSERT INTO dept(dname,loc) VALUES ('开发部',database()) ;INSERT INTO dept(dname,loc) VALUES ('财务部',database()) ;INSERT INTO dept(dname,loc) VALUES ('市场部',database()) ;INSERT INTO dept(dname,loc) VALUES ('后勤部',database()) ;INSERT INTO dept(dname,loc) VALUES ('公关部',database()) ;
  • 3.*microcloud-provider-dept-8001这个是微服务的创建者,在这里我们要将SpringBoot整合Mybatis

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jmx</groupId><artifactId>microcloud</artifactId><version>0.0.1</version></parent><groupId>com.jmx</groupId><artifactId>microcloud-provider-dept-8001</artifactId><version>0.0.1</version><name>microcloud-provider-dept-8001</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>com.jmx</groupId><artifactId>microcloud-api</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency></dependencies></project>

 

Dept_8001_StartSpringCloudApplication.java

package com.jmx.microcloud;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/**程序主类* @author JMX**/@SpringBootApplicationpublic class Dept_8001_StartSpringCloudApplication {public static void main(String[] args) {SpringApplication.run(Dept_8001_StartSpringCloudApplication.class, args);}}

 

IDeptDao.java

package com.jmx.microcloud.dao;import java.util.List;import org.apache.ibatis.annotations.Mapper;import com.jmx.vo.Dept;@Mapperpublic interface IDeptDao {public boolean doCreate(Dept vo);public Dept findById(int id);public List<Dept>findAll();}

 

DeptRest.java

package com.jmx.microcloud.rest;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import com.jmx.microcloud.service.IDeptService;import com.jmx.vo.Dept;@RestControllerpublic class DeptRest {@Autowiredprivate IDeptService ideptService;@RequestMapping(value="/dept/get/{id}",method=RequestMethod.GET)public Dept get(@PathVariable(value="id")int id) {return ideptService.get(id);}@RequestMapping(value="/dept/add",method=RequestMethod.POST)public boolean add(@RequestBody Dept dept) {return ideptService.add(dept);}@RequestMapping(value="/dept/list",method=RequestMethod.GET)public List<Dept> list() {return ideptService.list();}}

 

IDeptService.java

package com.jmx.microcloud.service;import java.util.List;import com.jmx.vo.Dept;public interface IDeptService {public Dept get(int id);public boolean add(Dept dept);public List<Dept>list();}

 

DeptServiceImpl.java

package com.jmx.microcloud.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.jmx.microcloud.dao.IDeptDao;import com.jmx.microcloud.service.IDeptService;import com.jmx.vo.Dept;@Servicepublic class DeptServiceImpl implements IDeptService {@Autowiredprivate IDeptDao ideptdao;@Overridepublic Dept get(int id) {// TODO 自动生成的方法存根return ideptdao.findById(id);}@Overridepublic boolean add(Dept dept) {// TODO 自动生成的方法存根return ideptdao.doCreate(dept);}@Overridepublic List<Dept> list() {// TODO 自动生成的方法存根return ideptdao.findAll();}}

 

Dept.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.jmx.microcloud.dao.IDeptDao"><select id="findById" resultType="Dept" parameterType="int">SELECT deptno,dname,loc FROM dept WHERE deptno=#{deptno} ;</select><select id="findAll" resultType="Dept">SELECT deptno,dname,loc FROM dept ;</select><insert id="doCreate" parameterType="Dept">INSERT INTO dept(dname,loc) VALUES (#{dname},database()) ;</insert></mapper>

 

 

application.yml     SpringBoot整合配置文件

server:port: 8001mybatis:config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径type-aliases-package: com.jmx.vo # 定义所有操作类的别名所在包mapper-locations: # 所有的mapper映射文件- classpath:mybatis/mapper/**/*.xmlspring:datasource:type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操作类型driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驱动程序类url: jdbc:mysql://localhost:3307/jmx8001?useUnicode=true&characterEncoding=utf-8 # 数据库连接地址username: root # 数据库用户名password: 123456 # 数据库连接密码dbcp2: # 进行数据库连接池的配置min-idle: 5 # 数据库连接池的最小维持连接数initial-size: 5 # 初始化提供的连接数max-total: 5 # 最大的连接数max-wait-millis: 200 # 等待连接获取的最大超时时间

 

mybatis.cfg.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!-- 进行Mybatis的相应的环境的属性定义 --><settings> <!-- 在本项目之中开启二级缓存 --><setting name="cacheEnabled" value="true"/></settings></configuration>

 

logback.xml

<?xml version="1.0" encoding="UTF-8"?><configuration scan="true"><property name="APP" value="${project.artifactId}" /><property name="LOG_HOME" value="/data/www/log/${APP}" /><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0} %X{ServiceId} - %m%n</pattern></encoder></appender><appender name="DETAIL"class="ch.qos.logback.core.rolling.RollingFileAppender" additivity="false"><File>${LOG_HOME}/${APP}_detail.log</File><encoder><pattern>%d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0} %X{ServiceId} - %m%n</pattern></encoder><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${LOG_HOME}/${APP}_detail.log.%d{yyyyMMdd}</fileNamePattern></rollingPolicy></appender><appender name="ACCESS"class="ch.qos.logback.core.rolling.RollingFileAppender" additivity="false"><File>${LOG_HOME}/${APP}_access.log</File><encoder><pattern>%d{yy-MM-dd.HH:mm:ss.SSS};%X{ServiceId};%m%n</pattern></encoder><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${LOG_HOME}/${APP}_access.log.%d{yyyyMMdd}</fileNamePattern></rollingPolicy></appender><logger name="ACCESS"><appender-ref ref="ACCESS" /></logger><logger name="druid.sql.Statement" level="DEBUG" /><logger name="com.jmx.microcloud.dao" level="TRACE" /><root level="INFO"><appender-ref ref="DETAIL" /><appender-ref ref="CONSOLE" /></root></configuration>

 

IDeptServiceTest.java,微服务测试类,在这里就不测试了,等会再浏览器里面测试.

package com.jmx.test;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.springframework.test.context.web.WebAppConfiguration;import com.jmx.microcloud.Dept_8001_StartSpringCloudApplication;import com.jmx.microcloud.service.IDeptService;import com.jmx.vo.Dept;@SpringBootTest(classes = Dept_8001_StartSpringCloudApplication.class)@RunWith(SpringJUnit4ClassRunner.class)@WebAppConfigurationpublic class IDeptServiceTest {@Autowiredprivate IDeptService ideptService;@Testpublic void testGet() {System.out.println(ideptService.get(1));}@Testpublic void testAdd() {Dept dept = new Dept() ;dept.setDname("测试部-" + System.currentTimeMillis());System.out.println(ideptService.add(dept));}@Testpublic void testList() {System.out.println(ideptService.list());}}

 

以上就是微服务的创建项目Demo,我们运行SpringBoot的Dept_8001_StartSpringCloudApplication.java

OK,我们的微服务创建者测试完毕

 

4.*microcloud-consumer-80这是我们的消费者

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jmx</groupId><artifactId>microcloud</artifactId><version>0.0.1</version></parent><groupId>com.jmx</groupId><artifactId>microcloud-consumer-80</artifactId><version>0.0.1</version><name>microcloud-consumer-80</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>com.jmx</groupId><artifactId>microcloud-api</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency></dependencies></project>

 

 

Consumer_80_StartSpringCloudApplication.java

package com.jmx.microcloud;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class Consumer_80_StartSpringCloudApplication {public static void main(String[] args) {SpringApplication.run(Consumer_80_StartSpringCloudApplication.class,args);}}

 

RestConfig.java

package com.jmx.microcloud.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.client.RestTemplate;@Configurationpublic class RestConfig {@Beanpublic RestTemplate getRestTemplate() {return new RestTemplate() ;}}

 

ConsumerDeptController.java

package com.jmx.microcloud.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.client.RestTemplate;import com.jmx.vo.Dept;@RestControllerpublic class ConsumerDeptController {public static final String DEPT_GET_URL = "http://dept-8001.com:8001/dept/get/";public static final String DEPT_LIST_URL = "http://dept-8001.com:8001/dept/list/";public static final String DEPT_ADD_URL = "http://dept-8001.com:8001/dept/add";@Autowiredprivate RestTemplate restTemplate;@RequestMapping(value = "/consumer/dept/get")public Object getDept(long id) {Dept dept = restTemplate.getForObject(DEPT_GET_URL + id,Dept.class);return dept;}@SuppressWarnings("unchecked")@RequestMapping(value = "/consumer/dept/list")public Object listDept() {List<Dept> allDepts = this.restTemplate.getForObject(DEPT_LIST_URL,List.class);return allDepts;}@RequestMapping(value = "/consumer/dept/add")public Object addDept(Dept dept) {Boolean flag = this.restTemplate.postForObject(DEPT_ADD_URL, dept,Boolean.class);return flag;}}

 

application.yml

server:port: 80

 

这样我们的消费者搭建好了

5.开始测试消费者是否调用微服务

分别运行

都运行成功后

 

我们看看数据库里是否新增了数据

OK,最基础的Demo已经搭建完成

以上内容转载自https://blog.csdn.net/hsrlzg/article/details/79318312

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530438.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eclipse工作区打不开的解决方案

今天上班的时候发现eclipse打开总是闪退&#xff0c;刚开始以为是eclipse的问题&#xff0c;后来才发现是工作区的问题。 分享出来&#xff0c;希望能够帮助遇到同样问题的人。 1 设置询问打开的工作区 eclipse安装目录\configuration\.settings\org.eclipse.ui.ide.prefs&a…

解决debug JDK source无法查看局部变量的问题

首先进入传送门&#xff1a;https://blog.csdn.net/majian_1987/article/details/51273609 进行上面的操作之后&#xff0c;这个时候我们来debug一下jdk源码&#xff0c;发现可以查看局部变量。但是这时候又发现一个问题&#xff0c;在我自己的代码里按住ctrl鼠标左键单击无法…

配置JAVA开发环境

1、首先去Oracle官方网站下载所需版本的JDKhttp://java.sun.com/products/archive/&#xff0c;然后安装&#xff0c;其实只需要安装jdk就可以了&#xff0c;不需要安装jre 2、按照后配置环境变量JAVA_HOME 然后在path最前面添加%JAVA_HOME%\bin; 3、cmd中输入java -version,提…

【JAVA基础篇】集合框架

一、集合框架图 Java集合框架主要包含两种类型的容器&#xff0c;一是集合(Collection)&#xff0c;存储元素集合&#xff0c;二是图(Map)&#xff0c;存储键(key)-值(value)对.Collection接口下面有两个重要的子接口List和Set&#xff0c;再下面是一些抽象类&#xff0c;最后是…

【JAVA基础篇】对象初始化过程

我们都知道&#xff0c;创建对象是由 new关键字调用构造方法 返回类实例&#xff08;实际上还可以通过反射来创建实例&#xff09;。 例如 : Person jack new Person(); 这句话到底做了什么事情呢 &#xff1f; 其实就是讲对象的初始化过程。 1、 new 用到了Person.class,所…

eclipse指定JDK版本启动,解决version XXX of the JVM is not suitable for this product.Version:XXX 问题

问题描述&#xff1a;启动eclipse时&#xff0c;提示version 1.7.0 of the JVM is not suitable for this product.Version:1.8 or greater is required. 原因分析&#xff1a;原因是我的笔记本安装了多个JDK版本&#xff0c;但是现在我的JAVA_HOME配置的是jdk1.7的路径&#x…

【JAVA基础篇】IO流

一、流的概念 “对语言设计人员来说&#xff0c;创建好的输入&#xff0f;输出系统是一项特别困难的任务。” ――《Think in Java》 无论是系统、还是语言的设计中IO的设计都是异常复杂的。面临的最大的挑战一般是如何覆盖所有可能的因素&#xff0c;我们不仅仅要考虑文件、…

【JAVA基础篇】运算符

一、表达式 表达式由运算符和操作数组成 例如&#xff1a; 5 num1 num1num2 sumnum1num2 二、运算符分类 算数运算符、赋值运算符、关系运算符、逻辑运算符、条件运算符、位运算符 三、算数运算符 四、赋值运算符 格式&#xff1a;变量表达式 例如&#xff1a;int n3…

a4纸网页打印 table_打印模板不愁人,你还在打印单调的A4纸吗?

软件介绍早在几年前&#xff0c;社会上就已经开始了数字化、无纸化的推广&#xff0c;但是就算再怎么无纸化&#xff0c;纸张还是有它必要的存在&#xff0c;在工作、学习过程中&#xff0c;打印的需求也必不可少的。但是一般的打印都是比较平庸的&#xff0c;要做会议记录&…

上证指数30年k线图_技术预判2020:上证指数要突破3500点才会“井喷”

2019年的行情很快就要收官了&#xff0c;截止目前&#xff0c;上证指数今年的涨幅是20.5%&#xff0c;不过可能有部分投资者今年的收益率还没达到大盘指数的平均水平。不管怎样&#xff0c;今年很快就要翻篇了&#xff0c;关键是看2020年股市能不能迎来更好的行情了。而总结得失…

的优缺点_浅谈桉木家具的优缺点

家具现在的材质是有很多的&#xff0c;木质的&#xff0c;石材的&#xff0c;还有真空充气的&#xff0c;都是很不错的类型。桉木家具是现在很多人都喜欢的一种材质&#xff0c;但是很多人对桉木家具的优缺点不是很清楚&#xff0c;为了能够让大家更加清楚的了解桉木家具&#…

客户说发货慢怎么回复_女生微信说身体不舒服怎么回复关心她?

当你不在女生身边&#xff0c;女生微信给你说身体不舒服&#xff0c;肯定需要说点话来安慰她了。多喝热水肯定是不行了&#xff0c;一点用处都没有&#xff0c;还会让女生觉得你根本不重视她&#xff0c;是在敷衍她&#xff0c;那女生微信说身体不舒服怎么回复关心她呢&#xf…

【算法篇】八种内排序算法

常用的八种内排序算法分别是&#xff1a; 交换排序&#xff1a;冒泡排序、快速排序选择排序&#xff1a;简单选择排序、堆排序插入排序&#xff1a;直接插入排序、希尔排序归并排序基数排序 内排序巧记&#xff1a;选(选择)舰(简单选择)队(堆)的时候脚(交换)毛(冒泡)快(快速)&…

数据分析专题报告范文6篇_小学生看图写话范文:小熊玩跷跷板?(6篇),让孩子参考练习...

​范文01&#xff1a;小熊跷跷板一天&#xff0c;天气晴朗&#xff0c;胖乎乎的小熊和小白兔一起玩跷跷板。小熊一屁股坐在地上&#xff0c;小白兔说&#xff1a;“啊&#xff01;我有恐高症哇&#xff01;”小熊说&#xff1a;“我比你重&#xff0c;所以你没有办法把我翘起来…

win10环境安装使用svn客户端和服务端

一、下载安装包 安装包下载传送门http://subversion.apache.org/packages.html 无法下载的童鞋去百度云下载 链接&#xff1a;https://pan.baidu.com/s/1EuGohoZKIPmRvynp5-Subw 提取码&#xff1a;ohna 链接&#xff1a;https://pan.baidu.com/s/1EJrd5DzGCBE4rRfdhuno6Q …

所选元素非联通_非固化橡胶沥青防水涂料与耐根穿刺防水卷材(沥青基)施工要点...

目前&#xff0c;非固化复合耐根穿刺防水卷材在车库顶板的应用逐渐受到客户及用户的认可&#xff0c;也有不少慕名而来的防水从业者打电话来咨询此系统的应用情况及优势。下面就由小编来给大家系统介绍此应用系统的特点吧。01性能优势1.两种材料高度的相容性非固化橡胶沥青防水…

【Java中级篇】动态代理机制

要想搞明白动态代理之前&#xff0c;我们先来了解一下代理是什么意思&#xff0c;先来谈谈设计模式中的代理模式。 什么是代理模式&#xff08;Proxy&#xff09; 定义&#xff1a;给目标对象提供一个代理对象&#xff0c;并由代理对象控制对目标对象的引用。 在代理模式中&…

什么叫大数据人物画像_大数据时代,如何构建精准用户画像,直击精细化运营...

移动互联网时代&#xff0c;精细化运营逐渐成为企业发展的重要竞争力&#xff0c;“用户画像”的概念也应运而生。用户画像是指&#xff0c;在大数据时代&#xff0c;企业通过对海量数据信息进行清洗、聚类、分析&#xff0c;将数据抽象成标签&#xff0c;再利用这些标签将用户…

【Java中级篇】使用itextpdf生成PDF

我们可以发现很多求职网站都会将我们录入的信息来生成一个PDF简历文件。所以我这里提供了用itextpdf生成的PDF的代码。 一、步骤 1.1、使用Adobe Acrobat Pro工具编辑PDF模板 1.2、根据PDF模板文件路径创建一个PDFReader对象 1.3、创建一个输出流对象&#xff0c;用于存放生…

adb bugreport保存位置_adb 常用命令---日常提升效率

做为 Android 开发&#xff0c;怎么能不懂点 adb 命令呢&#xff1f;速看~adb 重置、断连的状况这里不说了&#xff0c;先来说一些直观的命令吧1、adb devices查看当前连接的设备如果当前正在连接着设备&#xff0c;那么就可以进行后续的操作了&#xff0c;如果没有&#xff0c…