Spring
文章平均质量分 96
原飞木
Java开发工程师
展开
-
Spring IOC之容器注入
spring最主要的功能就是IOC和AOP,IOC指的是容器注入,帮我们把Bean注入到容器中。实际上就是把类解析成spring能够识别的标识,而标识就是BeanDefinition,有了这个标识spirng就可以做各种各样的事情了。那么我们有必要了解什么是BeanDefinition并且它是如何生成的。什么是BeanDefinitionBeanDefinition中的常用属性BeanDefinition的常见读取器ChildBeanDefinition从Spring2.5开始,ChildBeanDefin原创 2022-07-03 10:21:31 · 1517 阅读 · 0 评论 -
Quartz定时任务
背景最近在项目中需要使用定时任务,发现spring自带的scheduling以及quartz都可以实现定时任务。但是在项目中需要能够实现定时任务的的动态增删改,通过比较发现quartz实现起来会比较方便。所以最总选择使用quartz.spring自带的scheduling定时调度任务相当于轻量级的quartz,但是不支持分布式,若要实现分布式定时任务就得使用quartz了。spring的定时任务Spring 中创建定时任务除了使用@Scheduled 注解外,还可以使用 SchedulingC原创 2020-08-16 14:45:15 · 1491 阅读 · 0 评论 -
spring之事物管理
什么是事务?事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败。事务的特性(四大特性):原子性、一致性、隔离性、持久性原子性:指事务是一个不可分割的工作单位事务中的操作要么都发生,要么都不发生。一致性:指事务前后数据的完整性必须保持一致。这两个的区别:表A中有库存100,表B中库存100。A库中向B库转移,A库减少50,B库添加30。这种情况原子性是符合的,一致...原创 2018-06-01 20:08:02 · 1071 阅读 · 0 评论 -
ajax跨域问题
为什么会产生跨域问题?1.浏览器限制2.请求是跨域的3.XHR(XMLHttpResquest)请求jsonp是动态创建script的标签,返回的是js代码,如果服务器没有做任何改动,服务器返回的是json对象,所以浏览器把json对象当做是js代码来解析,就会报错。jsonp实现原理jsonp发送的请求是script,所以浏览器不会做校验,如果是XMLHttpResque...原创 2018-05-11 21:25:57 · 1377 阅读 · 2 评论 -
springmvc文件的上传和下载
Spring MVC为文件上传提供了直接的支持,这种支持是用即插即用的MultipartResolver实现的。Spring MVC使用Apache Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResolver。因此,SpringMVC的文件上传还需要依赖Apache Commons FileUpload的...原创 2018-05-06 17:33:31 · 1113 阅读 · 0 评论 -
spring之task与quartz的配置,使用
task是spring对quartz做的封装。task是单线程执行,quartz是多线程执行。spring-task配置只需要spring的架包就够了定时器代码:package com.smxy.lq.serviceimpl;import java.util.Date;import org.springframework.stereotype.Service;@Service("tas...原创 2018-05-13 20:11:06 · 1339 阅读 · 0 评论 -
shiro实现登陆认证和权限管理
ApacheShiro是Java 的一个安全(权限)框架。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以完成:认证、授权、加密、会话管理、与Web 集成、缓存等。功能介绍Authentication:身份认证/登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的...原创 2018-07-12 19:32:30 · 1683 阅读 · 0 评论 -
mybatis动态增删改查
原来使用sql时也都只是DML(Data Manipulation Language 数据操控语言)的,对于DDL(Data Definition Language 数据定义语言)的操作比较少涉及,最近项目中恰巧需要进行DDL操作,进行简单的记录。项目需求,根据前台传来的表名,字段,数据,进行动态的创建表格,实现对表格的增删改查操作。 首先创建一个实体类,用来封装操作表的数据...原创 2018-07-23 14:28:55 · 1543 阅读 · 0 评论 -
SpringAop学习(一)
Aop面向切面编程AOP是Spring提供的关键特性之一。AOP即面向切面编程,是OOP编程的有效补充。使用AOP技术,可以将一些系统性相关的编程工作,独立提取出来,独立实现,然后通过切面切入进系统。从而避免了在业务逻辑的代码中混入很多的系统相关的逻辑——比如权限管理,事物管理,日志记录等等。这些系统性的编程工作都可以独立编码实现,然后通过AOP技术切入进系统即可。从而达到了将不同的关注点分离...原创 2019-09-23 09:43:21 · 1396 阅读 · 0 评论 -
SpringAop学习(二)
静态代理的缺点当我们的目标类多个方法时,使用静态代理就需要为这多个方法写差不多的操作,这样会使得我们的代码变的越来越臃肿。我们就可以使用动态代理的方式来处理这个问题动态代理动态代理的两种实现方法:基于接口的代理使用jdk的方式,基于继承的代理使用cglibjdk动态代理Jdk动态代理只能代理实现接口的类,没有实现接口的类不能实现JDK的动态代理。Java动态代理类位于java.lang...原创 2019-08-23 22:33:31 · 933 阅读 · 0 评论 -
springmvc+mybatis集成PageHelper分页插件
PageHelper版本5.0 spring-mybatis的版本1.3.1maven下载插件 <!--分页插件--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehel...原创 2018-04-21 22:06:25 · 1718 阅读 · 0 评论 -
spring整合通用mapper
由于spring4+支持泛型,这个特性对通用Mapper来说,非常的有用,可以说有了这个特性我们就可以继承通用的Mapper<T>实现crud的操作,节省了我们开发的时间。 以往我们使用mapper文件都是自己写sql语句,针对的是单个实体,也就是每个实体都有其对应的mapper文件。使用通用mapper给我们带来了极大的方便,通用mapper里面有许多我们常用的接口...原创 2018-04-20 19:06:55 · 6416 阅读 · 0 评论 -
关于静态方法利用@Autowired注入的service类问题
应用场景:再使用工具类时需要对数据库进行增删改查操作,我们需要在工具类中注入service类来调用其中的方法。 //把Judge类实例化到spring容器中@Componentpublic class Judge{ //注入service的类 @Autowired private ZhangStatusService zhangStatusService; private s...原创 2018-02-20 16:18:19 · 3740 阅读 · 0 评论 -
Spring下载地址
spring架包下载http://repo.spring.io/release/org/springframework/spring/mysql各种版本下载https://downloads.mysql.com/archives/community/aop下载网址http://mirrors.ibiblio.org/pub/mirrors/maven2/aopalliance/aopallianc...原创 2018-04-08 21:09:37 · 835 阅读 · 0 评论 -
spring各模块之间的关系以及依赖
很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪些spring的依赖,只有拷贝,其实,当初我就是这么干的! spring的jar包只有20个左右,每个都有相应的功能,一个jar还可能依赖了若干其他jar,所...转载 2018-04-08 21:26:55 · 13611 阅读 · 0 评论 -
spring3升级成spring4一些需要注意的地方
1、java.lang.NoSuchMethodError: org.springframework.aop.scope.ScopedProxyUtils.isScopedTarget(Ljava/lang/String;)Z这个问题是因为,我的项目里有两个aop的jar包一个是之前的3.1.1一个是4.2.0,把3.1.1的删除掉就好了2、org.springframework.web.serv...转载 2018-04-08 21:19:10 · 1209 阅读 · 0 评论 -
spring mvc控制层@Validated参数校验
@Validated参数校验hibernate的校验框架validation所需要jar包:下载地址:https://download.csdn.net/download/bushqiang/10337270需要的包:1.springmvc.xml配置: <!-- 校验器 --> <bean id="validator" class="org.springframework...原创 2018-04-09 21:12:44 · 2614 阅读 · 0 评论 -
springmvc常用注解
1、@Controller在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller...转载 2018-03-29 15:36:40 · 2669 阅读 · 0 评论 -
web表格用excel导出
网页上的表格有时需要导出存储。需要用到java的一个工具包jxl.jar,地址https://download.csdn.net/download/bushqiang/103204061.网页上的table<a href="export">导出表格</a> <table border="5"> <tr> <th...原创 2018-04-01 00:28:45 · 2018 阅读 · 0 评论 -
web验证码的生成以及验证
应用场景:在登录的网页常常要用到验证码,能有效的防止恶意的登陆注册,暴力的提交数据。验证码是一张图片,java有专门绘制图的类Graphics。验证码小demo下载地址:http://download.csdn.net/download/bushqiang/10260194例子演示:1.jsp页面用一个img标签来放验证码<img src="verifyCodeImage" id="veri...原创 2018-02-26 19:51:59 · 2714 阅读 · 0 评论 -
web利用redirect登录后返回之前的页面
应用场景:用户进入到一个提交页面,而提交是需要登陆的,这时候用户登录后就可以直接返回到提交的页面,提高用户体验。1.准备一个存在url的标签,和登陆的表单一起提交就行了 <!--存放页面的url--> <input type="hidden" id="url" name="url" value=""> 2.利用script获取当前url,比如说当前的网址是原创 2018-02-19 20:54:27 · 6536 阅读 · 0 评论 -
springmvc之拦截器
什么是拦截器?拦截器是指通过统一拦截从浏览器发往服务器的请求来完成功能的增强。使用场景:解决请求的共性问题(如:乱码问题、权限验证问题等),比如网页中一些页面是需要登陆过后才可以浏览的,这样我们就不用在每个请求中判断是否登陆,这样就解决了代码重复的问题。使用原则:处理所有请求的共同问题1.拦截器的实现 编写拦截器类实现HandlerInterceptor接口2.拦截器的方...原创 2018-04-26 19:38:28 · 1012 阅读 · 0 评论 -
StringMvc环境搭建以及小demo,例子
首先我们需要下载spring相关的包,下载地址http://repo.spring.io/simple/libs-release-local/org/springframework/spring/然后导入,在web.xml做如下配置:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.o...原创 2017-11-03 14:34:38 · 1772 阅读 · 0 评论