Bean的配置方式一共分为三种:

1.基于XML(适用于第三方类库,无法在类中写注解以及写命名空间的配置等情况)

2.基于注解(适用于大部分情况)

3.基于Java类

以下是三种不同情况的配置方式

  基于XML 基于注解 基于Java类配置
Bean 的定义 <bean class="com.gin.UserName" />

@Component(或衍生@Repositry、@Service及@Controller)

public class UserName {...}

@Configuration

public class

Test{

@Bean

public UserName userName() {

return new   UserName();

}  

}

Bean的名称 <bean id="userName" class="com.gin.UserName" />

@Component("userName")//空的默认值为userName

public class UserName {...}

@Bean(”userName“)

public UserName userName() {

return new   UserName();

} 

Bean的注入

<property name="userName" ref-bean="userName" />

或

<p:userName-ref="userName">

public class UserService{

@Autowired

@Qualifier("userName")//@Qualifier是可选项

private UserName userName;

}

@Bean(”userName“)

public UserName userName() {

return new   UserName();

} 

@Bean

public UserService userService() {

UserService userService = new UserService();

userService.setUserName(userName());

}

或

@Autowired

private DaoUsername daoUsername;

@Bean

public UserService userService() {

UserService userService = new UserService();

userService.setUserName(daoUsername.userName())

}

Bean的生命过程方法

<bean id="userName" class="com.gin.UserName" init-method="init" destory-method="destory" /> //初始化和销毁都只有一个   

public class UserService{

@Autowired

private UserName userName;

@PostConstruct

public void init() {}

@PreDestory

public void destory() {}

}//初始化和销毁可以有多个

无
Bean的作用范围 bean id="userName" class="com.gin.UserName" scope="prototype" /> 

@Scope("protptype")

public class UserService{}

@Scope("protptype)

@Bean

public UserName userName() {

return new   UserName();

} 

Spring中Bean的不同配置方式的更多相关文章

  1. spring中aop以xml配置方式

    1 引jar包 springAOP\aopalliance.jar springAOP\aspectjrt.jar springAOP\aspectjweaver.jar springAOP\spri ...

  2. Spring中bean的注入方式

    首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入.依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Spring ...

  3. Spring中Bean的配置:基于XML文件的方式

    Bean的配置一共有两种方式:一种是基于XML文件的方式,另一种是基于注解的方式.本文主要介绍基于XML文件的方式 <bean id="helloWorld" class=& ...

  4. spring中bean实例化时机以及整个运转方式

    接上一篇文章,一般在servlet获取到请求之后 在service方法中就可以完成所有的请求处理以及返回,但是我们会采用更高级的MVC框架来做.也就是说所有的MVC框架入口就是serlvet中的ser ...

  5. spring中bean的配置详解--定义parent

    在工作中碰到了好多的配置文件,具体来说是spring 中bean配置的parent的配置,搞的我一头雾水,仔细看一下spring中有关bean的配置,剖析一下,具体什么含义! 一.Spring IoC ...

  6. Spring中bean的四种注入方式

    一.前言   最近在复习Spring的相关内容,这篇博客就来记录一下Spring为bean的属性注入值的四种方式.这篇博客主要讲解在xml文件中,如何为bean的属性注入值,最后也会简单提一下使用注解 ...

  7. Spring中Bean的实例化

                                    Spring中Bean的实例化 在介绍Bean的三种实例化的方式之前,我们首先需要介绍一下什么是Bean,以及Bean的配置方式. 如果 ...

  8. IoC容器装配Bean(xml配置方式)(Bean的生命周期)

    1.Spring管理Bean,实例化Bean对象 三种方式 第一种:使用类构造器实例化(默认无参数) package cn.itcast.spring.initbean; /** * 使用构造方法 实 ...

  9. JAVA面试题:Spring中bean的生命周期

    Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一 ...

随机推荐

  1. Thread--线程间通信--管道

    在Java语言中提供了各种各样的输入/输出流Stream,使我们能够方便的对数据进行操作,其中管道流是一种特殊的流,用于在不同线程间直接传送数据.一个线程发送数据到输出管道,另一个线程从输入管道中读数 ...

  2. Lyft、Uber、滴滴涉足汽车租赁领域,能打破既有汽车所有权模式吗?

    自共享经济出现之后,众多相关项目遍地开花.这些共享经济项目对于人们来说,最直观的感受就是实惠.性价比高.方便.不过抛开这些使用层面的优点来看的话,共享经济项目最大的特色或许就是改变了事物的所有权.一件 ...

  3. Linux(CENTOS7) Redis安装

    1.下载redis         在disk目录下,输入以下命令进行下载: wget http://download.redis.io/releases/redis-2.8.3.tar.gz 2.解 ...

  4. 深入分析Java反射(四)-动态代理

    动态代理的简介 Java动态代理机制的出现,使得Java开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类.代理类会负责将所有的方法调用分派到委托对象上反射执行,在分 ...

  5. 吴裕雄--天生自然 JAVA开发学习:变量类型

    public class Variable{ static int allClicks=0; // 类变量 String str="hello world"; // 实例变量 pu ...

  6. 【范式与函数依赖】3NF与BCNF的区别

    *本文中码指代候选码,主属性为构成码的属性. 先简要引入几个概念 图1 图2 单拿出来我认为不是很好理解的3NF和BCNF详细的说说. 书上写了,BCNF是完善后的3NF.从图2中显然得出,1-3NF ...

  7. sql plus笔记

    指令请走这边 因为sql plus缓冲区有限 所以要查看输出有时会不太方便 使用spool语句将输出写入文件 sql>spool 要保存的完整路径 ; ; ; sql output; ; ; s ...

  8. DataStructuresAndAlgorithm--字谜游戏

    参考:http://tieba.baidu.com/p/2071585293 输入是由一些字母构成的一个二维数组以及一些单词组成.目标是要找出字谜中的单词,这些单词可能是水平.垂直或沿对角线上任何方向 ...

  9. Mysql存储过程案例集合

    注:使用的工具为SQLyog 壹.while简单使用(替换字符串中的字符,和REPLACE效果一样) 注: 这里没有使用REPLACE函数 1.创建存储过程 DROP PROCEDURE IF EXI ...

  10. tensorflow训练Oxford-IIIT Pets

    参考链接https://github.com/tensorflow/models/blob/master/object_detection/g3doc/running_pets.md 先参考https ...