Spring的Bean管理(XML方式)
时间:2022-07-28
本文章向大家介绍Spring的Bean管理(XML方式),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Spring的Bean管理(XML方式)
Bean实例化的三种方式
- 无参构造器的方式
- 静态工厂的方式
- 实例工厂的方式
Bean的配置
Bean的作用域
singleton:默认单例模式
protype
Bean的生命周期
- 初始化
- 设置属性
- 设置Bean名称:setBeanname
- 了解工厂信息
- 初始化前方法....(后处理bean,作用:AOP增强)
- 属性设置后方法
- 初始化方法
- 初始化后方法
- 执行业务方法
- 执行spring的destroy方法
- 调用
<bean destory-method="customerDestroy">
指定销毁方法custemDestroy
Spring的属性注入
对于类成员变量,注入方式有三种
- 构造函数注入
- 属性setter方法注入
- 接口注入
Spring支持前两种。
p名称空间
为了简化XML文件配置,Spring从2.5开始引入一个新的p名称空间
SpEL注入
spring expression language,Spring表达式语言,对依赖注入进行简化
语法:#{表达式}
复杂类型的属性注入
- 数组类型
- List
- Set
- Map
- Properties
类增强
Spring的Bean管理(注解方式)
@Component 描述Spring框架中Bean
-
@Repository
用于对DAO实现类进行标注 -
@Service
用于对Service实现类进行标注 -
Controller
用于对Controller实现类进行标注
属性注入--注解方式
@Value("xxx")
@Autowired
@Qualifier
@Resource(name="userDao")
Spring的其他注解
@PostConstruct
初始化
@PreDestroy
销毁
@Scope
传统XML配置和注解配置混合使用
XML方式的优势:结构清晰,易于阅读
注解方式的优势:开发便捷,属性注入方便
XML与注解的整合开发
- 引入context命名空间
- 在配置文件中添加context:annotation-config标签
- HDU 5752 Sqrt Bo【枚举,大水题】
- 移动测试 Appium源码初探
- UESTC 1599 wtmsb【优先队列+排序】
- BZOJ 1029: [JSOI2007]建筑抢修【优先队列+贪心策略】
- UVA 1030 - Image Is Everything【模拟+思维+迭代更新】
- C/C++中对链表操作的理解&&实例分析
- COGS 2482. Franky的胡子【二分,高精度】
- 【AlphaGo Zero 核心技术-深度强化学习教程代码实战02】理解gym的建模思想
- Kruscal(最小生成树)算法模版
- BZOJ 3680: 吊打XXX【模拟退火算法裸题学习,爬山算法学习】
- 区块链概况:什么是比特币
- 简化版桶排序操作模版
- BZOJ 3670: [Noi2014]动物园【KMP变形 】
- 【延迟注入】A5站长网某站存在SQL注入漏洞
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- MySQL 的全文索引.
- Swift Reusable开源库使用
- 面试官:聊聊你读过的开源代码中用到的设计模式
- Swift Moya的简单使用
- 信用风险建模 in Python 系列 5 - 阈值模型概述
- 理解 Kubernetes 的亲和性调度
- CppSQLite - C++ Wrapper for SQLite
- 在.NET Core中使用MongoDB明细教程(3):Skip, Sort, Limit, Projections
- wsl 2 unbuntu 部署 asp.net core 使用 nginx 做反向代理,调试文件上传失败
- .NET Core + K8S + Apollo 玩转配置中心
- 休眠与唤醒机制
- Guava - 布隆过滤器的使用
- [浅析] 特定场景下代替优化 if-else 的方案 (二)
- 面试官:mysql如何重置自增id
- 如何在kubernete集群上部署springboot应用