SSM实战教程
文章平均质量分 86
Java框架,包含SSM、SSH等
哪 吒
2022博客之星Top1,现象级专栏 《Java基础教程系列》作者,专注Java硬核干货分享,立志做到Java赛道全网Top N
展开
-
SpringBoot入门教程
本系列是springboot的学习笔记,从入门到精通,不积跬步无以至千里,水滴石穿!欲速则不达,欲达则欲速!在学习springboot的过程中,发现了一个springboot中文索引做的非常不错,分享springboot的学习资源和开源软件,对springboot的学习帮助极大。小编推荐学习视频:SpringBoot_最新教程_spring boot_springboot核心篇+spr...原创 2020-02-01 19:15:48 · 31401 阅读 · 19 评论 -
statement和prepareStatement 的区别
???? Java基础教程系列:Java基础教程系列???? Java学习路线总结:搬砖工逆袭Java架构师???? Java经典面试题大全:10万字208道Java经典面试题总结(附答案)???? 简介:Java领域优质创作者????、CSDN哪吒公众号作者✌ 、Java架构师奋斗者???????? 扫描主页左侧二维码,加入群聊,一起学习、一起进步???? 欢迎点赞 ???? 收藏 ⭐留言 ???? 一、【粉丝福利】送书啦,大家期待已久的Vue!本次活动送书规则:【送原创 2021-10-30 22:40:06 · 9804 阅读 · 10 评论 -
springboot整合mybatis实现增删改查
Java框架总结Spring AOP基础知识总结Spring常用注解(绝对经典)SpringMVC中put和post如何选择@RequestParam、@ModelAttribute、@RequestBody的区别mybatis常用注解(绝对经典)【MyBatis基础知识总结1】SQL注入【MyBatis基础知识总结【MyBatis基础知识总结3】MyBatis一级缓存和二级缓存【MyBatis 基础知识总结 4】动态sql。原创 2021-10-15 13:25:50 · 34147 阅读 · 159 评论 -
MyBatis事务管理
一、概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects)支持声明式事管理,特别是基于注解的声明式事务管理,简单易用提供比其他事务API如JTA更单的编程式事务管理API与s转载 2020-10-15 00:21:01 · 5622 阅读 · 2 评论 -
【Spring Boot 27】Spring Boot 谷粒学院、谷粒商城项目问题汇总
1、Spring Boot项目下的service_edu子模块,用测试类@Test执行MyBatis Plus代码生成器的时候,发现执行不了。原创 2020-06-16 20:32:49 · 6623 阅读 · 8 评论 -
【Spring Boot 】QueryMapper初探
最近入职了一家新公司,一看项目源码,后端用的是SpringBoot,发现基本都是单表查询QueryMapper,之前接触过一点,这次借这个机会将QueryMapper知识点完善一下。一、条件构造器关系介绍1、示例图说明上图绿色框为抽象类abstract; 蓝色框为正常class类,可new对象; 黄色箭头指向为父子类关系,箭头指向为父类;2、wrapper介绍wrapper:条件构造抽象类,最顶层接口; AbstractWrapper:用于查询条件封装,生成sql的where条.转载 2020-09-24 17:31:57 · 7860 阅读 · 0 评论 -
Java框架总结
本系列用来记录常用java框架的基本概念、区别及联系,也记录了在使用过程中,遇到的一些问题的解决方法,方便自己查看,也方便大家查阅。欲速则不达,欲达则欲速!一、SSH1、基本概念SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成,是当前比较流行的java web开源框架。集成SSH框架的系统从职责上分为(Struts2--...原创 2020-01-17 14:14:13 · 64373 阅读 · 22 评论 -
spring aop原理
最近进行了一波面试,面试官问我项目中AOP的具体应用,面试的时候我只知道AOP是面向切面编程,动态代理方式实现的,可以用在登录验证、事务和日志上,但具体代码怎么写的,说的那真的是云里雾里,回家猛补了一下AOP。一、AOP的基本概念1、什么是AOP?AOP(Aspect Oriented Programming)称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等等,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。在不改变原有逻辑的基础原创 2020-07-17 15:22:33 · 15777 阅读 · 4 评论 -
Spring常用注解(绝对经典)
Spring注解方式减少了配置文件内容,更加便于管理,并且使用注解可以大大提高了开发效率!原创 2020-07-14 23:43:42 · 171923 阅读 · 25 评论 -
HttpServletResponse response实现文件上传、下载
一、概述在创建servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应的response。service方法中的response的类型是ServletResponse,而doGet/doPost方法的response的类型是HttpServletResponse,HttpServletResponse是ServletResponse的子接口,功能和方法更加强大。二、response的运行流程三、通过抓包工原创 2020-12-13 21:36:03 · 30370 阅读 · 1 评论 -
POST 和 PUT 方法区别
有的观点认为,应该用POST来创建一个资源,用PUT来更新一个资源;有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源;还有的观点认为可以用PUT和POST中任何一个来做创建或者更新一个资源。这些观点都只看到了风格,争论起来也只是争论哪种风格更好,其实,用PUT还是POST,不是看这是创建还是更新资源的动作,这不是风格的问题,而是语义的问题。 举一个简单的例子,假如有一个博客系统提供一个Web API,模式是这样http://superblogging/blogs/{blog-name..原创 2020-11-16 10:05:43 · 5326 阅读 · 0 评论 -
使用JSR-303进行校验
一、JSR303定义的校验类型空检查 @Null 验证对象是否为null @NotNull 验证对象是否不为null, 无法查检长度为0的字符串 @NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格. @NotEmpty 检查约束元素是否为NULL或者是EMPTY. Booelan检查 @AssertTrue 验证 Boolean 对象是否为 true @AssertFa..转载 2020-12-27 23:31:06 · 9452 阅读 · 1 评论 -
GET和POST的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Boo转载 2021-01-06 19:51:59 · 99480 阅读 · 29 评论 -
浅谈Spring事件机制
一、同步事件和异步事件同步事件:在一个线程里,按顺序执行业务,做完一件事再去做下一件事。异步事件:在一个线程里,做一个事的同事,可以另起一个新的线程执行另一件事,这样两件事可以同时执行。用一个例子来解释同步事件和异步事件的使用场景,有时候一段完整的代码逻辑,可能分为几部分,拿最常见的注册来说,假设完整流程是:1、点击注册;2、检验信息并存库;3、发送邮件;4、返回给用户。代码这么写是正确,但不是最好的,缺点如下:① 逻辑复杂,业务耦合。② 效率低加入2和3分别需要原创 2020-05-09 16:53:26 · 6870 阅读 · 0 评论 -
MyBatis xml配置文件详解
一、MyBatis 配置文件基本结构在使用mybatis框架时,首先导入其对应的jar包,并进行相应的配置,所以得对配置文件的每个参数都得了解。一个完全的mybatis配置文件结构如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.转载 2020-10-15 22:48:36 · 21516 阅读 · 0 评论 -
mybatis-plus使用教程
一、简介MyBatis-Plus(简称MP),是mybatis的增强工具,在mybatis的基础上只做增强不做改变,为简化开发,提高效率而生。二、优点1、无侵入MyBatis-Plus在MyBatis的基础上进行扩展,只做增强不做改变,引入MyBatis-Plus不会对现有的MyBatis框架产生任何影响,而且MP支持所有MyBatis原生的特性。2、依赖少仅仅依赖MyBatis以及MyBatis-Spring3、损耗小启动即会注入基本CRUD,性能基本无损耗,直接面向对象操原创 2020-07-09 11:34:20 · 7153 阅读 · 2 评论 -
sqlsessionfactory和sqlsession
一、前言学习框架一个比较好的路径阅读源码.本文介绍的SqlSessionFactory和SqlSession.可以通过了解SqlSessionFactory接口和SqlSession接口以及两个的实现类入手,去看源码了解实现过程.最好能把项目下载到本地,慢慢分析实现过程.Myabtis官网:http://www.mybatis.org/github地址:https://github.com/mybatis/mybatis-3...转载 2021-06-18 21:40:31 · 5391 阅读 · 0 评论 -
Spring+SpringMVC+MyBatis整合
一、思路SSH --> Spring+SpringMVC+MyBatisSM整合 --> SS整合 -->SSMSqlSessionFactory ->SqlSession -> StudentMapper ->CRUDMyBatis最终通过SqlSessionFactory 来操作数据库,Spring整合MyBatis,其实就是将MyBatis...原创 2020-04-22 14:49:43 · 6146 阅读 · 1 评论 -
jdbctemplate使用
欲速则不达,欲达则欲速!一、前言微服务架构被提出很短的时间内,就被越来越多的开发人员推崇,简单来说其主要的目的是有效的拆分应用,实现敏捷开发和部署。本博客尝试介绍微服务架构的一些实施细节和要求,探询微服务架构的由来,并最终提供我们团队内部的有一些实践总结,希望对大家有帮助。二、什么是微服务传统的web开发方式,通过对比比较容易理解什么是Microservice Architectu...原创 2020-07-28 14:26:30 · 10573 阅读 · 4 评论 -
spring struts hibernate web.xml配置文件模板
1、applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.转载 2021-01-26 19:13:42 · 1065 阅读 · 0 评论 -
Hibernate基础知识总结
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。最近温习了一遍SSH框架,发了动弹,和广大猿友进行了深刻的探讨,被喷的五体投地,感慨万千,于是就有了今天这篇文章。声明:本文只是小编的一点拙见,不喜勿喷。一、hibernate优势hibernate让你不用写sql了,这不单可以让你的应用更好移植其它数据库,更主要的是让程序员更专注业务逻辑、数据关系、对象关系等。hibernate对一对多,多对多关系实现是非常好的。很关键一点,它支持lazy,可以让你的数据只在需要的时候被加载..原创 2020-06-03 21:23:49 · 4117 阅读 · 5 评论 -
ControllerAdvice的常用场景
一、ControllerAdvice的常用场景1、全局异常处理2、全局数据绑定3、全局数据预处理灵活使用这三个功能,可以帮助我们简化很多工作,需要注意的是,这是 SpringMVC 提供的功能,在 Spring Boot 中可以直接使用,下面分别来看。二、全局异常处理使用 @ControllerAdvice 实现全局异常处理,只需要定义类,添加该注解即可定义方式如下:package com.atguigu.commonutils.exceptionhandler;imp..原创 2020-06-21 12:21:19 · 5005 阅读 · 0 评论 -
Invalid property 'driver' of bean class [org.apache.commons.dbcp.BasicDataSource]
Spring整合MyBatis!main方法测试,出现异常:一堆错,很懵逼!别慌,慢慢分析,也许错误很简单;先分析一下applicationContext.xml文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/bean...原创 2020-04-17 12:59:09 · 2662 阅读 · 0 评论 -
Spring实战 | 第一部分 Spring的核心(第一章 Spring之旅)
Spring的bean容器 介绍Spring的核心模块 更为强大的Spring生态系统 Spring的新功能一、简化java开发为了降低Spring开发的复杂性,Spring采取了以下4钟关键策略:基于POJO的轻量级和最小侵入性编程; 通过依赖注入和面向接口实现松耦合; 基于切面和惯性进行声明式编程; 通过切面和模板减少样式代码。1、激发POJO潜能(POJO即普通...原创 2020-02-10 20:15:41 · 2771 阅读 · 0 评论 -
Spring实战 | 第一部分 Spring的核心(第二章 装配bean,第三章 高级装配)
第二章 装配bean声明bean构造器注入和setter方法注入装配bean控制bean的创建和销毁一、Spring配置的可选方案主要的装配机制:1、在xml中进行显式配置2、在Java中进行显式配置3、隐式的bean发现机制和自动装配尽可能的用自动配置的机制。二、自动化装配bean1、创建可被发现的beanSpring从两个角度来实现自...原创 2019-08-14 22:11:00 · 1415 阅读 · 0 评论 -
Spring实战 | 第一部分 Spring的核心(第四章 面向切面的Spring)
第四章 面向切面编程面向切面编程的基本原理通过POJO创建切面使用@AspectJ注解为AspectJ切面注入依赖AspectJ是一个面向切面的框架,它扩展了java语言。AspectJ定义了AOP语法,它有一个专门的编译器用来生成遵循java字节编码规范的Class文件。在第2章,我们介绍了如何使用依赖注入(DI)管理和配置我们的应用对象。DI有助于应用对象之间的解...原创 2019-08-23 13:39:00 · 4001 阅读 · 0 评论 -
Spring实战 | 第二部分 Web中的Spring(第五章 构建Spring Web应用程序)
第五章 构建Spring Web应用程序映射请求到Spring控制器透明地绑定表单参数校验表单提交一、Spring MVC起步1、跟踪spring MVC的请求在请求离开浏览器时,会带有用户所请求内容的信息,至少会包含请求的URL。但是还可能带有其它的信息,例如用户提交的表单信息。请求旅程的第一站时候Spring的DispatcherServlet。与大多数...原创 2019-08-28 13:34:00 · 1211 阅读 · 0 评论 -
Spring实战 | 番外篇: 搭建Spring环境实现helloworld、Bean配置、Spring容器
一、IntelliJ IDEA搭建Spring环境,实现helloworld二、spring简介三、配置形式四、bean的配置方式五、IOC和DI六、在Spring的IOC容器里配置bean七、关于ApplicationContext的介绍八、依赖注入的方式九、Spring容器一、IntelliJ IDEA搭建Spring环境,实现helloworld...原创 2019-08-08 09:19:00 · 1992 阅读 · 0 评论 -
微服务架构的理论基础 - 康威定律
摘要: 可能出乎很多人意料之外的一个事实是,微服务很多核心理念其实在半个世纪前的一篇文章中就被阐述过了,而且这篇文章中的很多论点在软件开发飞速发展的这半个世纪中竟然一再被验证,这就是康威定律。欲速则不达,欲达则欲速!一、概述微服务是最近非常火热的新概念,大家都在追,也都觉得很对,但是似乎没有很充足的理论基础说明这是正确的,给人的感觉是 不明觉厉 。前段时间看了Mike Amundsen...转载 2020-02-02 13:47:53 · 3485 阅读 · 2 评论