05 2021 档案

摘要:#自动配置 * 自动配置 1.自动配置好TomCat > spring-boot-starter-web 中自动引入了TomCat所需依赖,并进行了自动配置 - 引入TomCat依赖 - 配置Tomcat 2.自动配置好SpringMVC > spring-boot-starter-web 中自动引 阅读全文
posted @ 2021-05-23 16:10 失昼 阅读(52) 评论(0) 推荐(0)
摘要:依赖管理特性 * SpringBoot的两大特性 - 依赖管理 1.父项目做依赖管理 > 几乎声明了开发中常用的所有依赖版本号,所以子项目中不需要写版本号了。 2.开发自动导入Start场景启动器 > spring-boot-starter-* *代表了某一种开发场景,例如spring-boot-s 阅读全文
posted @ 2021-05-23 15:45 失昼 阅读(76) 评论(0) 推荐(0)
摘要:第一个SpringBoot程序 * 创建SpringBoot程序的步骤 - 第一步: 在 pom.xml中 导入相关依赖 - Spring核心,表示这是一个SpringBoot程序 <!--SpringBoot核心--> <parent> <groupId>org.springframework.b 阅读全文
posted @ 2021-05-23 15:23 失昼 阅读(59) 评论(0) 推荐(0)
摘要:SpringBoot 什么是SpringBoot? Spring Boot的设计目的是用来简化新Spring应用的初始搭建以及开发过程的。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。在过去Spring框架中,我们需要为应用配置所有的内容,会有 许多配置文件,例如XML或 阅读全文
posted @ 2021-05-23 15:01 失昼 阅读(56) 评论(0) 推荐(0)
摘要:FastJson Fastjson 是一个 Java类库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。 FastJson的使用步骤 第一步: 导入依赖 <!- 阅读全文
posted @ 2021-05-18 17:06 失昼 阅读(59) 评论(0) 推荐(0)
摘要:Jackson Jackson的使用步骤 第一步 导入Jackson所需依赖 <!-- jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artif 阅读全文
posted @ 2021-05-18 14:53 失昼 阅读(65) 评论(0) 推荐(0)
摘要:JSON 前后端分离时代,后端部署后端,提供接口;前端独立部署。渲染后端数据。 首先要解决的问题就是前后端之间如何交流,如果传递数据,那么就需要一种约定,一种数据交换格式。 JavaScript对象和JSON对象之间的转化 <script type="text/javascript"> //编写一个 阅读全文
posted @ 2021-05-15 10:08 失昼 阅读(40) 评论(0) 推荐(0)
摘要:解决乱码问题 * 手写过滤器,然后在web.xml文件中配置该过滤器。 - 过滤器: public class EncodingFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletE 阅读全文
posted @ 2021-05-15 09:28 失昼 阅读(53) 评论(0) 推荐(0)
摘要:接收请求参数以及数据回显 * SpringMVC可以通过地址栏取前端数据,不过要保证前端变量名和后端接收前端参数的变量名一致 - 前后端变量名一致: // 访问方式 http://localhost:8080/user/t1?userName=shige @Controller @RequestMa 阅读全文
posted @ 2021-05-14 19:09 失昼 阅读(68) 评论(0) 推荐(0)
摘要:SpringMVC中的转发和重定向 * 因为有视图解析器的原因,我们不需要配置转发和重定向,也不需要写完整的网页资源名,但是如果没有视图解析器的情况下要怎么实现资源联系呢? - 视图解析器 <bean id="InternalResourceViewResolver" class="org.spri 阅读全文
posted @ 2021-05-14 10:13 失昼 阅读(46) 评论(0) 推荐(0)
摘要:RestFul风格 * RESTful?就是一种资源定位和资源操作的风格,它既不是标准也不是协议,只是一种编写风格,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 * REST(英文:Representational State Transfer,简称REST,意思:表述性状态转 阅读全文
posted @ 2021-05-14 09:20 失昼 阅读(63) 评论(0) 推荐(0)
摘要:创建SpringMVC项目的步骤 * 创建SpringMVC项目的具体步骤 第一步: 新建一个WEB项目,添加web支持。 第二步: 创建包结构 第三步:解决Maven资源过滤问题 <!-- 资源过滤 --> <resources> <resource> <directory>src/main/ja 阅读全文
posted @ 2021-05-13 14:33 失昼 阅读(180) 评论(0) 推荐(0)
摘要:SpringMVC概述 Spring MVC属于SpringFrameWork框架的一部分,Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是 使用请求-响应模型,框 阅读全文
posted @ 2021-05-13 13:29 失昼 阅读(39) 评论(0) 推荐(0)
摘要:初识SpringMVC * 什么是MVC? - MVC全名是Model View Controller,是一种软件架构模式。 MVC即 模型(Model) - 视图(View) - 控制器(Controller) - MVC是将业务逻辑、数据、显示分离的方式来组织代码。 - MVC主要是降低视图与业 阅读全文
posted @ 2021-05-13 10:11 失昼 阅读(42) 评论(0) 推荐(0)
摘要:Spring声明式事务 * 事务回顾 - 一个事务中包含多个操作,要么所有操作都成功,要么所有操作都失败,不允许单独一个操作成功或失败。 - 事务在项目开发中十分重要,涉及到数据的一致性问题(ACID) - ACID : 原子性 一致性 隔离性 持久性 * Spring中的事务分为 编程式事务 和 阅读全文
posted @ 2021-05-12 17:43 失昼 阅读(62) 评论(0) 推荐(0)
摘要:整合Mybatis方式二 SqlSessionDaoSupport 让实现类继承 org.mybatis.spring.support.SqlSessionDaoSupport; public class UserMapperImplTwo extends SqlSessionDaoSupport 阅读全文
posted @ 2021-05-12 15:53 失昼 阅读(52) 评论(0) 推荐(0)
摘要:Mybatis整合 - Mybatis-Spring * MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 阅读全文
posted @ 2021-05-12 15:28 失昼 阅读(57) 评论(0) 推荐(0)
摘要:整合Mybatis * Maven静态资源过滤问题。 提示: Invalid bound statement (not found) - 第一步: 检查接口中的方法名和Mapper.xml配置文件中的标签ID是否一致。 - 第二步:检查<namespace>路径是否正确 - 第三步检查targer目 阅读全文
posted @ 2021-05-12 14:18 失昼 阅读(56) 评论(0) 推荐(0)
摘要:AOP实现(3) 使用注解实现AOP * 开启注解支持: <aop:aspectj-autoproxy proxy-target-class="false"/> - aspectj-autoproxy 属性开启注解支持 - proxy-target-class="false" 代表关闭CGLIB动态 阅读全文
posted @ 2021-05-12 13:05 失昼 阅读(79) 评论(0) 推荐(0)
摘要:AOP实现(2)切面定义 * AOP实现切面定义 - 第一步: 导入依赖: <!-- spring-web --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> < 阅读全文
posted @ 2021-05-12 12:37 失昼 阅读(115) 评论(0) 推荐(0)
摘要:execution表达式 * 在AOP的配置中需要配置切入点,那么就需要配置切入点所需要切入的位置 ,需要通过execution表达式来实现。 <aop:config> <aop:pointcut id="pointcut" expression="execution(* com.shi.servi 阅读全文
posted @ 2021-05-12 11:09 失昼 阅读(391) 评论(0) 推荐(0)
摘要:AOP实现(1) * 使用AOP的步骤 - 第一步: 导入依赖: <!-- spring-web --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <versi 阅读全文
posted @ 2021-05-12 11:04 失昼 阅读(63) 评论(0) 推荐(0)
摘要:#SpringAOP基础概念 什么是AOP? AOP 的全称是 “Aspect Oriented Programming”, 即面向切面编程。 AOP是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,它将业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可 阅读全文
posted @ 2021-05-12 10:43 失昼 阅读(86) 评论(0) 推荐(0)
摘要:CGLIB(父类)动态代理 * CGLIB需要导入第三方Jar包,或者Maven依赖。 <!-- https://mvnrepository.com/artifact/cglib/cglib --> <dependency> <groupId>cglib</groupId> <artifactId> 阅读全文
posted @ 2021-05-11 14:11 失昼 阅读(127) 评论(0) 推荐(0)
摘要:代理模式 * 作用:代理模式给某一个对象提供一个代理对象,并由代理对象来控制对原对象的引用,在不修改原对象代码的基础上,对原对象的功能进行修改或增强。 * 代理模式分为 静态代理 和 动态代理 - 静态代理是由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行之前,代理类.class文件就已 阅读全文
posted @ 2021-05-11 13:26 失昼 阅读(50) 评论(0) 推荐(0)
摘要:JavaConfig实现配置、 使用在java类中实现配置,完全代替XML文件。 使用步骤 在需要交给Spring托管的类上加上@Component注解,并且使用@Value给属性赋值。 然后新建一个config类,写一个返回相关类对象的方法 @Bean public User getUser(){ 阅读全文
posted @ 2021-05-10 11:59 失昼 阅读(72) 评论(0) 推荐(0)
摘要:Spring注解开发 注解环境搭建 在Spring4之后要使用注解开发,必须保证AOP的包导入了。 使用注解需要Context约束 context:annotation-config/ 开启注解驱动支持 <context:component-scan base-package="com.shi"/> 阅读全文
posted @ 2021-05-10 10:36 失昼 阅读(74) 评论(0) 推荐(0)
摘要:bean自动装配机制 * 自动装配Spring满足bean依赖的一种方式,Spring会在上下文中自动寻找相关属性,并给bean装配属性。 * 在Spring中有三种装配的方式 - 在XML文件中显示的装配 - 在Java中显式的配置 - 隐式的自动装配Bean * 自动装配 - ByName自动装 阅读全文
posted @ 2021-05-09 17:06 失昼 阅读(59) 评论(0) 推荐(0)
摘要:Bean作用域 目前Spring Bean的作用域或者说范围主要有六种。 作用域 描述 singleton 在spring IoC容器仅存在一个Bean实例,该Bean以单例方式存在,是bean作用域范围的默认值。 prototype 每次从容器中调用Bean时,都返回一个新的实例,即每次调用get 阅读全文
posted @ 2021-05-09 16:34 失昼 阅读(47) 评论(0) 推荐(0)
摘要:C命名空间 和 P命名空间注入 * P命名空间注入 对应了类属性的Set方法注入 - 需要引入头文件: xmlns:p="http://www.springframework.org/schema/p" - 使用方法: <!--P命名空间注入 可以直接注入类属性的值--> <bean id="use 阅读全文
posted @ 2021-05-09 16:22 失昼 阅读(158) 评论(0) 推荐(0)
摘要:依赖注入(DI) * 依赖注入一共有三种方式 - 第一种方式 通过构造方法注入 - 第二种方式 通过实体类的Set方法注入 - 第三种方式 通过外部拓展方式注入 * Set依赖注入 - 依赖:Bean对象的创建依赖于Spring容器。 - 注入:Bean对象中的所有属性,由容器来注入。 * 各种类型 阅读全文
posted @ 2021-05-09 15:44 失昼 阅读(66) 评论(0) 推荐(0)
摘要:Spring配置 * 设置别名 //在配置文件中设置别名 <alias> <alias name="user" alias="myUser"/> //在测试类中使用设置的别名 User user= (User) applicationContext.getBean("myUser"); * <bea 阅读全文
posted @ 2021-05-09 14:47 失昼 阅读(53) 评论(0) 推荐(0)
摘要:IOC创建对象的方式 * IOC是默认使用类的无参构造创建对象的,如果在类中写了有参构造,而又没有显性得到定义无参构造方法,那么程序就会报错,初始化失败。 使用无参构造哈函数创建对象的时候,当注入bean成功后,对象就已经被实例化了。 * IOC也可以通过有参构造函数创建对象,有三种方式。 - 第一 阅读全文
posted @ 2021-05-09 14:25 失昼 阅读(83) 评论(0) 推荐(0)
摘要:XML配置 * beans.xml 配置class <!-- 使用Spring来创建对象,在Spring中这些都称为Bean Bean=对象 Hello hello = new Hello(); id=变量名 class=new的对象 property相当于对象的属性,给属性设置值 --> <bea 阅读全文
posted @ 2021-05-09 13:29 失昼 阅读(39) 评论(0) 推荐(0)
摘要:HelloSpring 使用Spring创建对象的过程 创建一个Hello类 public class Hello { private String name; public String getName() { return name; } public void setName(String n 阅读全文
posted @ 2021-05-09 13:26 失昼 阅读(34) 评论(0) 推荐(0)
摘要:IOC 理论推导 * IOC是一种设计思想,在没有IOC的程序中,我们面向对象编程,对象的创建与对象的依赖关系完成硬编码在程序中,对象的创建需要在程序中进行控制;使用控制反转后将对象的创建权交给第三方。 * IOC是Spring的核心内容,可以使用多种方式实现IOC,例如 XML配置文件、注解、新版 阅读全文
posted @ 2021-05-09 12:26 失昼 阅读(59) 评论(0) 推荐(0)
摘要:Spring 概念 * Spring框架是针对软件开发的复杂性而生的。 * Spring是一个轻量级控制反转(IOC) 和 面向切面(AOP)的容器框架。 * Spring的前身是Interface21,2002年推出了Spring的雏形,interface21框架. * Java之父是詹姆斯·高斯 阅读全文
posted @ 2021-05-09 10:19 失昼 阅读(82) 评论(0) 推荐(0)
摘要:Mybatis自定义缓存 EhCache EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存 Ehcache缓存的使用 - 第一步 添加依赖 Ehca 阅读全文
posted @ 2021-05-08 18:04 失昼 阅读(164) 评论(0) 推荐(0)
摘要:Mybatis二级缓存 * 默认情况下只启用了本地会话缓存 即: 一级缓存, 它仅仅对一个会话中的数据进行缓存。 * 全局缓存(二级缓存)是基于namespace的缓存,一个namespace对应着一个Mapper接口。不同的SqlSession对象可以读取同一个mapper的缓存数据。 * 但是所 阅读全文
posted @ 2021-05-08 17:36 失昼 阅读(76) 评论(0) 推荐(0)
摘要:Mybatis一级缓存 * 一级缓存也叫本地缓存(SqlSession级别的缓存,从SqlSession开启到SqlSession结束中间的数据会被缓存起来) - 与数据库同一次会话期间查询到的数据会放在本地缓存中,以后如果需要相同的数据直接在缓存中查询,不必再去数据库中查询。 * 一级缓存是默认开 阅读全文
posted @ 2021-05-08 16:52 失昼 阅读(59) 评论(0) 推荐(0)
摘要:Mybatis缓存简介 * 什么是缓存【Cache】? - 存储在内存中的临时数据,断电即失。 - 将用户查询的数据放在缓存(内存)中,用户查询数据的时候就不用再磁盘上查询,而是在缓存中查询,这样可以大大提到查询效率。解决了高并发系统的性能问题。 * 为什么要使用缓存【Cache】? - 减少与数据 阅读全文
posted @ 2021-05-08 16:15 失昼 阅读(65) 评论(0) 推荐(0)
摘要:动态SQL * 什么是动态SQL? - 动态SQL就是指根据不同的条件,生成不同的SQL语句 - 动态SQL就是在拼接sql语句,将sql语句的拼接规范化,这样更不容易出错。 * 动态sql之 <where> </where>标签 - 使用 <where>标签,Mybatis会识别到,如果传入参数的 阅读全文
posted @ 2021-05-08 15:17 失昼 阅读(68) 评论(0) 推荐(0)
摘要:结果集映射 resultMap 复杂类型使用(一对多的处理) - association 关联 [多对一] 多个学生对应一个老师 - connection 集合 [一对多] 一个老师对应多个学生 - javaType 和 ofType javaType 用来指定实体类中的某个属性的类型 ofType 阅读全文
posted @ 2021-05-08 12:10 失昼 阅读(200) 评论(0) 推荐(0)
摘要:结果集映射 resultMap 复杂类型使用 resultType可以把查询结果封装到pojo类型中,但必须pojo类的属性名和查询到的数据库表的字段名一致。 如果在Sql语句中,所查询的字段名和实体类中的属性名不一致,那么在查询过程中,Mybatis就会在实体类中找不到该字段所对应的属性名,那么查 阅读全文
posted @ 2021-05-08 10:19 失昼 阅读(349) 评论(0) 推荐(0)
摘要:LomBok使用 Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。 lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具。 简单来说,比如 阅读全文
posted @ 2021-05-03 13:48 失昼 阅读(101) 评论(0) 推荐(1)
摘要:使用注解开发 Mybatis中注解的使用 - 第一步在接口上写该接口所需要的sql语句 @Select("select * from t_userInfo") List<User> getUserList(); - 在Mybatis核心配置文件中,通过Mapper标签指定该接口的位置 <!--绑定接 阅读全文
posted @ 2021-05-03 13:13 失昼 阅读(64) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/2334081/202105/2334081-20210503124442075-582802543.jpg) 阅读全文
posted @ 2021-05-03 12:45 失昼 阅读(34) 评论(0) 推荐(0)
摘要:Mybatis分页 * SQL中的分页查询 select * from t_user limit StartIndex PageSize - SELECT * FROM T_USERINFO LIMIT 0, 7 从下标为0的数据开始,查7条数据。 - SELECT * FROM T_USERINF 阅读全文
posted @ 2021-05-02 16:53 失昼 阅读(71) 评论(0) 推荐(0)
摘要:Mybatis日志工厂 * Mybatis中的日志设置 * Mybatis日志实现方式主要有七种: SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING - 第一种方式: STDOUT 阅读全文
posted @ 2021-05-02 15:59 失昼 阅读(66) 评论(0) 推荐(0)
摘要:解决实例对象属性名和字段名不一致的问题(ResultMap初步使用) 如果在Sql语句中,所查询的字段名和实体类中的属性名不一致,那么在查询过程中,Mybatis就会在实体类中找不到该字段所对应的属性名,那么查出来的数据就会为NULL。 第一种解决办法, 给字段名设置别名,从而使某个字段名和实体类中 阅读全文
posted @ 2021-05-02 14:34 失昼 阅读(185) 评论(0) 推荐(0)
摘要:Mybatis核心配置文件属性优化 * 环境配置(environments),MyBatis 可以配置成适应多套环境,通过default属性等于某套环境的ID,代表选择该套进行使用, default="development"。 - 在每一套环境中可以配置: - 可以定义环境的ID(比如:id="d 阅读全文
posted @ 2021-05-02 13:46 失昼 阅读(67) 评论(0) 推荐(0)