09 2020 档案

摘要:9、文件上传与下载 9.1 准备工作 文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理文件上传工作。如果想使用Spring的文件上传功能,则需要在上下文中配置Mu 阅读全文
posted @ 2020-09-11 22:55 YhnCoder 阅读(185) 评论(0) 推荐(0)
摘要:8、拦截器 8.1 认识拦截器 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 **过滤器与拦截器的区别:**拦截器是AOP思想的具体应用。 过滤器 servlet规范中的一部分,任何ja 阅读全文
posted @ 2020-09-11 22:53 YhnCoder 阅读(457) 评论(0) 推荐(0)
摘要:7、Ajax研究 7.1 简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强 阅读全文
posted @ 2020-09-11 22:52 YhnCoder 阅读(150) 评论(0) 推荐(0)
摘要:6、什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器 阅读全文
posted @ 2020-09-11 22:49 YhnCoder 阅读(170) 评论(0) 推荐(0)
摘要:5、数据处理及跳转 现在我们来看看SpringMVC参数接收处理和结果跳转处理吧! 5.1 跳转方式 ModelAndView 设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 . 页面 : {视图解析器前缀} + viewName +{视图解析器后缀} <! 阅读全文
posted @ 2020-09-11 22:46 YhnCoder 阅读(204) 评论(0) 推荐(0)
摘要:4、RestFul和控制器 4.1 控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。 控制器负责解析用户的请求并将其转换为一个模型。 在Spring MVC中一个控制器类可以包含多个方法 在Spring MVC中,对于Controller的配置方 阅读全文
posted @ 2020-09-11 22:42 YhnCoder 阅读(218) 评论(0) 推荐(0)
摘要:3、第一个MVC程序 3.1 配置版 新建一个module SpringMVC-02-hellomvc 添加web 支持 maven中导入相应jar包 并且查看WEB-INF下有没有lib目录 如果没有 手动添加 在web.xml 配置DispatcherServlet <?xml version= 阅读全文
posted @ 2020-09-11 22:36 YhnCoder 阅读(224) 评论(0) 推荐(0)
摘要:2、什么是SpringMVC 2.1、概述 Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。 查看官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework- 阅读全文
posted @ 2020-09-11 22:31 YhnCoder 阅读(151) 评论(0) 推荐(0)
摘要:SpringMVC 1、回顾MVC 1.1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向偶合。 MVC不是一种设计模式,MVC是一种 阅读全文
posted @ 2020-09-11 22:27 YhnCoder 阅读(90) 评论(0) 推荐(0)
摘要:14. 声明式事务 14.1 回顾事务 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎! 事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。 事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。 事务四个属性ACID 原子性(at 阅读全文
posted @ 2020-09-10 19:55 YhnCoder 阅读(178) 评论(0) 推荐(0)
摘要:13. 整合MyBatis 13.1 步骤 1、导入相关jar包 junit <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> myba 阅读全文
posted @ 2020-09-10 19:54 YhnCoder 阅读(141) 评论(0) 推荐(0)
摘要:12.1 什么是AOP AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对 阅读全文
posted @ 2020-09-10 19:52 YhnCoder 阅读(147) 评论(0) 推荐(0)
摘要:11.3 动态代理 动态代理的角色和静态代理的一样 . 动态代理的代理类是动态生成的 . 静态代理的代理类是我们提前写好的 动态代理分为两类 : 一类是基于接口动态代理 , 一类是基于类的动态代理 基于接口的动态代理 JDK动态代理 基于类的动态代理--cglib 现在用的比较多的是 javasis 阅读全文
posted @ 2020-09-10 19:51 YhnCoder 阅读(163) 评论(0) 推荐(0)
摘要:11. 代理模式 为什么要学习代理模式,因为AOP的底层机制就是动态代理! 代理模式: 静态代理 动态代理 学习aop之前 , 我们要先了解一下代理模式! 11.1 静态代理 静态代理角色分析 抽象角色 : 一般使用接口或者抽象类来实现 真实角色 : 被代理的角色(房东) 代理角色 : 代理真实角色 阅读全文
posted @ 2020-09-10 19:48 YhnCoder 阅读(137) 评论(0) 推荐(0)
摘要:10. 基于Java类进行配置 JavaConfig 原来是 Spring 的一个子项目,它通过 Java 类的方式提供 Bean 的定义信息,在 Spring4 的版本, JavaConfig 已正式成为 Spring4 的核心功能 。 测试: 1、编写一个实体类,Dog @Component / 阅读全文
posted @ 2020-09-10 19:46 YhnCoder 阅读(406) 评论(0) 推荐(0)
摘要:9. 使用注解开发 9.1 说明 在spring4之后,想要使用注解形式,必须得要引入aop的包 在配置文件当中,还得要引入一个context约束 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframew 阅读全文
posted @ 2020-09-10 19:44 YhnCoder 阅读(256) 评论(0) 推荐(0)
摘要:8. 自动装配 8.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean。 Spring中bean有三种装配机制,分别是: 在xml中显式配置; 在java中显式配置; 隐式的bean发现机制和自动装配。 这里我们主要 阅读全文
posted @ 2020-09-10 19:42 YhnCoder 阅读(329) 评论(0) 推荐(0)
摘要:7. Bean的作用域 在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象 . 几种作用域中,request、session作用域仅在基于web的应用中使用(不必关心你所采用的是什么web应用 阅读全文
posted @ 2020-09-10 19:40 YhnCoder 阅读(1258) 评论(5) 推荐(1)
摘要:6. 依赖注入 6.1 概念 依赖注入(Dependency Injection,DI)。 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 . 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 . 6.2 构造器注入 我们在之前的案例已经讲过了(有参构造) 6.3 阅读全文
posted @ 2020-09-10 19:37 YhnCoder 阅读(139) 评论(0) 推荐(0)
摘要:5. Spring配置 5.1 别名 alias 设置别名 , 为bean设置别名 , 可以设置多个别名 <!--设置别名:在获取Bean的时候可以使用别名获取--> <alias name="userT" alias="userNew"/> 5.2 Bean的配置 <!--bean就是java对象 阅读全文
posted @ 2020-09-10 19:35 YhnCoder 阅读(89) 评论(0) 推荐(0)
摘要:4. IOC创建对象方式 4.1 通过无参构造方法来创建 1、User.java public class User { private String name; public User() { System.out.println("user无参构造方法"); } public void setN 阅读全文
posted @ 2020-09-10 19:34 YhnCoder 阅读(233) 评论(0) 推荐(0)
摘要:3. HelloSpring 3.1 导入Jar包 注 : spring 需要导入commons-logging进行日志记录 . 我们利用maven , 他会自动下载对应的依赖项 . <dependency> <groupId>org.springframework</groupId> <artif 阅读全文
posted @ 2020-09-10 19:30 YhnCoder 阅读(169) 评论(0) 推荐(0)
摘要:2. IOC理论推导 2.1 IoC基础 新建一个空白的maven项目 分析实现 我们先用我们原来的方式写一段代码 . 1、先写一个UserDao接口 public interface UserDao { public void getUser(); } 2、再去写Dao的实现类 public cl 阅读全文
posted @ 2020-09-10 19:28 YhnCoder 阅读(141) 评论(0) 推荐(0)
摘要:1. Spring 1.1 简介 Spring : 春天 >给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。 2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。 很难想象Rod 阅读全文
posted @ 2020-09-10 19:27 YhnCoder 阅读(101) 评论(0) 推荐(0)
摘要:12、缓存 12.1、简介 查询 : 连接数据库 ,耗资源! 一次查询的结果,给他暂存在一个可以直接取到的地方!--> 内存 : 缓存 我们再次查询相同数据的时候,直接走缓存,就不用走数据库了 什么是缓存 [ Cache ]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查 阅读全文
posted @ 2020-09-07 12:29 YhnCoder 阅读(113) 评论(0) 推荐(0)
摘要:11、动态 SQL 什么是动态SQL:动态SQL就是指根据不同的条件生成不同的SQL语句 利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 大大精简了 阅读全文
posted @ 2020-09-07 12:24 YhnCoder 阅读(154) 评论(0) 推荐(0)
摘要:10、多对一处理 多对一: 多个学生,对应一个老师 对于学生这边而言, 关联 .. 多个学生,关联一个老师 【多对一】 对于老师而言, 集合 , 一个老师,有很多学生 【一对多】 SQL: CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` 阅读全文
posted @ 2020-09-07 12:21 YhnCoder 阅读(448) 评论(0) 推荐(0)
摘要:9、Lombok Lombok 可以帮我们写好Setter/Getter方法、构造方法等 我们直接拿来用 我们只需要导包,用注解即可实现 Project Lombok is a java library that automatically plugs into your editor and bu 阅读全文
posted @ 2020-09-07 12:19 YhnCoder 阅读(129) 评论(0) 推荐(0)
摘要:8、使用注解开发 8.1、面向接口编程 - 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程 - 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好 - 在一 阅读全文
posted @ 2020-09-07 11:36 YhnCoder 阅读(276) 评论(0) 推荐(0)
摘要:7、分页 思考:为什么要分页? 减少数据的处理量 7.1、使用Limit分页 语法:SELECT * from user limit startIndex,pageSize; SELECT * from user limit 3; #[0,n] 使用Mybatis实现分页,核心SQL 接口 //分页 阅读全文
posted @ 2020-09-07 11:33 YhnCoder 阅读(138) 评论(0) 推荐(0)
摘要:6、日志 6.1、日志工厂 如果一个数据库操作,出现了异常,我们需要排错。日志就是最好的助手! 曾经:sout 、debug 现在:日志工厂! SLF4J LOG4J 【掌握】 LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING 【掌握】 NO_LOG 阅读全文
posted @ 2020-09-07 11:29 YhnCoder 阅读(228) 评论(0) 推荐(0)
摘要:5、解决属性名和字段名不一致的问题 1、 问题 数据库中的字段 新建一个项目,拷贝之前的,测试实体类字段不一致的情况 public class User { private int id; private String name; private String password; } 测试出现问题 阅读全文
posted @ 2020-09-07 11:22 YhnCoder 阅读(200) 评论(0) 推荐(0)
摘要:4、配置解析 1、核心配置文件 mybatis-config.xml MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandl 阅读全文
posted @ 2020-09-05 22:15 YhnCoder 阅读(201) 评论(0) 推荐(0)
摘要:3、CRUD 1、namespace namespace中的包名要和 Dao/mapper 接口的包名一致! 2、select 选择,查询语句; id : 就是对应的namespace中的方法名; resultType:Sql语句执行的返回值! parameterType : 参数类型! 编写接口 阅读全文
posted @ 2020-09-05 22:10 YhnCoder 阅读(118) 评论(0) 推荐(0)
摘要:2、第一个Mybatis程序 思路:搭建环境-->导入Mybatis-->编写代码-->测试! 2.1、搭建环境 搭建数据库 CREATE DATABASE `mybatis`; USE `mybatis`; CREATE TABLE `user`( `id` INT(20) NOT NULL PR 阅读全文
posted @ 2020-09-05 22:05 YhnCoder 阅读(199) 评论(0) 推荐(0)
摘要:1、简介 1.1、什么是Mybatis MyBatis 是一款优秀的持久层框架 它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 PO 阅读全文
posted @ 2020-09-05 22:01 YhnCoder 阅读(147) 评论(0) 推荐(0)