package com.dcxuexi;
import com.dcxuexi.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/***
* @Title SpringBean02
* @Description TOTD
* @Auter DongChuang
* @Date 2022/10/15 17:58
* @Version 1.0.0
*/
public class SpringBean02 {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService = (UserService) context.getBean("userServiceEbi");
//userService.save();
System.out.println(userService);
UserService userService2 = (UserService) context.getBean("userServiceEbi");
System.out.println(userService2);
}
}
Spring项目bean基础配置代码
需积分: 0 158 浏览量
更新于2022-10-15
收藏 6KB ZIP 举报
在Spring框架中,Bean是核心概念,它是Java对象在Spring容器中的实例,通过XML或Java配置来定义。本文将深入探讨Spring项目中的Bean基础配置、别名配置以及作用范围配置。
我们来理解Bean的基础配置。在Spring中,一个Bean的定义通常包含以下几个关键属性:
1. `id`:这是Bean的唯一标识符,用于在配置文件中引用该Bean。每个Bean的id必须在整个配置文件中是唯一的。
2. `class`:指定Bean的全限定类名,即包括包名的类名,它是创建Bean实例的关键。例如,如果我们有一个名为`com.example.MyService`的类,我们需要在配置中指定`class="com.example.MyService"`。
3. `scope`:定义Bean的作用范围,可以是`singleton`(单例)、`prototype`(原型)、`request`(Web应用中每个HTTP请求创建一个)、`session`(Web应用中每个HTTP session创建一个)等。默认是`singleton`,意味着Spring容器只会创建一个Bean实例并共享给所有请求。
接下来,我们讨论Bean的别名配置。别名允许为同一个Bean定义多个名称,便于在不同的地方引用。在XML配置中,我们可以使用`alias`属性来添加别名,如:
```xml
<bean id="myService" class="com.example.MyService" alias="alternativeName"/>
```
在这个例子中,`myService`和`alternativeName`都是同一个Bean的引用。
然后,我们要了解Bean的作用范围配置。前面提到了几种常见的作用范围,这里进一步阐述:
- `singleton`:默认值,Spring容器只创建一个Bean实例,所有的依赖注入都指向这个单一实例。
- `prototype`:每次请求都会创建一个新的Bean实例,适合那些需要多个实例的场景,比如实现线程安全的策略对象。
- `request`和`session`:这两个作用范围仅在Web应用中适用,分别对应于每个HTTP请求和session创建一个Bean实例。
在XML配置中,我们可以这样设置Bean的作用范围:
```xml
<bean id="myPrototypeService" class="com.example.MyPrototypeService" scope="prototype"/>
```
在实际项目中,理解并灵活运用这些配置对于优化Spring容器的行为至关重要。通过正确配置Bean,我们可以控制对象的生命周期,实现依赖注入,以及在多线程或多用户环境下确保正确的行为。
现在,考虑到压缩包文件名称`spring_02_bean`,这可能是一个关于Spring Bean配置的代码示例或教程。在这样的资源中,你可能会找到如何在XML配置文件中声明Bean、设置别名以及指定作用范围的实际示例代码。通过阅读和学习这些代码,你可以加深对Spring Bean配置的理解,并将其应用到自己的项目中。记得实践是检验理论的最好方式,尝试在实际项目中配置Bean,以便更好地掌握这些知识。
Mr.D.Chuang
- 粉丝: 5995
- 资源: 7
最新资源
- 基于Springboot的网上商城购物系统实现源码+数据库+文档(高分期末大作业)
- (25638822)图书馆管理系统(Servlet+Java+Jsp+Mysql)
- (22559438)基于stm32、0.96寸OLED实现的贪吃蛇小游戏(详细源码注释)
- 机械设计LOGO检测机彩盒CCD检测设备sw18可编辑非常好的设计图纸100%好用.zip
- 基于Pyotrch开发的深度学习物体分类系统(图形化界面)高分项目源码
- Java毕设-基于Springboot的网上商城购物系统实现源码+数据库+文档
- intrinsics.h
- (173873224)05 AUTOSAR行业汽车工程师资料
- 基于S7-200 PLC和组态王大小球大小分拣
- (179461246)MATLAB代码:电-气-热综合能源系统耦合优化调度 关键词:综合能源系统 优化调度 电气热耦合 仿真平台:MATLAB Y
- Kinect v2 Examples with MS-SDK 2.23
- (177300606)软件工程:概要设计说明书
- (177196812)VBA实现合并相同单元格
- (174331414)VBA实现格式相同的excel文件汇总合并
- 封装 axios 拦截器实现用户无感刷新 access-token
- 燃料电池仿真模型燃料电池仿真模型,本模型基于Cruise软件和 Simulink软件共同搭建完成,并基于实际项目搭建,本资料包包含所有源文件