Spring基础学习笔记-Bean的基础知识
一、 Bean的定义,初始化,使用和销毁
二、ref指定依赖的三种模式
三、Bean的五种自动装配模式(autowire)
四、Bean依赖检查的4种模式:配合atuowire使用,dependency-check=""
五、集合的注入方式
六、管理Bean
config.xml文件
<!--Bean的配置文档-->
<!--首先定义为XML的方式来存储Bean的配置-->
<?xml version="1.0" encoding="UTF-8"?>
<!--声明使用的是http://www.springframework.org/dtd/spring-beans.dtd-->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframenwork.org/dtd/spring-beans.dtd">
<!--配置Bean的开始,根节点Beans中包含一个或多个Bean元素-->
<beans>
<bean id="" class="" init-mehod="" destory-method="" autowire="" dependecy-check="">
<property>
<value></value>
</property>
</bean>
</beans>
一、 Bean的定义,初始化,使用和销毁
1.Bean的定义
2.初始化
init-method方法
实现InitializingBean接口,增加afterPropertiesSet()方法;
3.Bean的使用
使用有三种方式:
1)Beanwrapper
HelloWorld hellworld=new HelloWorld();
BeanWrapper bw=new BeanWrapperImpl(helloworld);
bw.setPropertyValue("msg","helloworld");
bw.getPropertyValue("msg");
2)BeanFactory
InputStream is=new FileInputStream("config.xml");
xmlBeanFactory factory=new xmlBeanFactory(is);
HelloWorld helloWorld=(HelloWorld)factory.getBean("HelloWorld");
helloWorld.getMsg();
3)ApplicationContext
ApplicationContext actx =new FileSystemXmlApplicationContext("config.xml");
HelloWorld HelloWorld = (HelloWorld)actx.getBean("HelloWorld");
HelloWorld.getMsg();
4.Bean的销毁
1)destory-method
2)实现org.springframework.beans.factory.DisposableBean接口,增加destory()方法
二、ref指定依赖的三种模式
1.local
2.bean
3.parent
<property>
<ref="local"/>||<ref="bean"/>||<ref="parent"/>
<property>
三、Bean的五种自动装配模式(autowire)
1.byName
2.byType
3.constructor
4.autodetect:有constructor就调用constructor,没有的用byType
5.no:默认,不自动装配
四、Bean依赖检查的4种模式:配合atuowire使用,dependency-check=""
1.simple 对基本数据类型,字符串等进行检查
2.object 对于依赖的对象进行检查
3.all (包含simple和object)
4.none
五、集合的注入方式
1.list-Lis
<property name="">
<list>
<value></value>
<value></value>
<value></value>
</list>
</property>
2.set-Set
<property name="">
<set>
<value></value>
<value></value>
<value></value>
</set>
</property>
3.map-Map
<property name="">
<map>
<entry key="">
<value></value>
</entry>
</map>
</property>
4.props-Properties
<property name="">
<props>
<prop key="">HelloWorld</prop>
</props>
</propertiry>
六、管理Bean
1.BeanWrapper
2.BeanFactory
3.ApplicationContext
Spring基础学习笔记-Bean的基础知识的更多相关文章
- [Spring MVC]学习笔记--基础Servlet
Servlet是一个用Java编写的应用程序,在服务器上运行,处理请求的信息并将其发送到客户端. Servlet的客户端提出请求并获得该请求的响应. 对于所有的客户端请求,只需要创建Servlet的实 ...
- Java基础学习笔记七 Java基础语法之继承和抽象类
继承 继承的概念 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系. 例如公司中的研发部员工和维护部员工都属于员工, ...
- Java基础学习笔记八 Java基础语法之接口和多态
接口 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”.接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义 ...
- Java基础学习笔记二 Java基础语法
注释 注释用来解释和说明程序的文字,注释是不会被执行的. 单行注释 //这是一条单行注释 public int i; 多行注释 /* 这是 * 一段注释, * 它跨越了多个行 */ public vo ...
- Java基础学习笔记四 Java基础语法
数组 数组的需求 现在需要统计某公司员工的工资情况,例如计算平均工资.最高工资等.假设该公司有50名员工,用前面所学的知识完成,那么程序首先需要声明50个变量来分别记住每位员工的工资,这样做会显得很麻 ...
- Java基础学习笔记三 Java基础语法
Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 ...
- Java基础学习笔记六 Java基础语法之类和ArrayList
引用数据类型 引用数据类型分类,提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类.我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner ...
- Java基础学习笔记五 Java基础语法之面向对象
面向对象 理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式.面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.例如:公司打扫卫生( ...
- Java基础学习笔记九 Java基础语法之this和super
构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方法.当 ...
随机推荐
- avl树的操作证明
以下用大O表示节点,ABC表示三个集合. 仅分析左子树的情况,因为对称,右子树的情况一样. 插入节点前 O / \ O A / \ B C 插入节点后: O ...
- POJ2342 树形dp
原题:http://poj.org/problem?id=2342 树形dp入门题. 我们让dp[i][0]表示第i个人不去,dp[i][1]表示第i个人去 ,根据题意我们可以很容易的得到如下递推公式 ...
- iOS开发——高级篇——音频、音乐播放(封装类)
一.简介 简单来说,音频可以分为2种音效又称“短音频”,通常在程序中的播放时长为1~2秒在应用程序中起到点缀效果,提升整体用户体验 音乐比如游戏中的“背景音乐”,一般播放时间较长 播放音频可以使用框架 ...
- python之路十
协程协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时 ...
- Effective C++ -----条款55:让自己熟悉Boost
Boost 是一个社群,也是一个网站.致力于免费.源码开放.同僚复审的C++ 程序库开发.Boost 在C++ 标准化过程中扮演深具影响力的角色. Boost 提供许多TR1 组件实现品,以及其他许多 ...
- js: 从setTimeout说事件循环模型
一.从setTimeout说起 setTimeout()方法不是ecmascript规范定义的内容,而是属于BOM提供的功能.查看w3school对setTimeout()方法的定义,setTimeo ...
- PHP上传文件示例
虽然大多数人认为Web只包含网页,但HTTP协议实际上可以传输任何文件,如office文档.PDF.可执行文件.AVI.压缩文件及各种其他文件类型.虽然FTP在历史上一直是向服务器上传文件的标准方式, ...
- 【转】png优化相关
Png是图像文件存储格式,在网页设计中已经不是一个陌生的名词,在前端开发中经常使用到它,如常用CSS 雪碧图.而Png的使用不仅仅如此,Png有多少种格式,有哪些特点,PC端中常用的Png格式是哪些, ...
- 使用DotNetBar制作漂亮的WinFrom界面,自定义AgileEAS.NET SOA平台WinClient主界面
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- nuget packages batch install
d:\nuget\nuget.exe install EnterpriseLibrary.Common -NoCache -Verbosity detailed -OutputDirectory D: ...