Spring的实例化Bean有三种方式:
使用类构造器直接实例化
使用静态工厂的方法实例化
使用实例工厂方法实例化
三种方式对应的配置如下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<!-- 使用类构造器直接实例化 -->
<bean id="userBean1" class="com.szy.spring.implbean.UserBean" />
<!-- 使用静态工厂的方法实例化 -->
<bean id="userBean2" class="com.szy.spring.factory.BeanFactory" factory-method="UserBeanService" />
<!-- 使用实例工厂方法实例化 -->
<bean id="factory" class="com.szy.spring.factory.BeanFactory" />
<bean id="userBean3" factory-bean="factory" factory-method="getUserBeanService" />
</beans>
其中BeanFactory类的代码如下
package com.szy.spring.factory;
import com.szy.spring.implbean.UserBean;
import com.szy.spring.interfacebean.PersonBean;
public class BeanFactory
{
//使用静态工厂的方法实例化使用
public static PersonBean UserBeanService()
{
return new UserBean();
}
public PersonBean getUserBeanService()
{
return new UserBean();
}
}
在这三种方式中我们最常用的还是第一种。
分享到:
相关推荐
2. **实例化bean** Spring容器提供多种实例化bean的方式: - **默认实例化**:如果bean没有指定构造函数,Spring会使用默认无参构造函数创建bean。 - **构造函数注入**:可以通过指定构造函数参数,Spring会调用...
标题 "sping-boot-shiro-jwt-redis-refreshtoken.zip" 暗示这是一个关于Spring Boot、Shiro、JWT(JSON Web Token)以及Redis整合的项目,用于实现权限管理和安全认证,特别是涉及到Token的自动刷新功能。...
sping3 spring-beans 类图 chm
sping-aop-3.jar 最新的第一次上传东西
JWT是一种开放标准(RFC 7519),定义了一种紧凑的、自包含的方式来安全地在各方之间传输信息作为一个 JSON 对象。这个信息可以被验证和信任,因为它是数字签名的。在Spring Boot中,我们可以使用jjwt库来生成和验证...
SpringCloud中oauth2最为简单的demo,内附帮助文档help.txt。 5种oauth的授权方式的使用方法:authorization_code、password、implicit、client_credentials、refresh_token 启动可以直接验证
Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2
### Sping翻转控制器知识点详解 #### 一、Spring IoC 容器概述 ##### 1.1 控制反转(Inversion of Control, IoC)原理 - **定义**:控制反转是一种设计模式,用于降低代码之间的耦合度。在Spring框架中,IoC容器...
这篇学习笔记涵盖了广泛的Java和JavaEE相关技术,包括Unix、Spring、Struts、Ajax、Hibernate等核心组件。让我们深入探讨一下这些技术。 首先,Unix是一个强大的操作系统,是许多服务器和开发环境的基础。在"Unix...
Spring框架的基础API文档,帮助学习理解Spring框架,web开发。
例如,我们可以使用`@Autowired`注解自动装配bean,或者在XML配置文件中声明bean及其依赖关系。 其次,Spring的AOP模块允许我们在不修改源代码的情况下,对程序进行横切关注点(如日志、事务管理)的处理。通过定义...
SpringBoot统一异常处理及实战源码
【标题】"eclipse + struts2+sping + bootstrap+juqery-ui整合源码"涉及的关键技术栈包括Eclipse开发环境、Struts2框架、Spring框架、Bootstrap前端库以及jQuery UI组件库。这些技术在Java Web开发中占据着重要地位...
#### 三、整合Spring ##### 3.1 创建spring-mybatis.xml 配置Spring容器,使用`MapperScannerConfigurer`扫描DAO接口并将其转换为Bean。 **示例代码**: ```xml <!-- spring-mybatis.xml --> xmlns:xsi=...
4. **数据序列化与反序列化**:AMF是一种高效的二进制格式,用于在Flex和Spring之间传输数据。需要确保Java对象和Flex对象之间有对应的映射关系。 5. **测试与调试**:通过发送Flex客户端的请求并观察Spring服务器...
在使用 @Autowired 之前,我们对一个 bean 配置起属性时,是使用 属性名" value=" 属性值"/> 的方式来配置,比较繁琐,而且代码比较多。在 Spring 2.5 引入了 @Autowired 注释,我们平常直接引用的时候很少注意这些...
SSH学习笔记3主要聚焦于三个Java企业级开发框架——STRUTS、SPRING和HIBERNATE的集成与应用。这三个框架是Java后端开发中非常重要的组件,它们各自负责不同的层面,共同构建了一个强大的MVC(Model-View-Controller...