您的位置:首页 > 编程语言 > Java开发

spring的bean管理之bean实例化三种方式

2017-06-26 09:24 621 查看
1.使用类的无参构造方法

<bean id="userservice" class="com.sq.service.UserService"></bean>

自动寻找无参构造方法,创建对象。
如果显示的写出有参的构造方法,会出现一下错误



2.使用静态工厂创建

(1)创建一个静态方法,返回类的对象

package com.sq.service;
/**
*@author sq
*
*/
public class UserServiceFactory {
public static UserService get(){
return new UserService();
}
}

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- ioc入门 -->
<!-- <bean id="userservice" class="com.sq.service.UserService"></bean> -->

<!-- 使用静态方法返回类对象 -->
<bean id="userServiceFactory" class="com.sq.service.UserServiceFactory" factory-method="get" ></bean>
</beans>


3.使用实例工厂

(1)创建一个不是静态的方法,返回类的对象

package com.sq.service;
/**
*@author sq
*
*/
public class UserServiceFactory {
public UserService get(){
return new UserService();
}
}

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- ioc入门 -->
<!-- <bean id="userservice" class="com.sq.service.UserService"></bean> -->

<!-- 使用实例工厂创建对象 -->
<!-- 创建工厂对象 -->
<bean id="userServiceFactory" class="com.sq.service.UserServiceFactory"></bean>
<bean id="userservice" factory-bean="userServiceFactory" factory-method="get"></bean>
</beans>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  bean spring 对象