SSM(Spring,SpringMVC,MyBatis)
包括Spring,SpringMVC,MyBatis
肥胖的企鹅
这个作者很懒,什么都没留下…
展开
-
详述Spring事务
一、什么是Spring事务事务:指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么都不执行。简单的说,事务就是并发控制单位,是用户定义的一个操作序列。而Spring事务也同样满足ACID属性:A:原子性(Atomicity) 事务中的操作要么都不做,要么就全做。C:一致性(Consistency) 事务执行的结果必须是从数据库从一个一致性状态转换到另一个一致性...原创 2020-03-17 14:34:03 · 245 阅读 · 0 评论 -
详述JDK代理与CGLib代理区别
设置代理方式在我们配置AOP的时候如果不手动设置,则默认使用JDK动态代理决定是否使用JDK代理由proxy-target-class属性决定,若值为false则使用JDK代理,true则使用CGLib代理通过以测试可以验证:application.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns=...原创 2020-03-15 14:01:57 · 185 阅读 · 0 评论 -
使用Spring连接数据库
一、数据库连接池数据库连接是一种关键、有限且昂贵的资源,创建和释放数据库连接是一个很耗时的操作,频繁地进行这样的操作将占用大量的性能开销,而使用数据库连接池可以节省系统许多开销。数据库连接池(Database Connection Pooling)在程序初始化时创建一定数量的数据库连接对象并将其保存在一块内存区中,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;释放空闲时间...原创 2020-03-03 17:49:33 · 1290 阅读 · 0 评论 -
详述Spring AOP
一、为什么需要AOP情景实例:假设你现在有一个计算类ComputerService实现了一些简单的加减乘除功能,你想在返回结果前输出一些提示性语句,因此你写了如下的代码:ComputerService.javapublic class ComputerService implements IComputerService { public int add(int a, in...原创 2020-03-01 19:45:28 · 673 阅读 · 0 评论 -
总结使用Spring为构造方法以及变量的赋值方式
一、为构造方法赋值为展示赋值效果首先创立测试类UserInfo.javapublic class UserInfo { public UserInfo(int age,String name) { System.out.println(age +" "+ name); } public UserInfo(Date date) { System.out.println...原创 2020-02-26 16:21:28 · 483 阅读 · 0 评论 -
详述context:component-scan作用
一、标签作用context:component-scan标签可根据写入的包名,扫描指定包及其子包中的所有“类”,并为添加了 @Component(组件),@Service(服务),@Controller(控制器),@Repository(数据仓库)修饰的类创建对象并存入IoC容器。<context:component-scan base-package=""></con...原创 2020-02-26 14:45:15 · 593 阅读 · 0 评论 -
详述Spring对象生命周期
我们知道,SpingIOC容器管理着单例bean的生命周期,也就是说某个组件在产生到销毁的整个生命周期的过程都是被容器进行管理的,Spring允许在bean生命周期的特定点执行特定的任务。并且在声明周期不同时刻,IoC容器会执行不同的操作。SpringIOC容器管理bean的过程如下: 通过无参构造器或者工厂方法创建bean的实例 调用set方法给实例的属性赋值 调用bea...原创 2020-02-22 21:20:00 · 287 阅读 · 0 评论 -
详述Spring中scope的作用
一、介绍scope在使用IoC容器创建Bean对象时,如果我们创建一个单例的bean,则所有对它的请求都会返回相同的对象。Test.javapublic class Test { public static void main(String[] args) { ClassPathXmlApplicationContext applicationContext = new Cl...原创 2020-02-22 21:05:26 · 277 阅读 · 0 评论 -
详述lazy-init作用
一、lazy-init介绍我们在使用Spring框架创建IoC容器时,ApplicationContext实现的默认行为会在启动时将所有singleton bean对象提前进行实例化,这会让ApplicationContext实例提前创建并配置所有的bean对象。这一点可以从下面“构造方法”的例子中证明:application.xml<bean id="userInfo" cl...原创 2020-02-22 20:43:25 · 1106 阅读 · 0 评论 -
SpringMVC自定义视图
我们在使用SpringMVC拦截并处理客户端请求时,需要添加一个InternalResourceViewResolver内部视图解析器来解析视图(将逻辑视图转化为物理视图),如下:<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/...原创 2020-04-20 20:23:17 · 409 阅读 · 0 评论 -
SpringMVC处理异常
情景实例:index.jsp页面内容<a href="./computer/div.do?id=1">touch</a>目标页to.jsp页面内容target处理请求方法controller类ComputerController代码package com.jd.computer;import org.springframework.ster...原创 2020-04-18 22:51:20 · 221 阅读 · 0 评论 -
ContextLoaderListener监听器源代码分析
使用ContextLoaderListener也可配置SpringMVCweb.xml配置文件如下<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j...原创 2020-04-15 15:36:58 · 259 阅读 · 0 评论 -
mvc:default-servlet-handler标签的作用
在使用SpringMVC时,如果因为特殊需要需要在web.xml配置文件中将DispatcherServlet拦截的请求设置为“/”,则会导致DispatcherServlet拦截所有请求“/”拦截除jsp外所有请求 “/*”拦截所有请求现在如果在index页面加入一个本应该由tomcat的Servlet处理的请求,而我们自定义的Handler不能处理的请求<%...原创 2020-04-11 22:04:18 · 718 阅读 · 0 评论 -
SpringMVC拦截器
一、作用SpringMVC拦截器可以拦截客户端发送的请求,并在调用处理方法前处理方法后做出一定处理二、实现1、自定义拦截器Interceptor类创建一个名为MyInterceptor的java类,并实现HandlerInterceptor接口,如下:public class Interceptor implements HandlerInterceptor{ //...原创 2020-04-09 13:27:35 · 394 阅读 · 0 评论 -
SpringMVC请求处理过程
1、Web服务器拦截到页面的请求后,执行FrameworkServlet类中的service()方法接着调用其所继承接口HttpServlet中的service()方法,获取处理请求的方法2、接着,执行FrameworkServlet类中的doGet()方法3、执行FrameworkServlet类中的processRequest()方法,执行service处理请求的方法...原创 2020-03-28 17:08:57 · 160 阅读 · 0 评论 -
load-on-startup标签的作用
在配置SpringMVC的时候,我们会在xml文件中配置load-on-startup标签SpringMVC的作用就是简化Web服务器处理客户端请求的代码操作,代替我们完成创建众多servlet、通过getParameter获取数据等一系列操作。下面我们来分析源代码中,如何实现这一系列初始化。1、寻找init()方法链接spring-web-4.3.10.RELEASE-sou...原创 2020-03-28 16:36:05 · 204 阅读 · 0 评论