spring 2 bean配置--基本配置
2016-06-27 16:37
525 查看
IOC:控制反转,反转资源获取的方向,容器主动将资源推送给它说管理的组件,组件仅需要选择一种合适的方式来接受资源。采用工厂设计模式。
DI:组件以预先定义好的方式接受来自容器的资源注入。
配置bean:
配置形式:xml、注解。节点为id和class(全类名)
1 IOC容器配置和创建bean实力前,必须对它进行实例化
2两种IOC容器实现:
beanFactory:IOC容器基本实现。
applicationContext提供了更多高级特性,是beanFactory的子接口,几乎都直接用applicationContext的。
3 ApplicationContext
ApplicationContext:代表IOC容器,是顶层接口。
ConfigurationApplicationContext:是ApplicationContext的子接口,新增refresh()和close()两个主要方法,让ApplicationContext具有启动、刷新和关闭上下文的能力。
webApplicationContext:spring集成web。
主要实现类:
ClassPathXmlApplicationContext:从类路径下加载配置文件
FileSystemXmlApplicationContext:从文件系统中加载配置文件
4 Spring支持3种依赖注入的方式
属性注入
构造方法注入
工厂方法注入(不怎么用)
属性注入:setter方法注入,是开发里最常用的注入方式,直接赋值
<bean id="helloWorld" class="mdd.study.beans.HelloWorld">
<property name="name" value="hanmeimei"></property>
</bean>
构造方法注入:
通过构造方法注入bean的属性值or依赖对象,它保证bean实力在实例化以后就可以使用。
蓝后在<constructor-arg>子节点里面声明属性,靠类型type来区分重载方法
注意:<constructor-arg>里面没有name属性
<!-- 通过构造方法配置bean属性 -->
<bean id="car" class="mdd.study.beans.Car">
<!-- = =Audi是奥迪的意思 -->
<constructor-arg value="Audi" index="0" type="java.lang.String"></constructor-arg>
<constructor-arg value="Shanghai" index="1" type="java.lang.String"></constructor-arg>
<constructor-arg value="30" index="2" type="int"></constructor-arg>
</bean>
</beans>
DI:组件以预先定义好的方式接受来自容器的资源注入。
配置bean:
配置形式:xml、注解。节点为id和class(全类名)
1 IOC容器配置和创建bean实力前,必须对它进行实例化
2两种IOC容器实现:
beanFactory:IOC容器基本实现。
applicationContext提供了更多高级特性,是beanFactory的子接口,几乎都直接用applicationContext的。
3 ApplicationContext
ApplicationContext:代表IOC容器,是顶层接口。
ConfigurationApplicationContext:是ApplicationContext的子接口,新增refresh()和close()两个主要方法,让ApplicationContext具有启动、刷新和关闭上下文的能力。
webApplicationContext:spring集成web。
主要实现类:
ClassPathXmlApplicationContext:从类路径下加载配置文件
FileSystemXmlApplicationContext:从文件系统中加载配置文件
4 Spring支持3种依赖注入的方式
属性注入
构造方法注入
工厂方法注入(不怎么用)
属性注入:setter方法注入,是开发里最常用的注入方式,直接赋值
<bean id="helloWorld" class="mdd.study.beans.HelloWorld">
<property name="name" value="hanmeimei"></property>
</bean>
构造方法注入:
通过构造方法注入bean的属性值or依赖对象,它保证bean实力在实例化以后就可以使用。
蓝后在<constructor-arg>子节点里面声明属性,靠类型type来区分重载方法
注意:<constructor-arg>里面没有name属性
<!-- 通过构造方法配置bean属性 -->
<bean id="car" class="mdd.study.beans.Car">
<!-- = =Audi是奥迪的意思 -->
<constructor-arg value="Audi" index="0" type="java.lang.String"></constructor-arg>
<constructor-arg value="Shanghai" index="1" type="java.lang.String"></constructor-arg>
<constructor-arg value="30" index="2" type="int"></constructor-arg>
</bean>
</beans>
相关文章推荐
- springmvc controller ajax 一些使用说明
- Java异常练习题(带答案)
- 西安尚学堂学员对于新手学习java的一些建议
- 多用多学之Java中的Set,List,Map
- Java 8之BASE64编解码
- java MD5 加密
- FAQ-junit报错:javax/servlet/jsp/PageContext
- Java8新特性——Stream
- 006——使用javamail发送邮件
- Java XML解析的几种方式
- java算法软件版本比较
- Java基础之异常Exception---总结
- Java基础for循环回顾
- Java基础之包管理---访问权限详解
- WIN7系统JavaEE(java)环境配置教程(一)
- Java基础之异常Exception---测试(带答案)
- 02 java注释、类、package
- 多线程中的Interrupt、Interrupted、IsInterrupted 的区分
- Java源代码分析之Vector数组
- Java编程题