Spring中Bean的不同配置方式
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的不同配置方式的更多相关文章
- spring中aop以xml配置方式
1 引jar包 springAOP\aopalliance.jar springAOP\aspectjrt.jar springAOP\aspectjweaver.jar springAOP\spri ...
- Spring中bean的注入方式
首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入.依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Spring ...
- Spring中Bean的配置:基于XML文件的方式
Bean的配置一共有两种方式:一种是基于XML文件的方式,另一种是基于注解的方式.本文主要介绍基于XML文件的方式 <bean id="helloWorld" class=& ...
- spring中bean实例化时机以及整个运转方式
接上一篇文章,一般在servlet获取到请求之后 在service方法中就可以完成所有的请求处理以及返回,但是我们会采用更高级的MVC框架来做.也就是说所有的MVC框架入口就是serlvet中的ser ...
- spring中bean的配置详解--定义parent
在工作中碰到了好多的配置文件,具体来说是spring 中bean配置的parent的配置,搞的我一头雾水,仔细看一下spring中有关bean的配置,剖析一下,具体什么含义! 一.Spring IoC ...
- Spring中bean的四种注入方式
一.前言 最近在复习Spring的相关内容,这篇博客就来记录一下Spring为bean的属性注入值的四种方式.这篇博客主要讲解在xml文件中,如何为bean的属性注入值,最后也会简单提一下使用注解 ...
- Spring中Bean的实例化
Spring中Bean的实例化 在介绍Bean的三种实例化的方式之前,我们首先需要介绍一下什么是Bean,以及Bean的配置方式. 如果 ...
- IoC容器装配Bean(xml配置方式)(Bean的生命周期)
1.Spring管理Bean,实例化Bean对象 三种方式 第一种:使用类构造器实例化(默认无参数) package cn.itcast.spring.initbean; /** * 使用构造方法 实 ...
- JAVA面试题:Spring中bean的生命周期
Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一 ...
随机推荐
- 移动端— position: fixed;固定定位解决方案
这里有个关键的东西叫做viewport,你经常在页面的头部里可以见到它: <meta name="viewport" content="width=device-w ...
- MongoDB_走一波
Mongodb 一.mongodb的介绍 mongodb的优势 易扩展:NoSQL数据库种类繁多,但是一个共同的特定就是去掉关系数据库的关系型特性.数据之间无关系,这样非常容易扩展 大数据,高性能:N ...
- PAT Advanced 1010 Radix(25) [⼆分法]
题目 Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The ...
- geodjango七日学习笔记 (7.30整理本地笔记上传到网络)
第一天进行到现在,在开端的尾巴,想起来写一个学习笔记, 开发环境已搭好,用的是pycharm 环境是本机已有的interpreter python3.7 接下来要做的是新建一个geodjango项 ...
- 十大经典排序算法(Javascript实现)
前言 总括: 本文结合动图详细讲述了十大经典排序算法用Javascript实现的过程. 原文博客地址:十大经典排序算法 公众号:「菜鸟学前端」,回复「666」,获取一揽子前端技术书籍 人生有情泪沾衣, ...
- vue-resource HTTP API基础
vue-resource特点 vue-resource插件具有以下特点: 1. 体积小 vue-resource非常小巧,在压缩以后只有大约12KB,服务端启用gzip压缩后只有4.5KB大小,这远比 ...
- AUTOSAR-Specification of Watchdog Manager 阅读
一.开门狗管理有三种机制 1.定周期任务实时监控 2.非定周期任务执行时间监控 3.逻辑监控,执行顺序. 二.受监控的实体和检查点 Watchdog Manager监督软件的执行.监督的逻辑单位是受监 ...
- 7.windows-oracle实战第七课 --约束、索引
数据的完整性 数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则.数据的完整性使用约束.触发器.函数的方法来实现.在这三个方法中,约束易于维护,具备最好的性能,所以作为首选. 约束:not nu ...
- mysql 几个坑
浮点转int类型 更新合并换成插入 不要频繁更新超过20个字节的字段 程序逻辑得到数据处理后才还回连接
- android studio 导入eclipse项目后的报错解决
1.如何导入: 2.导入的时候会让你创建gradle,一直下一步,不用修改 3.编译, a.会报编码格式错误,如果有中文会报这个错,修改成utf-8 b.找不到类,解决办法 右键工程 引入外部的包,重 ...