菜鸟学习Spring——SpringIoC容器基于三种配置的对比

一、概述

对于实现Bean信息定义的目标,它提供了基于XML、基于注解及基于java类这三种选项。下面总结一下三种配置方式的差异。

二、Bean不同配置方式比较。

三、Bean不同配置方式的适用场合。

四、总结。

一般我们适用XML配置DataSource、SessionFactory等资源的Bean,在XML中利用aop、context命名空间进行主题的配置。其他所有项目中开发的Bean用注解的形式来配置。这就是采用了“XML+基于配置”的配置方式,很少采用基于Java类的配置方式。

Spring不仅提供了三种实现的方案还允许多项自由组合,让三种方式取长补短最终达到本质是一样的。

时间: 2024-12-29 12:16:45

菜鸟学习Spring——SpringIoC容器基于三种配置的对比的相关文章

菜鸟学习Spring——60s配置XML方法实现简单AOP

一.概述. 上一篇博客讲述了用注解的形式实现AOP如今讲述第二种AOP实现的方式利用XML来实现AOP. 二.代码演示. 准备工作參照上一篇博客<菜鸟学习Spring--60s使用annotation实现简单AOP> 文件夹结构: 事实上比起上一篇博客中用annotation来实现AOP的方式我们仅仅要把SecurityHandler.java和配置文件applicationContext.xml更改为以下内容就能够了.以下我把这两个文件的代码写下来. SecurityHandler.java

谈谈vector容器的三种遍历方法

说明:本文仅供学习交流,转载请标明出处,欢迎转载! vector容器是最简单的顺序容器,其使用方法类似于数组,实际上vector的底层实现就是采用动态数组.在编写程序的过程中,常常会变量容器中的元素,那么如何遍历这些元素呢?本文给出三种遍历方法. 方法一:采用下标遍历 由于vector容器就是对一个动态数组的包装,所以在vector容器的内部,重载了[]运算符,函数原型为:reference operator [] (size_type n);所以我们可以采用类似于数组的方式来访问vector容

SSH深度历险(八) 剖析SSH核心原理+Spring依赖注入的三种方式

在java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是"控制反转",通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. Spring依赖注入(

数据结构《19》----String容器的三种实现

一.序言 一个简单的string 容器到底是如何实现的? 本文给出了 String 的三种从易到难的实现,涉及了 reference counting, copy on write 的技术. 二.第一个实现 我们设计的string类里面包含一个char* 的指针, 通过指针的管理,来实现string的基本功能. 废话不多说了,直接上代码: 几点注意的:类包含指针,因此需要 copy control, 也就是自行实现拷贝构造函数,赋值构造函数,析构函数, 而不能依赖于编译器生成的默认版本,默认版本

Spring 使用AspectJ的三种方式

Spring 使用AspectJ 的三种方式 一,使用JavaConfig 二,使用注解隐式配置 三,使用XML 配置 背景知识: 注意 使用AspectJ 的 时候 要导入相应的Jar 包 嗯 昨天还碰到了这样的问题: Caused by: java.lang.IllegalArgumentEx http://pic.cnhubei.com/space.php?uid=1132&do=album&id=814854http://pic.cnhubei.com/space.php?uid=

IIS下PHP的三种配置方式比较

在Windows IIS 6.0下配置PHP,通常有CGI.ISAPI和FastCGI三种配置方式,这三种模式都可以在IIS 6.0下成功运行,下面我就讲一下这三种方式配置的区别和性能上的差异. 1.CGI(通用网关接口/Common Gateway Interface)一般是可执行程序,例如EXE文件,和WEB服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求.这样,当用户请求数量非常多时,会大量占用系统的资源,如内存.CPU时间等,造成效能低下. 2.ISAPI(Inte

hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)

Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题. vi /etc/profile 在profile文件末尾加入: JAVA_HOME=/usr/share/jdk1.5.0_05PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_H

java创建线程的三种方式及其对比

Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行体. (2)创建Thread子类的实例,即创建了线程对象. (3)调用线程对象的start()方法来启动该线程. package com.thread; public class FirstThreadTest extends Thread{ int i = 0; //重写run方法,run方法的方

struts2拦截器interceptor的三种配置方法

struts2拦截器interceptor的三种配置方法方法1. 普通配置法 <struts>     <package name="struts2" extends="struts-default">         <interceptors>             <interceptor name="myInterceptor" class="edu.hust.interceptor.