Spring框架几种创建bean的方式
Spring框架下,Bean的创建和装配非常的灵活,提供了三种主要的方式,并且相互见可以互相看见,也就是你可以随意地采用你喜欢且合适的方式创建Bean,而不用担心他们之间的兼容问题。
一、使用XML显示配置Bean
在Spring框架最初的是,XML是最主要的配置方式。在XML中创建Bean需要使用<bean>元素,例如
<bean class= "man.BigMan" />
这是一个最简单的XML方式的Bean声明,仅指定了该Bean属于的类,那么它的名称是什么样的呢?这里有个自动命名的原则,即全限定类名来命名,如该bean的名称为“man.BigMan#0”,其中“#0”是一个计数,从0开始。
那我们可不可以指定bean的名称呢?当然是可以的,只需借助id属性即可,如:
<bean id= "bigMan" class= "man.BigMan" />
一般我们可以对那些需要引用的Bean指定名称,而不需要引用的,则采用自动命名即可。
二、自动创建Bean
Spring中Bean地自动创建和装配是通过Java的注解机制来实现的。
比如创建一个Bean,可以在类上添加一个@Component,来告诉Spring该类是一个组件类,这样Spring就会为其创建Bean。与之类似的还有@Service和@Constroller,其功能目前与@Component相同,不过通常@Service用在业务层,@Constroller用在控制层。
packet man;
import org.springframework.stereotypr.Component;
@Component(bigMan) ---> bigMan为自动创建Bean的名称。
public class BigMan{
private String name = "wang";
}
三、在Java中显示配置Bean
通过Java配置Bean,也是通过注解来实现的,首先要通过@Configuration注解声明一个配置类,该类中应该包含在spring中创建Bean的所有细节,如下:
packet man;
import org.springframework.context.annotation.Configuration;
public class BigManConfig{
}
创建配置类后,还需要创建一个方法,并为其添加一个@Bean的注解,来声明bean,如下:
@Bean(name="wang")
public BigMan bigMan(){
return BigMan();
}
该例子中,通过name属性为bean指定了名称,当没有指定name的时候,spring会为其自动分配名称为@Bean注解修改的方法的名称。
---------------------
作者:懒散的奋斗者
来源:CSDN
原文:https://blog.csdn.net/xsxawj/article/details/80102066
版权声明:本文为博主原创文章,转载请附上博文链接!
Spring框架几种创建bean的方式的更多相关文章
- Spring中三种配置Bean的方式
Spring中三种配置Bean的方式分别是: 基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式 一.基于XML的配置 这个很简单,所以如何使用就略掉. 二.基于注解的配置 Sprin ...
- (转)Spring的三种实例化Bean的方式
http://blog.csdn.net/yerenyuan_pku/article/details/52832793 Spring提供了三种实例化Bean的方式. 使用类构造器实例化. <be ...
- Spring框架(3)---IOC装配Bean(注解方式)
IOC装配Bean(注解方式) 上面一遍文章讲了通过xml来装配Bean,那么这篇来讲注解方式来讲装配Bean对象 注解方式需要在原先的基础上重新配置环境: (1)Component标签举例 1:导入 ...
- Spring中四种实例化bean的方式
本文主要介绍四种实例化bean的方式(注入方式) 或者叫依赖对象实例化的四种方式.上面的程序,创建bean 对象,用的是什么方法 ,用的是构造函数的方式 (Spring 可以在构造函数私有化的情况下把 ...
- Spring的几种注入bean的方式
在Spring容器中为一个bean配置依赖注入有三种方式: · 使用属性的setter方法注入 这是最常用的方式: · 使用构造器注入: · 使用Filed注入(用于注解方式). 使用属性的se ...
- Spring第四弹—–Spring的三种实例化bean的方式
1.使用类构造器实例化 1 <bean id=“orderService" class="cn.itcast.OrderServiceBean"/> 2. ...
- Spring容器、BeanFactory和ApplicationContext,及3种装配Bean的方式
目录 一. spring容器理解 二. BeanFactory和ApplicationContext之间的关系 三. BeanFactory详情介绍 四.ApplicationContext介绍 五. ...
- @Scope注解设置创建bean的方式和生命周期
1.1.1 Scope注解创建bean的方式和生命周期 作用 Scope设置对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式. 取 ...
- 09 Python两种创建类的方式
第一种比较普遍的方式: class Work(): def __init__(self,name): self.name = name w = Work('well woker') 这样就简单创建了一 ...
随机推荐
- [Python]if语句的练习
习题: 小明身高1.75,体重80.5kg.请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:低于18.5:过轻 18.5-25:正常 25-28:过重 28-32:肥 ...
- Object Creation
Although using the object constructor or an object literal are convenient ways to create single obje ...
- java:struts框架4(Ajax)
1.Ajax: 先导入jar包: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!D ...
- 学习Go语言(一)环境安装及HelloWorld
自己开发的时候,一般用Java和C#居多,偶尔也用Python做点东东. 想体验一下比较“现代”语言,思来想去就来体验一下Go语言. 闲话少叙,言归正传,首先就是环境安装,这个轻车熟路: (1)到官网 ...
- 描述什么是springboot
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作<Expert One-On-One J2EE Developme ...
- [开发技巧]·Python实现信号滤波(基于scipy)
[开发技巧]·Python实现信号滤波(基于scipy) 个人网站--> http://www.yansongsong.cn GitHub主页--> https://github.com/ ...
- 1.2.2 OSI参考模型 下
[今天打酱油了,纯抄书.OSI太重要,不敢随便乱写.] 一.开放系统互联参考模型 答:20世纪80年代初,ISO提出来著名的开放系统互联参考模型[Open Systems Interconnectio ...
- C++中函数异常规格的说明
1,本文介绍一个新的概念,它是一个重要的概念,并且是 C++ 中的一个高级主题: 2,问题: 1,如何判断一个函数(不是自己写的,有可能是第三方库中的函数)是否会抛出异常,以及抛出那些异常? 1,学习 ...
- tp5后台同步更新配置文件
thinkphp5 配置文件路径:app/extra/web.php public function add(){ $path = 'app/extra/web.php'; $file = inclu ...
- 单节点FastDFS安装
环境:centos7 1.什么是分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连. ...