[Spring][Bean]Spring配置文件、属性注入、从IOC容器获取实例
2015-05-23 13:55
1256 查看
1. Bean
a. ApplicationContex 在初始化上下文的时候就实例化所有单利的Bean;
b. 加载配置文件的方法:ClassPathXmlAppliactionContex(“application.xml”);
ApplicationContex:
2.Spring bean 的配置:
Spring配置文件中:
/*
* 总结 属性的注入方式:
* 三种方法:
* 1.属性注入 (最常用 ) 如: person、person2; 2.构造器注入 如: car ; 3.工厂方法注入(不使用);
*/
3.bean 实例获取方式:
获取在类路径下的Spring 配置文件;
从IOC容器中获取Bean实例的方法:
/*
* 方法一:利用类型返回ioc容器中的bean 要求ioc容器中只能有一个该类型的Bean
* Person person = ctx.getBean(Person.class);
* 此方法存在问题:
* Bean 中如果有两个 Person的话,会抛出异常;
*/
/*
* 方法二:利用id获取ioc容器中的Bean 反射;
*/
a. ApplicationContex 在初始化上下文的时候就实例化所有单利的Bean;
b. 加载配置文件的方法:ClassPathXmlAppliactionContex(“application.xml”);
ApplicationContex:
2.Spring bean 的配置:
Spring配置文件中:
<!-- 配置bean --> <bean id="helloWorld" class="com.Spring.Bean.HelloWorld"> <property name="name" value="Spring java"></property> </bean> <!-- 通过构造方法来配置Bean 的属性 --> <bean id="car" class="com.Spring.Bean.Car"> <constructor-arg value="audi" type="java.lang.String"></constructor-arg> <constructor-arg value="ShangHai " type="java.lang.String"></constructor-arg> <constructor-arg value="3000000" type="double"></constructor-arg> </bean> <bean id="car3" class="com.Spring.Bean.Car"> <constructor-arg value="Ford"></constructor-arg> <constructor-arg value="changan"></constructor-arg> <constructor-arg value="200000" type="double"></constructor-arg> </bean> <bean id="car4" class="com.Spring.Bean.Car"> <constructor-arg value="baoma"></constructor-arg> <constructor-arg value="deam"></constructor-arg> <constructor-arg value="1000000" type="double"></constructor-arg> </bean> <bean id="person" class="com.Spring.Bean.Person"> <property name="name" value="Tom"></property> <property name="age" value="24"></property> <!-- 使用property的 ref属性建立bean之间的关系的方式 : <property name="car" ref="car"> </property> --> <!-- 内部bean的方式产生联系 的方式 内部bean 不能被外部引用 --> <property name="car"> <bean id="car2" class="com.Spring.Bean.Car"> <constructor-arg value="Ford"></constructor-arg> <constructor-arg value="changan"></constructor-arg> <constructor-arg value="200000" type="double"></constructor-arg> </bean> </property> </bean> <!-- List 的创建方法 --> <bean id="person2" class="com.Spring.Bean.collection.Person"> <property name="name" value="Mike"></property> <property name="age" value="27"></property> <property name="cars"> <list> <ref bean="car4" /> <ref bean="car3" /> </list> </property> </bean> <!-- Map 的创建方法 <entry > 自节点配置 --> <bean id="newPerson2" class="com.Spring.Bean.collection.NewPerson2"> <property name="name" value="Rose"></property> <property name="age" value="28"></property> <property name="cars"> <map> <entry key="AA" value-ref="car"></entry> <entry key="BB" value-ref="car3"></entry> </map> </property> </bean>
/*
* 总结 属性的注入方式:
* 三种方法:
* 1.属性注入 (最常用 ) 如: person、person2; 2.构造器注入 如: car ; 3.工厂方法注入(不使用);
*/
3.bean 实例获取方式:
获取在类路径下的Spring 配置文件;
<span style="white-space:pre"> </span>ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContex.xml");
从IOC容器中获取Bean实例的方法:
/*
* 方法一:利用类型返回ioc容器中的bean 要求ioc容器中只能有一个该类型的Bean
* Person person = ctx.getBean(Person.class);
* 此方法存在问题:
* Bean 中如果有两个 Person的话,会抛出异常;
*/
/*
* 方法二:利用id获取ioc容器中的Bean 反射;
*/
<span style="white-space:pre"> </span>Person person = (Person) ctx.getBean("person");
相关文章推荐
- (spring-第5回【IoC基础篇】)spring容器从加载配置文件到实例化bean的内部工作机制
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
- (spring-第5回【IoC基础篇】)spring容器从加载配置文件到实例化bean的内部工作机制
- Spring4深入理解IOC&DI02----Bean配置--自动装配、bean之间的继承与依赖、使用外部属性文件
- 配置springmvc在其他类中(spring容器外)获取注入bean
- spring 框架中的依赖注入(IOC--设值注入)---使用xml简单配置文件---的具体实例的简单实现
- SpringJUnit4加载类目录下(src)和WEF-INF目录下的配置文件二--获取注入的bean的二种方式
- 配置springmvc在其他类中(spring容器外)获取注入bean
- Spring根据XML配置文件 p名称空间注入属性的实例
- Spring根据XML配置文件注入属性 其实也是造bean,看看是使用constructor还是setter顺带完成属性赋值
- Spring代码实例系列-09:通过Spring PropertyPlaceholderConfigurer将properties配置的属性注入到xml配置文件中
- Spring AMQP实例 以及Spring 配置文件动态注入属性使用实战
- Spring通过配置文件获取bean(不用IOC)
- spring-03 之IOC 属性注入(配置文件方式 附代码)
- spring错误:bean实例类中的属性类型与spring配置文件中的构造器属性类型不对应
- 关于SpringBoot获取IOC容器中注入的Bean(推荐)
- SSH框架系列:Spring读取配置文件以及获取Spring注入的Bean
- spring学习总结(四):IOC & DI 配置 Bean 之注入属性细节
- spring学习总结(六):IOC & DI 配置Bean之作用域、加载外部属性文件、SPEL
- spring整合的项目中监听器Listener如何获取注入的bean(监听器获取Spring配置文件)