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. 吴裕雄--天生自然 JAVASCRIPT开发学习: 闭包

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. android机器时间不同步导致网络请求出错

    转自: https://blog.csdn.net/DeMonliuhui/article/details/82226601 获取网页时间代替系统时间 根据下列代码,我们就可以获取任何一个网址的时间( ...

  3. 2020/1/28 PHP代码审计之代码执行漏洞

    0x00代码执行原理 应用程序在调用一些能够将字符串转换为代码的函数(如PHP中的eval)时,没有考虑用户是否控制这个字符串,将造成代码执行漏洞. 该漏洞主要存在于eval().assert().p ...

  4. TextView和Button的学习

    常用属性,界面跳转,按钮学习,按压颜色的变换,图片的插入学习等 工程目录: MainActivity.java: package com.example.revrse; import androidx ...

  5. h5-sessionStorage储存的使用

    <!-- sessionStorage的使用:存储数据到本地.存储的容量5mb左右 1.这个数据本质是储存在当前页面的内存中 2.他的生命周期为关闭当前页面,关闭页面,数据会自动清楚 setTt ...

  6. 在storyboard中给控制器添加导航栏控制器和标签控制器

    1.选中目标控制器 2.选择xcode的工具栏中的"Editor"->"Embed in"->"Navigation Controller ...

  7. JNI的第1种写法 及 JNI通过形参修改Java数据

    声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 目的:通过形参在Java 和C之间传递数据,尤其是大块的媒体数据 优点:避免通过返回值返回一个巨大的数据块 ...

  8. c# 异常处理 try --catch

    初学 try---catch 语法 try { 可能会出现异常的代码; 异常出现的那行代码下面的代码全不会执行,直接跳到catch中执行 ... ... } //try和catch之间不能有其他的代码 ...

  9. error: snap "electronic-wechat" has "install-snap" change in progress

    今天因为要使用 wechat ,但是因为 wechat 并没有官方的 Ubuntu 版本,幸好有大神出了 electronic-wechat ,可以直接在应用商店中搜到,然后直接安装,也可以命令行安装 ...

  10. Ubuntu python多个版本管理

    1.查看python有哪些版本使用命令 whereis python 如图: 2.这么多版本如何切换呢 使用 sudo update-alternatives --install <link&g ...