11 2020 档案

摘要:###回顾一下 回想一下我们是怎样完成这一切的。简短来说,在构建基于 Spring 的 Taco Cloud 应用的过程中,我们执行了如下步骤: 使用 Spring Initializr 创建初始的项目结构; 编写控制器类处理针对主页的请求; 定义了一个视图模板来渲染主页; 编写了一个简单的测试类来 阅读全文
posted @ 2020-11-30 01:50 上杉家主-上杉绘梨衣 阅读(136) 评论(0) 推荐(0)
摘要:###编写 Spring 应用 因为是刚刚开始,所以我们首先为 Taco Cloud 做一些小的变更,但是这些变更会展现 Spring 的很多优点。在刚开始的时候,比较合适的做法是为 Taco Cloud 应用添加一个主页。在添加主页时,我们将会创建两个代码构件: 一个控制器类,用来处理主页相关的请 阅读全文
posted @ 2020-11-30 01:29 上杉家主-上杉绘梨衣 阅读(304) 评论(0) 推荐(0)
摘要:###实验介绍 尽管希腊哲学家赫拉克利特(Heraclitus)并不作为一名软件开发人员而闻名,但他似乎深谙此道。他的一句话经常被引用:“唯一不变的就是变化”,这句话抓住了软件开发的真谛。 我们现在开发应用的方式和 1 年前、5 年前、10 年前都是不同的,更别提 15 年前了,当时 Rod Joh 阅读全文
posted @ 2020-11-29 23:32 上杉家主-上杉绘梨衣 阅读(164) 评论(0) 推荐(0)
摘要:###实验介绍 1.1 实验内容 由于我们本次实践教程是一个 web 项目,因此会介绍在 web 项目中前后端交互的方式,我们通常选择的方案是在浏览器端通过使用 Ajax 技术调用后端提供的 api 接口来完成异步请求和页面的交互更新,接下来我们来介绍一下什么是 Ajax 以及如何在项目中使用 Aj 阅读全文
posted @ 2020-11-24 22:41 上杉家主-上杉绘梨衣 阅读(298) 评论(0) 推荐(0)
摘要:##为什么要前后端分离 ####MVC 开发模式 在介绍前后端分离前,我们来回顾一下在进行 Java web 项目开发时所选择的开发模式,在初学 Java web 开发时,我们通常选择的是 JSP + Servlet 来完成前端视图和后端业务逻辑的开发,这种开发模式属于 Model1 模式,虽然实现 阅读全文
posted @ 2020-11-23 22:04 上杉家主-上杉绘梨衣 阅读(952) 评论(0) 推荐(0)
摘要:###实验介绍 1.1 实验内容 文件上传是比较常见和被用户熟知的功能模块,常用场景有头像设置、产品预览图、报表文件保存等等,在这些场景中都需要使用到文件上传功能,本篇文章将会对文件上传的大致流程及功能设计进行详细的介绍,并结合实践案例讲解如何使用 Spring Boot 实现文件上传及相关注意事项 阅读全文
posted @ 2020-11-23 20:24 上杉家主-上杉绘梨衣 阅读(3530) 评论(0) 推荐(0)
摘要:###实验介绍 1.1 实验内容 我们将在这一节学习 Spring Boot 如何与 MyBatis 进行整合,并对其进行设置和功能讲解,最终实现对于 tb_user 表的增删改查操作。 1.2 实验知识点 mybatis-spring-boot-starter MyBatis 配置 增删改查操作 阅读全文
posted @ 2020-11-22 17:28 上杉家主-上杉绘梨衣 阅读(355) 评论(0) 推荐(0)
摘要:1.1 实验内容 我们将在这一节介绍 JDBC 相关知识点,并结合实际代码来学习 Spring Boot 中如何进行数据库连接以及在 Spring Boot 项目中操作数据库。 1.2 实验知识点 JDBC Spring Boot 连接 MySQL 使用 Spring Boot 操作 MySQL 中 阅读全文
posted @ 2020-11-21 16:24 上杉家主-上杉绘梨衣 阅读(4611) 评论(0) 推荐(0)
摘要:1.1 实验内容 我们将在这一节学习 Spring Boot 中如何进行 web 相关功能的开发,主要包括常用的接口开发和 Spring Boot 对于静态资源文件的处理。 1.2 实验知识点 Spring Boot 接口开发 Spring Boot 如何处理静态 web 资源 如何使用实验楼 we 阅读全文
posted @ 2020-11-20 17:26 上杉家主-上杉绘梨衣 阅读(229) 评论(0) 推荐(0)
摘要:mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。 mvn clean install依次执行了clean、resources、compile、testResources 阅读全文
posted @ 2020-11-19 21:50 上杉家主-上杉绘梨衣 阅读(15884) 评论(0) 推荐(0)
摘要:1.1 实验内容 我们将在这一节学习如何快速构建一个 Spring Boot 项目以及如何启动 Spring Boot 项目,演示内容分别为在本地机器构建 Spring Boot 项目的过程,以及使用实验楼 web ide 进行 Spring Boot 项目构建的内容。 1.2 实验知识点 如何构建 阅读全文
posted @ 2020-11-19 21:21 上杉家主-上杉绘梨衣 阅读(168) 评论(0) 推荐(0)
摘要:在项目目录 src/main/java 的包 com.shiyanlou.entity 下新建类 User.java,包含 id、username、password 和 age 属性,代码如下: package com.shiyanlou.entity; import java.io.Seriali 阅读全文
posted @ 2020-11-19 21:02 上杉家主-上杉绘梨衣 阅读(154) 评论(0) 推荐(0)
摘要:首先创建一个新的 maven 工程 springMVCTest,打开 Terminal,选择 File->Open New Terminal,在终端中输入: mvn archetype:generate -DgroupId=com.shiyanlou -DartifactId=springMVCTe 阅读全文
posted @ 2020-11-19 20:59 上杉家主-上杉绘梨衣 阅读(124) 评论(0) 推荐(0)
摘要:本节实验将带你学习 Spring 的事务管理,事务在日常开发中非常重要,它可以对数据库中的一些异常进行回滚,这样就可以保证数据的一致性。 ###事务的四个特性: 原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。 一致性(Cons 阅读全文
posted @ 2020-11-17 01:01 上杉家主-上杉绘梨衣 阅读(106) 评论(0) 推荐(0)
摘要:1.1 实验知识点 JDK8 的安装和配置 IDEA 2019 编辑器的安装和配置 Maven 的安装和配置 MySql8 的安装和使用 1.2 实验环境 Windows 系统环境 ###JDK8 安装配置 根据系统选择需要下载的安装包,本次教程是 Windows 64 位下 JDK8 的安装,如果 阅读全文
posted @ 2020-11-16 19:52 上杉家主-上杉绘梨衣 阅读(123) 评论(0) 推荐(0)
摘要:为什么选择 Spring Boot ###Spring Boot 的理念 Spring Boot BUILD ANYTHING 以上引用来自 Spring 官网,表示使用 Spring Boot 构建一切。下图中 Spring Boot 位于 Spring 三个重量级产品第一位,可以看出 Sprin 阅读全文
posted @ 2020-11-16 19:35 上杉家主-上杉绘梨衣 阅读(736) 评论(0) 推荐(0)
摘要:Spring 框架核心的思想就是建立一个 Java 对象的大工厂,用户只要给工厂一个指令,工厂就能将用户需要的对象根据配置文件组装好返还给用户。用户需要做的许多工作则可以写成简单的配置文件。传统的使用 JDBC 的方法,有时候需要组合复杂的的 SQL 语句,还需要去拼接,稍不注意空格、引号,都会导致 阅读全文
posted @ 2020-11-14 23:17 上杉家主-上杉绘梨衣 阅读(142) 评论(0) 推荐(0)
摘要:本节实验将带你学习 Spring 框架中的 JDBC Template,有了 JDBC Template 就不需要自己再手动书写很长的 JDBC 代码来访问数据库了。 知识点 Spring JDBC Template 增 Spring JDBC Template 删 Spring JDBC Temp 阅读全文
posted @ 2020-11-14 17:28 上杉家主-上杉绘梨衣 阅读(79) 评论(0) 推荐(0)
摘要:本节实验将带你学习 Spring 框架中基于注解的配置,基于注解的配置十分方便,这也是大家现在比较推崇的方式。 知识点 Spring @Required 注解 Spring @Autowired 注解 Spring @Qualifier 注解 Spring JSR-250 注解 Spring 基于 阅读全文
posted @ 2020-11-14 17:26 上杉家主-上杉绘梨衣 阅读(81) 评论(0) 推荐(0)
摘要:本节实验将带你学习 Spring 框架中的自动扫描组件与自动装配相关知识点。 知识点 自动扫描组件 自动装配 Bean 阅读全文
posted @ 2020-11-14 17:25 上杉家主-上杉绘梨衣 阅读(99) 评论(0) 推荐(0)
摘要:用户在使用 Spring 所提供的各种功能之前,必须在 Spring IoC 容器中装配好 Bean,并建立 Bean 和 Bean 之间的关联关系。本节实验将带你学习 Spring 的 IoC 容器。 知识点 IoC 容器 Bean 属性注入 value 内部嵌套的 Bean 集合类型的 Bean 阅读全文
posted @ 2020-11-14 17:24 上杉家主-上杉绘梨衣 阅读(96) 评论(0) 推荐(0)
摘要:本节实验将学习 Spring AOP 的相关知识。本次实验会分成四个小项目来讲解,首先会讲解 AOP 和 Advice,再讲解 Pointcut 和 Advisor,然后讲解自动创建 Proxy,最后教大家使用 AspectJ 框架实现 Spring AOP。 知识点 AOP(面向切面编程) AOP 阅读全文
posted @ 2020-11-14 17:22 上杉家主-上杉绘梨衣 阅读(106) 评论(0) 推荐(0)
摘要:AspectJ 是基于注释(Annotation)的,所以需要 JDK5.0 以上的支持。 AspectJ 支持的注解类型如下: @Before @After @AfterReturning @AfterThrowing @Around ###准备工作 首先定义一个简单的 bean,Customer 阅读全文
posted @ 2020-11-14 17:16 上杉家主-上杉绘梨衣 阅读(159) 评论(0) 推荐(0)
摘要:###利用 BeanNameAutoProxyCreator 自动创建 proxy 在前面两节的例子中,在配置文件中,我们必须手动为每一个需要 AOP 的 bean 创建 Proxy bean(ProxyFactoryBean)。 这不是一个好的体验,例如,我们想让 DAO 层的所有 bean 都支 阅读全文
posted @ 2020-11-13 23:18 上杉家主-上杉绘梨衣 阅读(163) 评论(0) 推荐(0)
摘要:上边的结果中,CustomerService.java 中,全部的 method 方法全部被拦截了,下边我们将展示怎样利用 Pointcuts 只拦截 printName()。 在 Spring AOP 中,有 3 个常用的概念,Advices、Pointcut、Advisor,解释如下: Advi 阅读全文
posted @ 2020-11-13 21:41 上杉家主-上杉绘梨衣 阅读(89) 评论(0) 推荐(0)
摘要:下面来介绍 4 种类型的通知(Advice)。 ###Before Advice method 运行前,将运行下面的代码。 HijackBeforeMethod.java 如下: package com.shiyanlou.spring.aop.advice; import java.lang.re 阅读全文
posted @ 2020-11-13 21:12 上杉家主-上杉绘梨衣 阅读(455) 评论(0) 推荐(0)
摘要:Spring AOP 即 Aspect-oriented programming,面向切面编程,是作为面向对象编程的一种补充,专门用于处理系统中分布于各个模块(不同方法)中的交叉关注点的问题。简单地说,就是一个拦截器(interceptor)拦截一些处理过程。 例如,当一个 method 被执行,S 阅读全文
posted @ 2020-11-12 23:08 上杉家主-上杉绘梨衣 阅读(64) 评论(0) 推荐(0)
摘要:Spring 中为了减少 XML 配置,可以声明一个配置类类对 bean 进行配置,主要用到两个注解 @Configuration 和 @bean,例子: 首先,XML 中增加如下的配置来启动 java 配置: <context:component-scan base-package = "com. 阅读全文
posted @ 2020-11-12 17:22 上杉家主-上杉绘梨衣 阅读(100) 评论(0) 推荐(0)
摘要:Spring 还支持基于 JSR-250 的注解,其中包括 @PostConstruct,@PreDestroy 和 @Resource 注解。虽然这些注解不是真正需要的,因为你已经有其他替代品,但让我们简要了解一下。 @PostConstruct 和@PreDestroy 注解: 要定义一个 be 阅读全文
posted @ 2020-11-12 16:59 上杉家主-上杉绘梨衣 阅读(174) 评论(0) 推荐(0)
摘要:在传统声明方式中 类似这样的注入IOC容器中 <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor "/> 1.如果想使用@ Resource 、@ PostCon 阅读全文
posted @ 2020-11-09 22:36 上杉家主-上杉绘梨衣 阅读(128) 评论(0) 推荐(0)
摘要:本节实验将带你学习 Spring 框架中基于注解的配置,基于注解的配置十分方便,这也是大家现在比较推崇的方式。 知识点 Spring @Required 注解 Spring @Autowired 注解 Spring @Qualifier 注解 Spring JSR-250 注解 Spring 基于 阅读全文
posted @ 2020-11-09 21:33 上杉家主-上杉绘梨衣 阅读(160) 评论(0) 推荐(0)
摘要:所谓自动装配,就是将一个 Bean 注入到其他 Bean 的 Property 中,类似于以下: <bean id = "customer" class = "com.shiyanlou.spring.autowire.common.Customer" autowire = "byName" /> 阅读全文
posted @ 2020-11-04 16:09 上杉家主-上杉绘梨衣 阅读(145) 评论(0) 推荐(0)
摘要:通常你可以在 xml 配置文件中,声明一个 bean 或者 component,然后 Spring 容器会检查和注册你的 bean 或 component。 实际上,Spring 支持自动扫描 bean 或 component,你可以不必再在 xml 文件中繁琐的声明 bean,Spring 会自动 阅读全文
posted @ 2020-11-04 14:50 上杉家主-上杉绘梨衣 阅读(121) 评论(0) 推荐(0)
摘要:Spring 框架中,一旦把一个 Bean 纳入 Spring IOC 容器之中,这个 Bean 的生命周期就会交由容器进行管理,一般担当管理角色的是 BeanFactory 或者 ApplicationContext,认识一下 Bean 的生命周期活动,对更好的利用它有很大的帮助: 下面以 Bea 阅读全文
posted @ 2020-11-04 01:35 上杉家主-上杉绘梨衣 阅读(86) 评论(0) 推荐(0)
摘要:下面讲怎样将值注入集合类型,包含以下四种主要的集合类型: List Set Map Properties ###编写 Person.java && Customer.java 仍旧使用原项目,创建一个包:com.shiyanlou.spring.collections,直接拷贝上一个小实验的 Per 阅读全文
posted @ 2020-11-04 01:28 上杉家主-上杉绘梨衣 阅读(227) 评论(0) 推荐(0)
摘要:在 Spring 中,Bean 的作用域决定了从 Spring 容器中返回的 Bean 实例的类型。在 Spring 中,支持以下 5 种类型的作用域: 1、singleton — 单例模式,由 IOC 容器返回一个唯一的 bean 实例。 2、prototype — 原型模式,被请求时,每次返回一 阅读全文
posted @ 2020-11-03 16:09 上杉家主-上杉绘梨衣 阅读(91) 评论(0) 推荐(0)
摘要:以下 Demo 演示了一个 Bean 中嵌套了另一个 Bean,即所谓的内部嵌套 Bean 的配置方法,内部嵌套的 Bean 支持属性(property)注入和构造函数(constructor - arg)注入。 由于只是简单地知识点讲解,所以我们继续使用上面的项目。 编写 Person.java 阅读全文
posted @ 2020-11-03 15:13 上杉家主-上杉绘梨衣 阅读(711) 评论(0) 推荐(0)
摘要:Spring 中,bean 的定义有三种方式: 基于 XML 的配置 基于注解的配置 基于 Java 类的配置 Bean 的注入有两种方式:基于构造函数的依赖注入和基于设值函数的依赖注入。 这里我们先给大家介绍第一种,基于 XML 的配置方法,这种方法在 Spring 中是最常见的。 ###基于 X 阅读全文
posted @ 2020-11-03 01:52 上杉家主-上杉绘梨衣 阅读(525) 评论(0) 推荐(0)
摘要:mvn archetype:generate -DgroupId=com.shiyanlou.spring -DartifactId=bean -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=packageName (组织名,公司 阅读全文
posted @ 2020-11-03 00:08 上杉家主-上杉绘梨衣 阅读(131) 评论(0) 推荐(0)
摘要:用户在使用 Spring 所提供的各种功能之前,必须在 Spring IoC 容器中装配好 Bean,并建立 Bean 和 Bean 之间的关联关系 ###IoC 是什么 Ioc,Inversion of Control,即“控制反转”。它不是什么技术,而是一种设计思想。在 Java 开发中,Ioc 阅读全文
posted @ 2020-11-02 17:17 上杉家主-上杉绘梨衣 阅读(123) 评论(0) 推荐(0)
摘要:核心容器:包括 Core、Beans、Context、EL 模块 Core 模块:封装了框架依赖的最底层部分,包括资源访问、类型转换及一些常用工具类。 Beans 模块:提供了框架的基础部分,包括控制反转(IOC)和依赖注入(DI)。其中 BeanFactory 是容器核心,本质是“工厂设计模式”的 阅读全文
posted @ 2020-11-01 02:03 上杉家主-上杉绘梨衣 阅读(958) 评论(0) 推荐(0)
摘要:Spring 是一个容器,通过反转控制(IoC)和依赖注入(DI)来实现高内聚、低耦合的应用。除此之外它可以整合很多第三方框架,它还提供面向切面编程(AOP)的能力,对数据库事务的管理尤其方便。 ###Spring 是什么 Spring 是一个开源的轻量级 Java SE(Java 标准版本)/Ja 阅读全文
posted @ 2020-11-01 01:49 上杉家主-上杉绘梨衣 阅读(138) 评论(0) 推荐(0)