
致敬远去的springmvc
随着springboot的普及,spring mvc已经渐渐淡出了舞台,但是有一些思想他们是相通的,本专栏将回顾spring mvc的一些基础知识点。
小鲍侃java
CSDN博客专家,华为签约作者,全网粉丝10w,阅读量100w+。现任企业架构师,主要分享和讲解毕设,java入门与晋级架构师的技巧与知识。
展开
-
springmvc配置的全解析,致敬即将远去的mvc
springmvc最为人称道的就是过多的xml配置,繁琐且复杂,本文将按照加载顺序逐一介绍配置,附上文件结构。1.加载web.xml启动时,第一步加载web.xml,初始化上线文与核心控制器DispatcherServlet 。<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http:/原创 2021-11-23 15:35:39 · 6847 阅读 · 4 评论 -
Ioc个人理解
IOC原理IOC根据官方给的意思是依赖注入,说白了,调用类的方面不用"new 类名",而是在配置文件中配置后,然后新建一个工厂类,这样在工厂类中就可以直接调用了。下面是实现IOC的过程。1.配置spring.xml(现在都用注解了,但是内部实现方式应该是相同的)&lt;bean id="user" class="cn.cbb.ioc.User"&gt;&am原创 2018-09-22 16:07:17 · 544 阅读 · 4 评论 -
springmvc如何开启AOP
spring boot实现AOP首先建立切面类需要@Aspect,@Component注解然后建立@Pointcut确定什么方法实现aop@Pointcut(&quot;execution(* com.air_baocl.controller.selectApi.*(..))&quot;)然后可以选择实现@Before(“logPointCut()”) @AfterReturning(“logPointC...原创 2018-09-28 08:54:19 · 935 阅读 · 1 评论 -
bean扫描的配置详解
mvc:annotation-driven<mvc:annotation-driven /> :确定调用哪个controller的哪个方法来处理当前请求。如果没有回找不到@RequestMapping指定的路径 context:annotation-config扫描的注解如下:@Autowired,@Resource 、@PostConstruct、@PreDestroy,...原创 2018-09-28 15:03:24 · 920 阅读 · 1 评论 -
springmvc极简整合mybatis
整合Mybatis首先在spring-db.xml中配置一个SqlSessionFactory。 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--数据库的配置--> <property name="dataSource" ref="dataSource" /> <!-- 自动扫描mapp...原创 2021-01-29 10:31:47 · 544 阅读 · 5 评论 -
springmvc事务的极简配置
事务的配置事务有两种方式,下面介绍编程式事务。(aop与事务的结合,aop需要的pom.xml配置可以去网络获取)在spring -tx.xml头中加入命名空间 。xmlns:tx="http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd然后继续加入 <t原创 2021-01-28 14:48:39 · 720 阅读 · 2 评论 -
springmvc的缓存注解
Spring为我们提供了几个注解来支持Spring Cache。其核心主要是@Cacheable和@CacheEvict。使用@Cacheable标记的方法在执行后Spring Cache将缓存其返回结果,而使用@CacheEvict标记的方法会在方法执行前或者执行后移除缓存。Cacheable 可以标记在一个方法上,也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的,当...原创 2018-10-17 11:38:34 · 510 阅读 · 1 评论 -
springmvc的定时任务
定时任务在spring-mvc的配置文件中加入 &amp;amp;lt;task:executor id=&amp;quot;executor&amp;quot; pool-size=&amp;quot;10&amp;quot; queue-capacity=&amp;quot;128&amp;quot; /&amp;amp;gt; &amp;am原创 2018-09-28 11:47:16 · 1749 阅读 · 1 评论 -
springmvc过滤器,拦截器,监听器作用与区别
过滤器依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等,最常用的过滤字符串的拦截器。配置在web.xml中。 &amp;amp;amp;amp;amp;amp;amp;lt;...原创 2018-10-18 11:00:59 · 629 阅读 · 1 评论 -
rbac模型菜单的递归
实体类public class SysPermissionVO extends BaseEntity implements Serializable { /** * 权限 ID */ private Long id; /** * 父权限 ID (0为顶级菜单) */ private Long parentId; /** * 权限名称 */ private String name;原创 2021-01-30 16:27:42 · 568 阅读 · 7 评论 -
使用ModelAndView在接口中访问另一个接口
@Override public ModelAndView selectRedirectAttributes(RedirectAttributes ra) throws TemplateException { PersonChangeVO vo = new PersonChangeVO(); vo.setId(Long.valueOf(1)...原创 2019-01-23 10:29:04 · 1177 阅读 · 1 评论 -
springMvc与springWebflux简介
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。3 老张把响水壶放到火上,立等水开。(异步阻塞)老张觉得这样傻等意义不大4 老张把响水壶放到火上,去客厅看电视,水壶响之前不再去看它了,响了再去拿壶。(原创 2020-07-01 15:39:59 · 1603 阅读 · 1 评论 -
springmvc中的RequestContextHolder
RequestContextHolder当我们需要在service层获取request和response时,我们可以在RequestContextHolder中获取。使用方法: RequestAttributes requsetAttributes = RequestContextHolder.currentRequestAttributes(); //RequestAtt...原创 2018-09-20 10:59:54 · 738 阅读 · 1 评论 -
Servletcontext,ApplicationContext和DispatcherServlet间的区别
Servletcontext说道Servletcontext,首先需要了解浏览器请求web的过程1.浏览器发送http请求到web容器。并将请求发送给tomcat等web容器。2.tomcat将http请求封装成httpServletRequest并发送给web项目。而Servletcontext就是tomcat给web项目创建的全局环境。他有以下特点1.全局共享数据。2.包含着we...原创 2018-09-21 09:22:24 · 1573 阅读 · 1 评论 -
spring接口是否是线程安全
1.spring是单例模式,所以每一次调用都用原来的对象,而不用实例化新的对象,这样会减少内存的使用。2.spring大部分是线程安全的,原因是使用了ThreadLocal,当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。如果具体了解ThreadLocal...原创 2019-08-01 16:24:40 · 2230 阅读 · 1 评论 -
shiro加入拦截器注意事项
在路径拦截中 加入拦截器 以下方式会报错InterceptorRegistration registration = registry.addInterceptor(new LoginIntercept());以下是真确姿势 @Autowired LoginIntercept loginIntercept; @Override public void addInterceptors(InterceptorRegistry registry) {原创 2020-08-25 16:16:47 · 2230 阅读 · 2 评论