-
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
2017-04-08 18:16:57spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、...它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的。本文主要介绍了服务的注册与发现。转载请标明出处:
https://www.fangzhipeng.com/springcloud/2017/06/01/sc01-eureka.html
本文出自方志朋的博客点击获取SpringCloud 、Spring Boot视频
个人博客纯净版:https://www.fangzhipeng.com/springcloud/2017/06/01/sc01-eureka.html
最新Finchley版本请访问:
https://www.fangzhipeng.com/springcloud/2018/08/01/sc-f1-eureka.html
或者
http://blog.csdn.net/forezp/article/details/81040925一、spring cloud简介
spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解,如果不了解的话可以看这篇文章:2小时学会springboot。另外对于“微服务架构” 不了解的话,可以通过搜索引擎搜索“微服务架构”了解下。
二、创建服务注册中心
在这里,我们需要用的的组件上Spring Cloud Netflix的Eureka ,eureka是一个服务注册和发现模块。
2.1 首先创建一个maven主工程。
**2.2 然后创建2个model工程:**一个model工程作为服务注册中心,即Eureka Server,另一个作为Eureka Client。
下面以创建server为例子,详细说明创建过程:
右键工程->创建model-> 选择spring initialir 如下图:
下一步->选择cloud discovery->eureka server ,然后一直下一步就行了。创建完后的工程的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.forezp</groupId> <artifactId>eurekaserver</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>eurekaserver</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!--eureka server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <!-- spring boot test--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.RC1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </project>
2.3 启动一个服务注册中心,只需要一个注解@EnableEurekaServer,这个注解需要在springboot工程的启动application类上加:
@EnableEurekaServer @SpringBootApplication public class EurekaserverApplication { public static void main(String[] args) { SpringApplication.run(EurekaserverApplication.class, args); } }
**2.4 **eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(因此可以在内存中完成),在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。eureka server的配置文件application.yml:
server: port: 8761 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
2.5 eureka server 是有界面的,启动工程,打开浏览器访问:
http://localhost:8761 ,界面如下:No application available 没有服务被发现 ……_
因为没有注册服务当然不可能有服务被发现了。三、创建一个服务提供者 (eureka client)
当client向server注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka server 从每个client实例接收心跳消息。 如果心跳超时,则通常将该实例从注册server中删除。
创建过程同server类似,创建完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.forezp</groupId> <artifactId>service-hi</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>service-hi</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</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> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.RC1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </project>
通过注解@EnableEurekaClient 表明自己是一个eurekaclient.
@SpringBootApplication @EnableEurekaClient @RestController public class ServiceHiApplication { public static void main(String[] args) { SpringApplication.run(ServiceHiApplication.class, args); } @Value("${server.port}") String port; @RequestMapping("/hi") public String home(@RequestParam String name) { return "hi "+name+",i am from port:" +port; } }
仅仅@EnableEurekaClient是不够的,还需要在配置文件中注明自己的服务注册中心的地址,application.yml配置文件如下:
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 8762 spring: application: name: service-hi
需要指明spring.application.name,这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name 。
启动工程,打开http://localhost:8761 ,即eureka server 的网址:你会发现一个服务已经注册在服务中了,服务名为SERVICE-HI ,端口为7862
这时打开 http://localhost:8762/hi?name=forezp ,你会在浏览器上看到 :
hi forezp,i am from port:8762
源码下载:https://github.com/forezp/SpringCloudLearning/tree/master/chapter1
更多阅读
四、参考资料
springcloud eureka server 官方文档
springcloud eureka client 官方文档
优秀文章推荐:
- 史上最简单的 SpringCloud 教程 | 终章
- 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- 史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
扫码关注公众号有惊喜(转载本站文章请注明作者和出处 方志朋的博客)
-
史上最简单的 SpringCloud 教程 | 终章
2017-04-12 23:14:39本文出自方志朋的博客 错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船长带你飞。...转载请标明出处:
http://blog.csdn.net/forezp/article/details/70148833
本文出自方志朋的博客
扫码关注有惊喜(转载本站文章请注明作者和出处 方志朋的博客)
个人博客纯净版https://www.fangzhipeng.com/spring-cloud.html
错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船长带你飞。终章不是最后一篇,它是一个汇总,未来还会写很多篇。
我为什么这些文章?一是巩固自己的知识,二是希望有更加开放和与人分享的心态,三是接受各位大神的批评指教,有任何问题可以联系我: miles02@163.com .
码农下载:https://git.oschina.net/forezp/SpringCloudLearning
github下载:https://github.com/forezp/SpringCloudLearning,记得star哦!
欢迎大家访问我的个人博客:https://www.fangzhipeng.com/
点击获取SpringCloud 、Spring Boot视频
《史上最简单的 SpringCloud 教程》系列:
Spring Cloud Alibaba教程
- Spring Cloud Alibaba教程:使用Nacos作为服务注册发现组件
- Spring Cloud Alibaba教程:使用Nacos作为配置中心
- Spring Cloud Alibaba教程:Sentinel的使用
Greenwich版本
- Spring Cloud Consul 之Greenwich版本全攻略
- spring cloud config将配置存储在数据库中
- Spring Cloud Sleuth 之Greenwich版本全攻略
- Spring Boot Admin 2.1.0 全攻略
- 阿里分布式事务框架GTS开源了!
Finchley版本
Spring Cloud Finchley; Spring Boot 2.0.3
-
史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)
-
史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)(Finchley版本)
-
史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)
-
史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)
-
史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)(Finchley版本)
-
史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)(Finchley版本)
源码篇:
进阶篇
- Spring Cloud Sleuth超详细实战
- 拜托!面试请不要再问我Spring Cloud底层原理
- 微服务注册中心如何承载大型系统的千万级访问?
- 每秒上万并发下的Spring Cloud参数优化实战
D版本
- 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
- 史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
- 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
- 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)
- 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心
- 史上最简单的SpringCloud教程 | 第十一篇:docker部署spring cloud项目
- 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
- 史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)
- 未完。。。
- 还有很多篇。。。
番外篇:
- 如何使用MongoDB+Springboot实现分布式ID?
- 如何在springcloud分布式系统中实现分布式锁?
- 如何用Redlock实现分布式锁
- 如何在IDEA启动多个Spring Boot工程实例
- JWT如何在Spring Cloud微服务系统中在服务相互调时传
怎么支持我?
-
这个系列会持续更新,敬请关注!
-
关注我的公众号,精彩内容不能错过!
扫码关注有惊喜(转载本站文章请注明作者和出处 方志朋的博客)
-
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)
2018-07-14 10:04:27转载请标明出处: ... 本文出自方志朋的博客 ...鉴于《史上最简单的Spring Cloud教程》很受读者欢迎,再次我特意升级了一下版本,目前支持的版本为Spring Boot版本2.0.3.RELEASE,Spring Cloud版本为F...转载请标明出处:
http://blog.csdn.net/forezp/article/details/81040925
本文出自方志朋的博客个人博客纯净版:https://www.fangzhipeng.com/springcloud/2018/08/01/sc-f1-eureka.html
一、spring cloud简介
鉴于《史上最简单的Spring Cloud教程》很受读者欢迎,再次我特意升级了一下版本,目前支持的版本为Spring Boot版本2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE。
Finchley版本的官方文档如下:
http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.htmlspring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解,如果不了解的话可以看这篇文章:2小时学会springboot。另外对于“微服务架构” 不了解的话,可以通过搜索引擎搜索“微服务架构”了解下。
二、创建服务注册中心
在这里,我还是采用Eureka作为服务注册与发现的组件,至于Consul 之后会出文章详细介绍。
2.1 首先创建一个maven主工程。
首先创建一个主Maven工程,在其pom文件引入依赖,spring Boot版本为2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE。这个pom文件作为父pom文件,起到依赖版本控制的作用,其他module工程继承该pom。这一系列文章全部采用这种模式,其他文章的pom跟这个pom一样。再次说明一下,以后不再重复引入。代码如下:
<?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.forezp</groupId> <artifactId>sc-f-chapter1</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>sc-f-chapter1</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> </parent> <modules> <module>eureka-server</module> <module>service-hi</module> </modules> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-cloud.version>Finchley.RELEASE</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
**2.2 然后创建2个model工程:**一个model工程作为服务注册中心,即Eureka Server,另一个作为Eureka Client。
下面以创建server为例子,详细说明创建过程:
右键工程->创建model-> 选择spring initialir 如下图:
下一步->选择cloud discovery->eureka server ,然后一直下一步就行了。
创建完后的工程,其pom.xml继承了父pom文件,并引入spring-cloud-starter-netflix-eureka-server的依赖,代码如下:
<?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.forezp</groupId> <artifactId>eureka-server</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>eureka-server</name> <description>Demo project for Spring Boot</description> <parent> <groupId>com.forezp</groupId> <artifactId>sc-f-chapter1</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies> </project>
2.3 启动一个服务注册中心,只需要一个注解@EnableEurekaServer,这个注解需要在springboot工程的启动application类上加:
@SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run( EurekaServerApplication.class, args ); } }
**2.4 **eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(因此可以在内存中完成),在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。eureka server的配置文件appication.yml:
server: port: 8761 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ spring: application: name: eurka-server
通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
2.5 eureka server 是有界面的,启动工程,打开浏览器访问:
http://localhost:8761 ,界面如下:No application available 没有服务被发现 ……_
因为没有注册服务当然不可能有服务被发现了。三、创建一个服务提供者 (eureka client)
当client向server注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka server 从每个client实例接收心跳消息。 如果心跳超时,则通常将该实例从注册server中删除。
创建过程同server类似,创建完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.forezp</groupId> <artifactId>service-hi</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>service-hi</name> <description>Demo project for Spring Boot</description> <parent> <groupId>com.forezp</groupId> <artifactId>sc-f-chapter1</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
通过注解@EnableEurekaClient 表明自己是一个eurekaclient.
@SpringBootApplication @EnableEurekaClient @RestController public class ServiceHiApplication { public static void main(String[] args) { SpringApplication.run( ServiceHiApplication.class, args ); } @Value("${server.port}") String port; @RequestMapping("/hi") public String home(@RequestParam(value = "name", defaultValue = "forezp") String name) { return "hi " + name + " ,i am from port:" + port; } }
仅仅@EnableEurekaClient是不够的,还需要在配置文件中注明自己的服务注册中心的地址,application.yml配置文件如下:
server: port: 8762 spring: application: name: service-hi eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/
需要指明spring.application.name,这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name 。
启动工程,打开http://localhost:8761 ,即eureka server 的网址:你会发现一个服务已经注册在服务中了,服务名为SERVICE-HI ,端口为7862
这时打开 http://localhost:8762/hi?name=forezp ,你会在浏览器上看到 :
hi forezp,i am from port:8762
源码下载:https://github.com/forezp/SpringCloudLearning/tree/master/sc-f-chapter1
更多阅读
四、参考资料
http://blog.csdn.net/forezp/article/details/69696915
http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.html
扫码关注公众号有惊喜(转载本站文章请注明作者和出处 方志朋的博客)
-
史上最简单的 IntelliJ IDEA 教程
2017-03-10 09:17:08温馨提示:本教程的 GitHub 地址为「intellij-idea-tutorial」,欢迎感兴趣的童鞋Star、Fork,纠错。 ... IntelliJ IDEA(简称 IDEA),是 Java 语言开发的集成环境,IDEA 在业界被公认为最好的 Java 开发工具...温馨提示:本教程的 GitHub 地址为「intellij-idea-tutorial」,欢迎感兴趣的童鞋
Star
、Fork
,纠错。前言
IntelliJ IDEA(简称 IDEA),是 Java 语言开发的集成环境,IDEA 在业界被公认为最好的 Java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、各类版本工具(Git、SVN、GitHub 等)、JUnit、CVS 整合、代码分析和创新的 GUI 设计等方面的功能都值得称道。至于 Eclipse 本人接触的不多,因此也无法比较,但殊途同归,无论选择什么集成开发环境,都是为了辅助咱们编程,所以可以说:没有最好的工具,只有最适合自己的工具。因此,撰写本系列文章的目的很简单,就是想把自己的经验整理记录下来,当然,如果能够在此基础上帮助大家快速入门并掌握 Intellij IDEA 那就再好不过啦!
- 温馨提示:此教程使用的工具为
IntelliJ IDEA 2017(.1.5)
版本 - 官网地址:http://www.jetbrains.com/idea/download
基础教程
- 安装 IDE 的方法
- 初识 IDEA 的世界
- 核心文件讲解
- 使用界面介绍
- 第一个项目 HelloWorld
- 设置主题和字体
- 模板注释
- 常见图标介绍
- 缓存及索引
- 编译方式
- 代码调试
- 多模块项目
- 版本控制
- 插件
- 创建 Maven 项目
- 搭建 Spring MVC 框架
实用技巧
- 快捷键
- 恢复代码
- 中文乱码问题
- 序列化
- 代码审查
- 版本管理
- 彩色代码主题
- 远程调试
- 代码对比
- 依赖冲突
疑难杂症
- 详述 IntelliJ IDEA 遇到 java -source 1.3 中不支持某某操作的解决方法
- 详述 IntelliJ IDEA 遇到 JavaLaunchHelper 多种实现的解决方法
- 详述 IntelliJ IDEA 遇到快捷键以及删除键不好使的解决方法
- 详述 IntelliJ IDEA 遇到 Maven 项目打开(Open)或者导入(Import)失败的解决方法
- 详述 IntelliJ IDEA 遇到 Maven 项目 pom.xml 文件没有识别的解决方法
致谢
作为一个初学者,刚接触 IntelliJ IDEA 的时候,就有幸阅读了 @Judas.n 写的关于 IntelliJ IDEA 的教程,也获益良多。在此感谢 Judas.n 写的教程对我的启发,本教程也对 Judas.n 写的教程多有借鉴,下面附上其 GitHub 地址,欢迎感兴趣的童鞋移步到 Judas.n 的教程观摩学习。
- IntelliJ-IDEA-Tutorial: https://github.com/judasn/IntelliJ-IDEA-Tutorial
此外,附上一句格言,望共勉:好学若饥,谦卑若愚。
- 温馨提示:此教程使用的工具为
-
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
2019-10-30 20:17:58于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: ... -
Win7如何简单的关闭445端口及445端口入侵详解
2017-05-13 11:07:03最近永恒之蓝病毒攻击了很多教育网的同学,下面我们就来看一下如何关闭445端口 根据网络安全机构通报,这是不法分子利用NSA黑客武器库泄漏的“永恒之蓝”发起的病毒攻击事件。“永恒之蓝”会扫描开放445文件共享... -
c语言一些简单的程序
2018-06-17 17:30:51三个数找最大值#include <stdio.h> int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); int maxs=max(a,max(b,c)); printf("%d"...g... -
JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
2014-04-07 17:36:10在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你... -
python超简单爬虫教程
2020-06-12 17:24:44python超简单爬虫教程python超简单爬虫教程七大步骤:1发送数据请求2请求网站源码3数据筛选4存储数据5数据可视化6数据分析7公司决策 python超简单爬虫教程 大家好!在这里给大家交流一下小编总结得python超简单爬虫... -
简单的python GUI例子,写一个简单的界面
2019-04-16 20:05:25写一个简单的界面很容易,即使是什么都不了解的情况下,这个文本转载了最简单的界面编写,下个文本介绍了TK的简单但具体的应用 在python中创建一个窗口,然后显示出来。 就3行就能够把主窗口显示出来了。root... -
史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
2017-04-10 21:24:15当服务很多时,都需要同时从配置中心读取文件的时候,这时我们可以考虑将配置中心做成一个微服务,并且将其集群化,从而达到高可用,架构图如下:一、准备工作继续使用上一篇文章的工程,创建一个eureka-server工程... -
简单理解token机制
2018-07-17 20:45:47简单理解token机制 人人都是产品经理 百家号17-12-1520:15 在简单理解cookie/session机制这篇文章中,简要阐述了cookie和session的原理。本文将要简单阐述另一个同cookie/session同样重要的技术术语:token。 ... -
大话设计模式(一)简单工厂模式
2015-04-12 16:35:37今天主要设计简单工厂模式即静态工厂设计模式与工厂模式即抽象模式。 其中,简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建 其他类的实例,被创建的实例通常都具有共同的... -
简单感悟
2019-03-02 09:34:54保持简单——不要问题复杂化 认真倾听,多提问题 为自己从事的工作保持自豪感 客观看待一切事物 反复沟通 学会有效的辩论——不论输赢,理性沟通 ... -
C语言链表超简单教程
2018-04-05 16:19:22笔者作为一名C语言的初学者,在刚...好吧,即使这篇教程会相对简单,但是在阅读之前,读者还是需要首先简单了解结构体部分和指针部分的内容。好,那我们就开始吧。首先通俗地解释一下:链表是一种特殊的结构体,创建... -
简单工厂模式 简单例子
2018-08-29 21:07:42一、概述 ...简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 -------------来自百度百科 优点 工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定... -
超简单集成Android Zxing实现扫一扫二维码
2016-10-13 10:54:352017-10-20更新 最新版本的请看... ...因为按下文方法集成起来相对麻烦,所以就封了一下,放在github上了,需要的可以直接添加依赖,用起来简单很多。 推荐直接去gi... -
简单说 如何做一个chrome 去广告插件
2017-10-10 08:53:55这次我们先来简单接触一下,了解一点入门知识,先做一个简单的demo,就先去除一下CSDN网页上的广告。 解释 这次做的这个插件真的很简单,不涉及什么加密解密,也不是去拦截特定的网络请求,就是用 -
python爬虫入门教程(二):开始一个简单的爬虫
2017-09-12 15:02:21python爬虫入门教程,介绍编写一个简单爬虫的过程。 -
简单游戏代码_简单游戏
2020-07-20 02:24:17简单游戏代码 Here are a few simple, working, games that you can use as-is or as the basis for your own games. 这里有一些简单,有效的游戏,您可以按原样使用或作为自己游戏的基础。 Tic-Tac-Toe井字游戏 ... -
DataSource数据源简单理解
2018-06-22 11:40:17DataSource数据源简单理解 因为热爱,所以拼搏。 –RuiDer 什么是数据源 JDBC2.0 提供了javax.sql.DataSource接口,它负责建立与数据库的连接,当在应用程序中访问数据库时 不必编写连接数据库的代码,... -
简单了解第一,二,三范式(图文详细)
2020-06-27 11:37:23简单了解第一,二,三范式什么是范式第一范式第二范式第三范式 什么是范式 范式:范式是符合某一种级别的关系模式的集合,表示一个关系内部属性之间的联系何合理化程度 粗略理解:就是一张数据表的表结构所符合的... -
9.Vue中mounted的简单理解
2019-07-31 16:22:16Vue小白笔记9——mounted的简单理解 -
c语言写一个简单的小游戏-推箱子
2018-08-04 23:18:08在学习C语言之后,写了一个简单的小游戏来锻炼自己的代码以及C语言知识的掌握能力。 推箱子作为手机上最常见的简单游戏,其代码也相对简单,想法也比较简单,下面为其代码和运行图。 /*************************... -
html简单登录页面代码
2016-12-06 10:18:50简单登录HTML -
JAVA设计模式--简单工厂模式
2016-05-18 10:39:23一、什么是简单工厂模式 二、简单工厂模式的结构 三、简单工厂模式的优缺点 一、什么是简单工厂模式 简单工厂模式属于类的创建型模式。提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以... -
简单工厂/工厂方法/抽象工厂
2020-10-25 22:56:141 简单工厂 根据参数由工厂类来创建对象 /** * 简单工厂 * 目的:根据参数获取对象 * 缺点:新增实现类时,需要修改代码,不好动态扩展(可参考工厂方法) */ public class SimpleFactoryDP { public final... -
使用Vue.js和Element-UI做一个简单的登录页面
2017-06-22 10:02:50使用Vue.js和Element-UI做一个简单的登录页面 -
分位数的简单理解
2017-05-05 15:25:19在统计学里经常提到分位数的概念,下面我们通过一个例子来简单解释一下。假设有一千名学生参加了某次考试, 学生A得了75分,排名603,603/1000=60.3% 学生B得了94分,排名28,28/1000=2.8% 此时,A大约在60.3%的... -
c# 简单的串口通信 新手篇
2018-09-26 11:17:10最近自己闲着 自学了C# ,本人不是搞软件的 ,搞嵌入式的 ,经常要用串口调试工具来调试 ,有时候还要处理一些数据但是市面上的不能满足我的要求 ,正好一个项目需要学习C#,借此机会来开发一个串口 ,说不定对我也...
-
(新)备战2021软考网络工程师培训学习套餐
-
【2021】UI自动化测试Selenium3
-
(新)备战2021软考系统集成基础知识套餐
-
8086汇编工具masm+link+debug+edit.zip
-
pyechart数据可视化
-
机器学习-白板推导系列(五)-降维(Dimensionality Reduction)
-
16x16点阵字体大全
-
彻底学会正则表达式
-
【数据分析-随到随学】Tableau数据分 析+PowerBI
-
力扣LeetCode - SQL Server
-
TP-LINK 802.1X-V2.1-Setup.exe
-
PS制作证件照动作集
-
EIA-364-38D-Cable Pull-Out Test Procedure For Electrical Connectors
-
hadoop自动化运维工具Ambari应用实践
-
图书管理系统文档(数据流图、数据流程图、数据字典等)
-
信息安全等级保护管理办法(1).pdf
-
GM8913型DC平衡双向控制串行器
-
单片机完全学习课程全五季套餐
-
gmp大数库,静态链接库,无须编译,直接可以用,并附使用手册
-
EIA-364-38B Cable Pull-Out Test Procedure for Electrical Connector