Spring
19年,重新开始写
求学之路,泛结良师,广交益友
展开
-
SpringBoot入门系列篇(十六):actuator监控模块入门
actuator是SpringBoot提供的一个用于监控的模块,想要在SpringBoot中使用则需要引入该jar包:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifac...原创 2018-06-11 16:42:35 · 1021 阅读 · 1 评论 -
SpringBoot入门系列篇(五):简单使用thymleaf模板
前情提要使用过vue.js的人都知道它的数据绑定是多么的方便,其实通过纯js,我们也可以实现这种操作,通过Ajax异步获取数据并放入相应的元素中,而在SpringBoot中,也同样提供了数据绑定的实现,通过使用thymleaf模板,可以实现类似于vue.js那样的数据绑定,只需要访问一个url,就能动态获取里面的所有数据SpringBoot使用thymleaf模板的简单实例原创 2018-01-13 14:00:15 · 2875 阅读 · 0 评论 -
SpringBoot初使用:从Hello World开始
SpringBoot简介(官网+百度百科)Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Spring Boo转载 2017-12-04 12:49:41 · 1051 阅读 · 0 评论 -
Spring入门之事件处理
面向接口编程简述面向接口编程,也就是非面向实现。它不能通过抽象类取代接口,因为:接口目的是抽象,抽象类目的是复用同时还有一个好处: 接口是可以多实现的,类/抽象类只能单继承,所以使用接口可以非常容易扩展新功能(还可以实现所谓的mixin),类/抽象类办不到Spring事件机制–事件驱动模型/观察者抽象事件驱动模型也就是我们常说的观察者,或者发布-订阅模型;理解它的几个关键点:1.首先是一种对象间的一转载 2017-06-30 11:36:08 · 619 阅读 · 0 评论 -
Spring入门之bean属性注入集合
Spring中的bean的属性值有时候包含一些集合类型的属性值,注入属性值的方式和注入一些基本的属性值不一样,他们需要使用专门的方式来注入常用的集合类型包括: Map、Set、List、数组、属性集合实例代码://person类public class Person { private String name; private Integer age; public Strin转载 2017-06-30 09:58:44 · 418 阅读 · 0 评论 -
Spring入门之Springbean定义的继承
Spring中的bean之间的继承和一般的po类继承是不一样的,他们之间的继承不能简单的使用extends关键字来实现bean之间的继承需要在xml配置文件中配置 bean继承实例:/h5>//子类public class Test { private String msg1; private String msg2; private String msg3; pub原创 2017-06-29 19:50:29 · 599 阅读 · 0 评论 -
Spring的bean后处理器和容器后处理器
Spring后处理器的作用Bean后处理器:即当Spring容器实例化Bean实例之后进行的增强处理。容器后处理器:对容器本身进行处理,并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据。通过使用后处理器,可以模拟Spring的AOP切面编程bean后处理器:BeanPostProcessorBeanPostProcessor 接口定义回调方法,你可以实现该方法来提供自己的转载 2017-06-29 19:18:47 · 746 阅读 · 0 评论 -
Spring入门之bean的配置
bean的配置有三种方式:1.基于XML配置bean2.基于注解定义bean3.基于java类提供bean类的定义信息基于XML配置bean 对于基于XML的配置,Spring 2.0以后使用Schema的格式,使得不同类型的配置拥有了自己的命名空间,使配置文件更具扩展性。bean类的基本配置:配置实例<bean id="hello" class="org.spring.HelloSpring">转载 2017-06-29 16:00:55 · 297 阅读 · 0 评论 -
Spring入门之Spring体系结构
Spring的模块化Spring是模块化的,允许你挑选适用的模块,Spring框架的模块化结构图如下:Spring核心容器核心容器主要由核心、bean、上下文和表达式语言模块组成:1.核心模块:提供了框架的基本组成部分,包括Ioc功能2.Bean模块:提供BeanFactory,它是一个工厂模式的复杂实现3.上下文模块:它是访问定义和配置的任何对象的媒介,ApplicationContext接口是上转载 2017-06-29 11:10:35 · 361 阅读 · 0 评论 -
Spring入门之两个bean容器的介绍
BeanFactory容器在Spring中,有大量对BeanFactory接口的实现。其中,最常被使用的是XmlBeanFactory类。这个容器从一个XML文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。在资源宝贵的移动设备或者基于applet的应用当中, BeanFactory会被优先选择。否则,一般使用的是ApplicationContext,除非你有更好的理由选择Bean转载 2017-06-29 14:14:59 · 658 阅读 · 0 评论 -
SpringgBoot入门系列篇(十三):部署SpringBoot到tomcat上并启动
前期准备首先需要搭建一个SpringBoot项目,这里我使用的是IDEA搭建SpringBoot+maven项目,SpringBoot项目的简单搭建可以参考这篇文章:SpringBoot入门:从HelloWorld开始那么,接下来就开始实现部署吧部署SpringBoot项目首先需要修改SpringBoot项目的启动类,在使用SpringBoot直接启动的时候,启...原创 2018-01-21 18:15:24 · 9667 阅读 · 0 评论 -
SpringBoot入门系列篇(三):进行全局异常捕获
前情提要不管是编写什么样的程序,都免不了会出现很多异常,通常我们开发者而言并不会对所有的异常都会进行相应的处理,比如一般的空指针异常、数值操作异常、文件不存在异常等…(其实,开发一个好的项目还是要将所有的异常都进行相应的处理,以便于每次出现异常了能立马通过输出日志知道异常的原因和发生位置)SpringBoot提供了全局异常捕获机制,对相应的web应用下面的所有异常进行捕获,在对异常的处理上原创 2018-01-13 11:53:30 · 634 阅读 · 0 评论 -
SpringBoot入门系列篇(十四):使用@Async注解进行异步方法调用
异步调用的概念异步调用相对于同步调用而言,通常的方法都是程序按照顺序来执行的,程序的每一步都需要等到上一步执行完成之后才能继续往下执行;而异步调用则无需等待,它可以在不阻塞主线程的情况下执行高耗时方法如何实现异步调用在不使用SpringBoot的时候我们通常使用多线程的方式来实现异步调用,对于一个web项目的话就需要使用线程池来创建多线程进行调用,而SpringBoot提供了很方便的@...原创 2018-05-12 20:11:45 · 4558 阅读 · 0 评论 -
SpringBoot入门系列篇(十二):使用XML配置Bean
前情提要虽然SpringBoot的理念就是零配置编程,但是有时候也会出现绝对需要使用XML进行配置的情况,SpringBoot也同样提供了手动加载XML配置中的bean的方法,下面就来简单的介绍一下在SpringBoot中简单的使用XML配置Bean首先新建两个包,org.test1和org.test2,在org.test2包下创建一个Service,代码如下:pa原创 2018-01-17 00:33:29 · 20708 阅读 · 2 评论 -
SpringBoot入门系列篇(十一):实现文件上传
前情提要现在大多数的web开发基本都会用到文件上传这一个功能,文件上传分为单文件上传和多文件上传,下面就一一讲解一下通过SpringBoot框架对两种上传的实现SpringBoot实现单文件上传首先建立一个html界面,包含一个form文件上传表单,代码如下:html lang="en">head> title>文件上传界面title>head>原创 2018-01-17 00:14:20 · 2926 阅读 · 1 评论 -
SpringBoot入门系列篇(十):改变启动类自动扫描的包
前情提要之前的系列篇每篇都有创建并启动一个启动类,主要是用于自动扫描并实例化所有的bean,而启动类的扫描默认是扫描与该启动类同包以及其子包下的类,有时候我们还需要修改或者说是添加自动扫描的包的位置,接下来就通过一个简单的例子来讲解如何实现改变启动类自动扫描的包改变启动类自动扫描的包的原理其实很简单,就是通过ComponentScan注解来指定需要扫描的包basePac原创 2018-01-17 00:01:09 · 21881 阅读 · 0 评论 -
SpringBoot入门系列片(九):使用自定义的属性并配置成类
前情提要在SpringBoot中使用application.properties默认了很多配置,有时候我们也需要到该属性配置文件中自定义属性值,甚至于将一系列自定义属性合并成一个对象,而SpringBoot中也提供了这种功能的实现,那么现在就来试试吧使用自定义的属性并配置成类首先在applicatiion.properties属性文件中自定义一系列属性://ap原创 2018-01-16 23:23:53 · 667 阅读 · 0 评论 -
SpringBoot入门系列篇(八):SpringBoot中使用Interceptor
前情提要之前的系列篇中介绍了在SpringBoot中使用过滤器,其实拦截器和过滤器从功能上来说,拦截器/过滤器所能实现的功能过滤器/拦截器都能够实现。但是过滤器是java实现的,它需要依赖于Servlet容器,而拦截器是SprignMVC实现的一个机制,独立于Servlet容器,而且能实现IOC容器中的各个bean。简单的说:过滤器的urlPattern针对的是所有的请求,而拦截器的url原创 2018-01-16 22:00:58 · 16301 阅读 · 7 评论 -
SpringBoot入门系列篇(七):SpringBoot中使用Filter
前情提要web开发使用Controller基本能解决大部分的需求,但是有时候我们也需要使用Filter,因为相对于拦截和监听来说,有时候原生的还是比较好用的,现在就来简单的在SpringBoot中使用这些特殊类吧好吧,上面这句话是复制粘贴前面的使用Servlet文章的前情提要,懒得写了,直接进入正题吧使用Filter实例在SpringBoot中使用Filter也有两原创 2018-01-16 20:00:30 · 20797 阅读 · 3 评论 -
SpringBoot入门系列篇(六):SpringBoot中使用Servlet
前情提要web开发使用Controller基本能解决大部分的需求,但是有时候我们也需要使用Servlet,因为相对于拦截和监听来说,有时候原生的还是比较好用的,现在就来简单的在SpringBoot中使用这些特殊类吧SpringBoot中简单使用Servlet我们知道,SpringBoot的核心控制器DispatcherServlet会处理所有的请求,所以对于我们自己写的Se原创 2018-01-16 15:59:46 · 25840 阅读 · 4 评论 -
SpringBoot入门系列篇(四):使用SpringBoot创建定时任务
前情提要在进行开发的时候,通常我们需要设置一个定时的任务,比如定时清理应用缓存等,对于这种情况,我们可以在前端通过js创建定时任务发送http来实现,而这看起来却类似轮询了,并且随着使用时长的增加,发送的http请求也相应的增加。SpringBoot可以非常简单的实现这个功能SpringBoot创建一个简单的定时任务首先创建定时任务类:package org.frame原创 2018-01-13 13:30:51 · 648 阅读 · 0 评论 -
Spring入门之编写第一个Spring
1.创建java project,并导入所需jar包,Spring20个核心包加上一个commons-logger.jar包2.编写Springbean类public class HelloSpring { private String message; public String getMessage() { return message; } publi原创 2017-06-29 11:19:20 · 316 阅读 · 0 评论 -
Spring入门之Spring介绍
Spring简介Spring由Rod Johnson开发,2004年发布了Spring框架的第一版本,Spring是一个从实际开发中抽取出来的框架,他完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提供了企业应用开发的效率Spring优点低侵入式设计,代码的污染极低。独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywher转载 2017-06-28 20:34:07 · 709 阅读 · 2 评论 -
ApplicationContext的国际化支持
1.ApplicationContext接口继承了MessageResource接口,因此使用ApplicationContext作为Spring容器可以使用国际化资源文件。2.在MessageResource接口中定义了两个主要用于国际化的方法:String getMessage(String param,Object[] args,Locale loc) ;String getMessage(S翻译 2016-10-18 04:14:54 · 1380 阅读 · 0 评论 -
Spring整合Struts2
1>整合Struts2使用Spring和单独使用Spring有所不同,首先,启动Spring容器的方式就不一样,对于使用Spring的web应用,无须手动创建Spring容器,而是通过配置文件声明式的创建Spring容器。在Web容器中创建Spring容器有两种方式: 1>直接在Web配置文件中配置创建Spring容器 2>利用第三方MVC框架的扩展点创建Spring容器其中第一种方式翻译 2016-10-23 21:55:01 · 313 阅读 · 0 评论 -
Spring AOP - 基于XML配置文件
在Spring配置文件中,所有的切面、切入点、增强处理都必须定义在元素内部,元素下可以包含多个元素,一个元素可以包含多个pointcut/advisor/aspect元素,这三个元素必须按照顺序来定义。1.配置切面:使用元素定义切面,其实质就是将一个Spring Bean转换成切面Bean,因此首先需要将切面类定义成Spring Bean。配置元素可以指定如下三个属性: 1>id:定义该Asp翻译 2016-10-21 16:15:50 · 307 阅读 · 0 评论 -
Spring AOP - 基于注解
1.启用Spring对@AspectJ注解的支持:<beans xmlns:aop="http://www.springframework.org/schema/aop"...> <!--启动支持--> <aop:aspectj-autoproxy /></beans>也可以配置AnnotationAwareAspectJAutoProxyCreator Bean来启动Spring翻译 2016-10-21 13:34:42 · 415 阅读 · 0 评论 -
AOP的基本概念
AOP:AspectJ Orient Programming,面向切面编程,将程序分成了多个不同的切面来进行编程。AOP从程序的运行角度来考虑程序的流程,提取业务处理过程的切面。AOP面向的是程序运行中各个步骤,AOP框架不与特定的代码耦合,他能处理程序执行中特定的切入点,AOP框架有两种特征: 1>各步骤之间的良好隔离性 2>源代码无关性AOP的一些术语:翻译 2016-10-21 11:25:04 · 394 阅读 · 0 评论 -
资源访问 - Resource
对于JAVA来说,资源访问通常有java,net.URL和文件IO流来完成,如果需要访问来自网络的资源时,通常选择URL类,可是URL类目前还无法在类加载路径或者相对于ServletContext的路径中访问资源。虽然可以使用特定的URL前缀注册新的处理类,但是这样做通常比较复杂,而且URL接口还缺少一些有用的功能,比如检查所指向的资源是否存在等。Spring提供了一个Resource接口,该接口是翻译 2016-10-20 22:49:24 · 415 阅读 · 0 评论 -
Bean后处理器
Bean后处理器用于对Spring容器中的Bean进行扩展,使用Bean后处理器可以对Bean进行额外的加强处理Bean后处理器必须实现BeanPostProcessor接口,该接口包含如下两个方法: 1>void postProcessBeforeInitialization(Object bean,String name) throws BeanException:该方法用于在目标Bean翻译 2016-10-20 20:13:43 · 336 阅读 · 0 评论