Spring的Bean管理(xml方式)
程序员文章站
2022-03-03 12:37:54
...
Bean实例化的方式
- Bean实例化:
在spring里面通过配置文件 ,来创建对象
实现实例化的三种方式:
<!-- IOC入门 -->
<bean id="user" class="cn.itclass.ioc.User"></bean>
如果User中有有参构造并且没有无参构造,则出现异常
静态工厂类:
public class Bean2Factory {
/**
* 静态的方法返回bean2的对象
* @return
*/
public static Bean2 getBean2() {
return new Bean2();
}
xml文件内容:
!:factory-method="getBean2" 是工厂方法Bean2Factory中的方法
<!-- 使用静态工厂创建对象 -->
<bean id="bean2" class="cn.itclass.ioc.Bean2Factory" factory-method="getBean2"></bean>
测试代码:
- !出错地方:context.getBean("bean2");是context的方法
Bean2 bean2=(Bean2) context.getBean("bean2"); //getBean是系统的
System.out.println(bean2);
bean2.add();
实例工厂创建对象
- 创建不是静态的方法,再返回类对象
- xml写法麻烦
实例方法:其中的方法不能用类名来调用,要创建对象调用
public class Bean3Factory {
public Bean3 getBean3() {
return new Bean3();
}
Bean标签常用属性
id属性:
bean id=“user”
- 起名称,id属性值名称任意命名
- id属性值,不能包含特殊符号
- 根据id值得到配置对象
class属性:
- 创建对象所在类的全路径class=“cn.itclass.ioc.User”
name属性:
功能和id属性一样的,id属性值不能包含特殊符号,但是在name属性值里面可以包含特殊符号
如:bean name(//也可写作id)=“user”
scope属性
singleton:
默认值,单例(单实例) :只有一个对象
只会创建一个对象,所以user1与user的地址是一样的。
User user=(User) context.getBean("user"); //配置文件中的id值
User user1=(User) context.getBean("user");
多实例:
prototype:
<bean id="user" class="cn.itclass.ioc.User" scope="prototype"></bean>
//user 与user1 地址不一样
下一篇: 异常、信息国际化样例
推荐阅读
-
全面解析LinkedIn以日志为中心的大数据管理方式
-
java解析xml字符串如何解析(解析xml字符串的方式)
-
Spring基于xml文件配置Bean过程详解
-
通过实例解析spring bean之间的关系
-
spring源码分析系列5:ApplicationContext的初始化与Bean生命周期
-
spring boot 注入 property的三种方式(推荐)
-
最让人不满意的中小企业管理方式
-
干货分享:ASP.NET CORE(C#)与Spring Boot MVC(JAVA)异曲同工的编程方式总结
-
简单讲解Objective-C的基本特性及其内存管理方式
-
Mybaits 源码解析 (十二)----- Mybatis的事务如何被Spring管理?Mybatis和Spring事务中用的Connection是同一个吗?