-----Spring----
文章平均质量分 90
csdn启程
开心每天
展开
-
bean的延迟加载
在默认情况下,spring的ApplicationContext容器在启动的时候,会自动实例化所有singleton的Bean并缓存在容器中。虽然启动时会花费一些时间,但带来两个好处:1、对Bean提前实例化操作会及早发现一些潜在的配置问题;2、Bean以缓存的方式保存,当运行期使用到该Bean的时候无需再实例化,加快运行的效率。如果用户不希望容器启动的时候提前实例化sin原创 2016-12-14 17:02:57 · 2138 阅读 · 0 评论 -
springMvc路径匹配原则
Ant path 匹配原则在Spring MVC中经常要用到拦截器,在配置需要要拦截的路径时经常用到子标签,其有一个path属性,它就是用来指定需要拦截的路径的。例如:根据以上配置,此拦截器会拦截所有的请求。Spring MVC中的路径匹配要比标准的web.xml要灵活的多。默认的策略实现了 org.springframe原创 2016-10-12 11:00:39 · 656 阅读 · 0 评论 -
Spring加载resource,classpath*:与classpath
Spring可以通过指定classpath*:与classpath:前缀加路径的方式从classpath加载文件,如bean的定义文件.classpath*:的出现是为了从多个jar文件中加载相同的文件.classpath:只能加载找到的第一个文件.比如 resource1.jar中的package 'com.test.rs' 有一个 'jarAppcontext.xml' 文件,内容如下转载 2016-11-02 16:08:54 · 950 阅读 · 0 评论 -
WebApplicationContextUtils
好多时候,我们都想在过滤器里面获取到spring的容器,从而可以拿到spring容器里面的一些bean。但要认识到一点,过滤器里面是否可以直接拿到,tomcat容器启动的时候,首先加载context-param的配置文件,也就是spring容器。然后加载监听器,再加载过滤器。所以过滤器肯定可以拿到spring的容器。WebApplicationContext代表着spring容器,而且它是以W原创 2016-11-09 15:58:26 · 1087 阅读 · 0 评论 -
spring中bean的高级属性之list, set, map以及props元素(含举例)
list, set, map和props元素分别用来设置类型为List,Set,Map和Propertis的属性值。分别用来为bean传入集合值。 对应的spring的配置文件举例如下:xml 代码 xml version="1.0" encoding="gb2312" ?> "http://www.springframework.org/dt原创 2016-10-13 19:36:50 · 801 阅读 · 0 评论 -
spring中Context:property-place
记住 context:component-scan base-package="com.lei.customer" />上面的第一个是加载配置文件;第二个是扫描包1.有些参数在某些阶段中是常量 比如 :a、在开发阶段我们连接数据库时的连接url,username,password,driverClass等原创 2016-10-12 20:18:44 · 399 阅读 · 0 评论 -
SpringMVC源码分析(3):分析ModelAndView的形成过程
首先,我们还是从 DispatcherServlet .doDispatch( HttpServletRequest request, HttpServletResponse response) throws Exception方法开始,看看这个牛逼的ModelAndView是怎么开始的,又是怎么结束的:1 protected void doDispatch(HttpServletReques原创 2016-09-12 18:04:59 · 2343 阅读 · 0 评论 -
SpringMVC源码分析(2):分析HandlerAdapter.handle方法,了解handler方法的调用细节以及@ModelAttribute注解
从上一篇 SpringMVC源码分析(1) 中我们了解到在DispatcherServlet.doDispatch方法中会通过 mv = ha.handle(processedRequest, response, mappedHandler.getHandler()) 这样的方式来执行request的handler方法。 先来分析一下ha.handle方法的调用过程:HandlerA原创 2016-09-12 17:58:53 · 1205 阅读 · 0 评论 -
spring配置汇总
jar包的引入使用maven引入(pom.xml) properties> spring.version>4.1.7.RELEASEspring.version> properties> dependency> groupId>org.springframeworkgroupId> art转载 2016-11-22 15:00:36 · 352 阅读 · 0 评论 -
spring的init-method 和 destory-method
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作第二种是:通过 在xml中定义init-method 和 destory-method方法第三种是: 通过bean实现InitializingBean和 DisposableBean原创 2016-12-14 17:27:59 · 573 阅读 · 0 评论 -
@RequestParam, @PathVariable, @ReqestMapping
这些注解几乎都存在于一个包中,它们都是spring的注解,包为:org.springframework.web.bind.annotation。除了这三个注解,还有@CookieValue,@RequestBody等。 @RequestParam 格式: @RequestParam ( value= , required= , defaultValue= )原创 2016-11-10 20:27:35 · 946 阅读 · 0 评论 -
Spring注解@Component、@Repository、@Service、@Controller区别
Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和原创 2016-07-20 11:26:01 · 2769 阅读 · 0 评论 -
mvc:resources
spring mvc 的标签是在spring3.0.4出现的,主要是用来进行静态资源的访问。在spring3.0.4出来的时候spring还没有更新其schema所以在配置文件中有可能找不到<mvc:resources >标签,这个问题在spring3.0.5中已经解决,而且网上也有很多其他的解决方案,我在这里就不记录了。 首先使用spring mvc需要配置其使用的servlet.在原创 2016-07-21 13:45:37 · 653 阅读 · 0 评论 -
SpringMVC源码分析(1):分析DispatcherServlet.doDispatch方法,了解总体流程
所有的http请求都会交给DispatcherServlet类的doDispatch方法进行处理,将DispatcherServlet.doDispatch函数的javadoc复制到下面:/* * Process the actual dispatching to the handler. * * The handler will be obtained原创 2016-09-12 17:53:44 · 1483 阅读 · 0 评论 -
AOP方法级拦截
说道AOP不得不提到几个概念: 切面:也就是我们自己的一些业务方法。 通知:用于拦截时出发的操作。 切点:具体拦截的某个业务点。 这样说可能还是有点抽象,举个例子,下面是一个纸糊的多面体。 每个面都是一个业务方法,我们通过刺穿每一个面,都可以进入到内部,这个面就是一个切面。 刺穿的时候会发出声响,这就是一种通知。 而具体原创 2016-07-20 22:21:53 · 3463 阅读 · 1 评论 -
详解spring jar的每个作用
spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。spring-src.zip就是所有的源代码压缩包。除了spring.jar 文件,Spring 还包括有其它21 个独立的jar 包,各自包含着对应的Spring组件原创 2016-07-27 09:40:21 · 452 阅读 · 0 评论 -
spring中定时任务的几种实现
Spring定时任务的几种实现近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合spring框架来介绍。一.分类从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):Java自带的java.util.Timer类,这个类允许你原创 2016-07-25 20:31:04 · 878 阅读 · 0 评论 -
spring(十):为特定的类引入新的功能
如果有这样一个需求,为一个已知的API添加一个新的功能。由于是已知的API,我们不能修改其类,只能通过外部包装。但是如果通过之前的AOP前置或后置通知,又不太合理,最简单的办法就是实现某个我们自定义的接口,这个接口包含了想要添加的方法。但是JAVA不是一门动态的语言,无法再编译后动态添加新的功能,这个时候就可以使用 aop:declare-parents 来做了。 如原创 2016-07-19 09:16:11 · 370 阅读 · 0 评论 -
spring(十):aop环绕通知
假如有这么一个场景,需要统计某个方法执行的时间,如何做呢? 典型的会想到在方法执行前记录时间,方法执行后再次记录,得出运行的时间。 如果采用Spring的AOP,仅仅使用前置和后置方法是无法做到的,因为他们无法共享变量。这样通过环绕通知,就可以快捷的实现。 首先在切面通知类中声明环绕通知类: public void watchPerform原创 2016-07-19 09:14:55 · 1437 阅读 · 0 评论 -
spring(九):基于配置的spring aop
前面几篇学习了Spring的依赖注入,这篇开始学习另一个核心功能——面向切面编程AOP。 通过本文,你可以了解到: 1 Spring xml规范 2 通过配置文件实现面向切面编程 3 对比与传统AOP编程Spring的xml文件 Spring的xml一般起名叫做bean.xml或者xxxapplication.xml这种,然后放在src原创 2016-07-19 09:14:05 · 395 阅读 · 0 评论 -
spring(四):Spring中bean的init和destroy方法讲解
本篇文章主要介绍了在spring中通过配置init-method和destroy-method方法来实现Bean的初始化和销毁时附加的操作。在java中,我们并不需要去管理内存或者变量,而在C或C++中,可以通过new和delete等方式来创建和删除变量或者对象。在Spring中,如果想要对一个bean进行初始化和结束附加一定的操作,则可以使用上述的两个方法来实现。 在介绍这原创 2016-07-19 09:09:44 · 3269 阅读 · 0 评论