067-Git-在IDEA中使用Git 4. 在IDEA中使用Git4.1 在IDEA中配置Git安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。 选择File→Settings打开设置窗口,找到Version Control下的git选项: 选择git的安装目录后可以点击“Test”按钮测试是否正确配置 4.2 在IDEA中 2020-02-02 Java #Java
068-Apache Dubbo Dubbo官网地址:http://dubbo.apache.org 2. Apache Dubbo概述2.1 Dubbo简介Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源Java RPC框架,可以和Spring框架无缝集成。 Dubbo提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 什 2020-02-02 Java #Java
068-软件架构的演进过程 1. 软件架构的演进过程软件架构的发展经历了由单体架构、垂直架构、SOA架构到微服务架构的演进过程,下面我们分别了解一下这几个架构。 1.1 单体架构 架构说明:全部功能集中在一个项目内(All in one)。 架构优点:架构简单,前期开发成本低、开发周期短,适合小型项目。 架构缺点: 全部功能集成在一个工程中,对于大型项目不易开发、扩展和维护。 技术栈受限,只能使用一种语言开发。 系统 2020-02-02 Java #Java
100-JPA 1.ORM对象关系映射(Object Relational Mapping,简称 ORM)。 在面向对象的软件开发中,通过 ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了 ORM 对象关系映射 简单的说:ORM 就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。 建立两 2020-02-02 Java #Java
102-Spring Data JPA 1 Spring Data JPA 的概述1.1 Spring Data JPA 概述Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套 JPA 应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率! Spring Data 2020-02-02 Java #Java
103-Spring Data JPA 1 Specifications 动态查询有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在 Spring Data JPA 中可以通过 JpaSpecificationExecutor 接口查询。相比 JPQL,其优势是类型安全,更加的面向对象。 12345678910111213141516171819202122import java.util.List 2020-02-02 Java #Java
104-Lombok 我们编写pojo时,经常需要编写构造函数和getter、setter方法,属性多的时候,就非常浪费时间,使用lombok插件可以解决这个问题: 在IDEA中安装lombok插件;不安装插件在IDEA中使用lombok的注解虽然编译能通过,但是源码会报错。所以为了让IDEA更好的辨别lombok注解则才安装插件。 在maven工程中的 pom.xml 文件引入依赖: 1234<depende 2020-02-02 Java #Java
104-SpringBoot基础1 1.1 原有Spring优缺点分析1.1.1 Spring的优点分析Spring 是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Objec 2020-02-02 Java #Java
104-SpringBoot基础2-创建项目 2.1 创建项目2.1.1 创建Maven工程使用idea工具创建一个maven工程,该工程为普通的java工程即可 2.1.2 添加SpringBoot的起步依赖看到这里很多同学会有疑惑,前面说传统开发的问题之一就是依赖管理混乱,怎么这里我们还需要管理依赖呢?难道Spring Boot不帮我们管理吗? 别着急,现在我们的项目与Spring Boot还没有什么关联。Spring Boot提供了一 2020-02-02 Java #Java
104-SpringBoot基础2-创建项目-原理分析 3.1 起步依赖原理分析3.1.1 分析spring-boot-starter-parent按住Ctrl点击pom.xml中的spring-boot-starter-parent,跳转到了spring-boot-starter-parent的pom.xml,xml配置如下(只摘抄了部分重点配置): 123456<parent> <groupId>org.springfra 2020-02-02 Java #Java
104-SpringBoot基础3-配置 3. java配置应用在入门案例中,我们没有任何的配置,就可以实现一个SpringMVC的项目了,快速、高效!但是有同学会有疑问,如果没有任何的xml,那么我们如果要配置一个Bean该怎么办?比如我们要配置一个数据库连接池,以前会这么配置: 1234567<!-- 配置连接池 --><bean id="dataSource" class="com.alibaba.druid.po 2020-02-02 Java #Java
104-SpringBoot基础3-配置-yam配置文件 3 yml配置文件简介YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。 YML文件是以数据为核心的,比传 2020-02-02 Java #Java
104-SpringBoot基础3-配置原理 4. 自动配置原理使用Spring Boot之后,一个整合了SpringMVC的WEB工程开发,变的无比简单,那些繁杂的配置都消失不见了,这是如何做到的? 一切魔力的开始,都是从我们的main函数来的,所以我们再次来看下启动类: 123456789import org.springframework.boot.SpringApplication;import org.springframework 2020-02-02 Java #Java
104-SpringBoot基础5-整合其他框架 1、整合 SpringMVC虽然默认配置已经可以使用SpringMVC了,不过我们有时候需要进行自定义配置。 可以在 application.yml 文件中配置日志级别控制: 1234logging: level: com.itheima: debug org.springframework: info 1.1 修改端口查看SpringBoot的全局属性可知, 2020-02-02 Java #Java
104-SpringBoot基础6-项目部署 项目打包 添加项目的pom.xml插件;在pom.xml要显式的加入插件 spring-boot-maven-plugin,否则无法产生 jar 清单文件,导致打出来的 jar 无法使用命令运行; 123456789<build> <plugins> <!-- 打jar包时如果不配置该插件,打出来的jar包没有清单文件 --> < 2020-02-02 Java #Java
104-SpringBoot基础7-插件安装 在应用spring boot工程的时候;一般情况下都需要创建启动引导类Application.java和application.yml配置文件,而且内容都是一样的;为了便捷可以安装一个IDEA的插件 JBLSpringBootAppGen 在项目上右击之后可以自动生成启动引导类 Application.java 和 application.yml 配置文件。 安装插件打开IDEA的设置界面(按 2020-02-02 Java #Java
105-RabbitMQ 1 消息队列MQ概述MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。 RabbitMQ是一个Erlang开发的AMQP(Advanced Message Queuing Protocol )的开源实现。 1.1 为什么使用MQ在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐 2020-02-02 Java #Java
106-RabbitMQ高级 1 RabbitMQ 高级特性基础案例环境搭建:目标:使用路由模式,基于SpringMVC中controller,生产者通过RabbitTemplate发送消息给消费者! 实现步骤: 创建rabbit-parent空的父工程 创建producer-publisher-confirm,Maven工程模块,用于演示生产者确认 配置消息队列 创建消息队列order.A 创建交换机order_excha 2020-02-02 Java #Java
107-SpringCloud 一、系统架构演变之路(回顾) 1.1 单一应用架构当网站流量很小时,只需要一个应用,所有功能部署在一起,减少部署节点成本的框架称之为集中式框架。此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。 1.2 垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。 1. 2020-02-02 Java #Java
108-SpringCloud SpringCloud 总架构图 一、远程调用 Spring Cloud Feign前面学习中,使用RestTemplate大大简化了远程调用的代码: 12String baseUrl = "http://user-service/user/findById?id=1"+ id;User user = restTemplate.getForObject(baseUrl, User.class) 2020-02-02 Java #Java