自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 spingmvc相关配置

文章目录一、springmvc相关依赖二、springmvc配置dp.propertieslo4j.propertiesmybatis-config.xmlspring-dao.xmlspring事务配置:spring-tx.xmlspring-context.xmlapplicationContext.xmlweb.xml配置一、springmvc相关依赖 <!-- 1.使用springmvc+mybatis+mysql开发,可以使用这些依赖 2.有额外的事务spring-tx依赖

2021-08-13 15:55:39 125

原创 springMVC前端控制器Dispatcher

springMVC前端控制器Dispatcher一、springMVC执行流程首先在接收到请求时,首先获取HandlerMapping然后根据HandlerMapping获取对应的HandlerExecutionChain,这个执行链内置了Handler(可以理解为Controller)HandlerExecutionChain除了内置Handler外,还有拦截器HandlerInterceptor,首先有一个默认的拦截器,就是ConversionServiceExposingIntercepto

2021-08-08 19:11:12 238

原创 spring事务

spring事务spring事务提供了事务管理器DataSourceTransactionManager,可以为我们对事务进行管理,处理事务的提交、回滚.spring还提供了事务的传播行为一、事务的使用 1.spring事务使用方式有俩种,一种基于注解使用,一种基于配置文件的使用,不过不论哪种使用,都需要配置事务管理器事务管理器配置,dataSource是数据源的配置,先配置数据源。<!--配置数据源--> <bean id="datasource" class="

2021-08-05 19:05:12 76

原创 springAOP

springAOP一、springAOPaop相关术语切点(pointcut),主要编写切入点(目标位置)表达式execution通知(advice),在切点位置织入通知,其实就是拦截时的操作切面(aspect),包含切点与通知即可连接点(JoinPoint),切点位置的一些相关信息,例如:被拦截方法的参数、目标对象等二、切点pointcut表达式execution 1.execution(访问修饰符 方法返回值 类限定名.方法(参数)) 2.先看下访问修饰符与返回值的使用 exe

2021-08-05 14:43:46 67

原创 Mybatis

Mybatis使用过程一、加载配置文件mybatis-config.xml,生成会话工厂SqlSessionFactoryInputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);<?xml version="1.0" enc

2021-08-02 12:37:18 73

原创 servlet批量上传文件

3.0servlet批量上传文件//这个注解很关键@MultipartConfigpublic class UploadServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncod

2021-07-29 00:18:30 197

原创 servlet实现文件批量下载

servlet实现批量文件下载public class BatchDownloadServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req,resp); } @Override prote

2021-07-28 23:55:28 359

原创 Servlet异常处理

Servlet异常处理一、servlet抛出异常时,我们可以配置一个异常处理器(Servlet)来处理异常二、首先创建一个Servletpublic class ErrorHandler extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { }}三、配置web.xml,首先配置E

2021-07-18 18:15:49 2160

原创 ServletResponse设置字符编码

ServletResponse设置字符编码一、使用注意事项 1.使用ServletResponse.getWriter()一定要在ServletResponse其他方法调用之后,这样可以避免一些问题二、ResponseFacade是ServletResponse的实现类 //getWriter(),usingWriter是一个标记,标记Writer是否被使用过,为true说明被使用过,所以我们调用时,标记就会为true ... usingWriter = true; //ServletR

2021-07-18 16:58:04 1416

原创 Tomcat启动过程

Tomcat大致流程一、涉及到的关键类1.Bootstrap->Catalina->StandardServer->StandardService->StandardEngine,Connector->Http11NioProtocol->NioEndpoint->Acceptor,Poller二、初始化 bootstrap.init() 初始化所有的类加载器ClassLoader,以及通过反射构造一个Catalina三、bootstrap继续执行,

2021-07-17 23:42:49 150

原创 CyclicBarrier的使用、分析

CyclicBarrier的使用一、含义:可循环屏障,意思可以多次使用,并且可以阻塞当前线程二、使用场景:一般多线程下使用三、使用方法: //只考虑正常情况下,不考虑线程中断、或者有异常产生... //1.实例化对象,parties为屏障放行的条件 CyclicBarrier barrier=new CyclicBarrier(parties); //2.让当前线程阻塞,每一次await,parties就会减一,直到为0时,就会放行 //3.放行之后,会将parties恢复原来的值,也就是

2021-07-13 16:02:30 103

原创 java反射的使用

反射的使用一.获取类的Class对象,相同的类的Class对象是唯一的Class class1=MyTest.class;Class class2=new MyTest().getClass();Class class3=Class.forName("com.xxf.MyTest");//结果为trueSystem.out.println(class1==class2);二、Class方法的使用1、获取成员变量FieldClass class1=MyTest.class;//获取(pu

2021-03-21 01:19:51 98 1

原创 java动态代理的实现及查看代理类源码

动态代理的实现1.代理的类需要有实现接口public class UserServiceImpl implements UserService { public void add() { System.out.println("执行了增加的方法"); }}public interface UserService { void add();}2.接下来要代理UserService,需要一个实现了InvocationHandler的类//使用泛型,可以做

2021-03-21 00:16:24 703

原创 多线程同步

synchronized的使用一.同步的实现:利用锁对象来达到同步的效果,如下面的lock//同步代码块synchronized (lock){ for(int i=0;i<100;i++) System.out.println("第"+i+"次执行了方法");}二.当线程执行到这里时,就会使用这个锁对象,此时其他线程来到同步代码块,由于锁对象已经被使用了,就会进行等待,这样就达到了同步的效果,当第一个线程完成同步代码块,就会释放锁对象,此时其他线程才有机会进入三.

2021-03-20 00:06:53 94

原创 CodeGenerator代码生成器和Swagger插件代码

CodeGenerator代码生成器代码package com.xxf.demo;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;import com.baomidou.mybatisplus.core.toolkit.StringUtils;import com.baomidou.mybatisplus

2021-03-19 14:49:01 371

原创 springboot项目搭建

springboot项目搭建一.pom.xml 1.父标签的导入,里面配置了其他大量的其他依赖版本<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version></parent&

2021-03-19 14:16:44 85

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除