随笔分类 - Spring
摘要:1.对于@OneToMany和@ManyToOne来说是一样,两张表互相维护,加入mappedBy="",由被控方维护的表,增加外键即可。如果是没有增加上面类型,就会产生一个第三方表进行维护。 2.对于@ManyToMany注解来说,也是一样的,在这里需要注意一下,我们需要一个第三方表来维护多对多的
阅读全文
摘要:在实际的项目中,对于一些用时比较长的代码片段或者函数,我们可以采用异步的方式来执行,这样就不会影响整体的流程了。比如我在一个用户请求中需要上传一些文件,但是上传文件的耗时会相对来说比较长,这个时候如果上传文件的成功与否不影响主流程的话,就可以把上传文件的操作异步化,在spring boot中比较常见
阅读全文
摘要:要实现Controller返回数据给页面,Spring MVC 提供了以下几种途径: ModelAndView:将视图和数据封装成ModelAndView对象,作为方法的返回值,数据最终会存到HttpServletRequest对象中! Model对象:通过给方法添加引用Model对象入参,直接往M
阅读全文
摘要:前言 不久前,因为需求的原因,需要实现一个操作日志。几乎每一个接口被调用后,都要记录一条跟这个参数挂钩的特定的日志到数据库。举个例子,就比如禁言操作,日志中需要记录因为什么禁言,被禁言的人的id和各种信息。方便后期查询。 这样的接口有很多个,而且大部分接口的参数都不一样。可能大家很容易想到的一个思路
阅读全文
摘要:通常一个web程序在运行过程中,由于用户的操作不当,或者程序的bug,有大量需要处理的异常。其中有些异常是需要暴露给用户的,比如登陆超时,权限不足等等。可以通过弹出提示信息的方式告诉用户出了什么错误。 而这就表示在程序中需要一个机制,去处理这些异常,将程序的异常转换为用户可读的异常。而且最重要的,是
阅读全文
摘要:监听器是典型的观察者设计模式的实现,Servlet和Spring中我们熟知的listeners包括:HttpSessionListener、ServletContextListener、ApplicationListener。 HttpSessionListener:是对javax.servlet.
阅读全文
摘要:本篇博文介绍spring integration sftp技术中的sftp outbound gateway相关内容。Sftp outbound gateway 其实质就是提供一组命令(如图1)来实现对服务器上文件的交互操作,包括文件的获取(文件对象和文件名等)、上传(单文件和多文件)、下载(单文件
阅读全文
摘要:ZipUtil: import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce
阅读全文
摘要:Spring Bean的生命周期? 首先说一下Servlet的生命周期:实例化,初始init,接收请求service,销毁destroy; Spring上下文中的Bean生命周期也类似,如下: (1)实例化Bean: 对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始
阅读全文
摘要:Spring Integration Sftp 文件传送 目前在国内项目开发中,使用Spring Integration技术的比较少,尤其是中文的参考文献和项目案例,更是罕有。鉴于此,本文详细介绍spring integration sftp模块在Sftp服务器和本地服务器之间文件的传送。SFTP(
阅读全文
摘要:1、@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便
阅读全文
摘要:1.通过注解注入Bean 我们谈到Spring的时候一定会提到IOC容器、DI依赖注入,Spring通过将一个个类标注为Bean的方法注入到IOC容器中,达到了控制反转的效果。那么我们刚开始接触Bean的时候,一定是使用xml文件,一个一个的注入,就例如下面这样。 <bean id="bean" c
阅读全文
摘要:今天我们来说说Spring的事务,那我们先从数据库说起,请看博主细细道来。 一、数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读
阅读全文
摘要:1.组件注解@Component("xxx")@Scope("prototype")@Lazy(true)@DepondsOn({"aa","bb"})@PostConstructor和@PreDestroy@Resource(name="xx")@Autowired(required=false)
阅读全文
摘要:通过前面对 Spring IOC 容器的源码分析,我们已经基本上了解了 Spring IOC 容器对 Bean 定义资源的定位、载入和注册过程,同时也清楚了当用户通过 getBean()方法向 IOC 容器获取被管理的 Bean时,IOC 容器对 Bean 进行的初始化和依赖注入过程,这些是 Spr
阅读全文
摘要:Spring MVC 初体验 初探 Spring MVC 请求处理流程 Spring MVC 相对于前面的章节算是比较简单的,我们首先引用《Spring in Action》上的一张图来了解 Spring MVC 的核心组件和大致处理流程: 从上图中看到 ①、DispatcherServlet 是
阅读全文
摘要:寻找入口 Spring 的 AOP 是通过接入 BeanPostProcessor 后置处理器开始的,它是 Spring IOC 容器经常使用到的一个特性,这个 Bean 后置处理器是一个监听器,可以监听容器触发的 Bean 声明周期事件。后置处 理器向容器注册以后,容器中管理的 Bean 就具备了
阅读全文
摘要:再述 Spring AOP 应用场景 AOP 是 OOP 的延续,是 Aspect Oriented Programming 的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP设计模式孜孜不倦追求的是调用者和被调用者之间的
阅读全文
摘要:Spring MVC 提供了一种机制,可以构造和编码URI -- 使用UriComponentsBuilder和UriComponents。 功能相当于 urlencode()函数,对url进行编码, 但同时还支持变量替换。 UriComponents uriComponents = UriComp
阅读全文
摘要:Annotation 的前世今生 从 Spring2.0 以后的版本中,Spring 也引入了基于注解(Annotation)方式的配置,注解(Annotation)是 JDK1.5 中引入的一个新特性,用于简化 Bean 的配置,可以取代 XML 配置文件。开发人员对注解(Annotation)的
阅读全文