icecream

《Spring实战》读书笔记-第3章 高级装配

与世无争的帅哥 提交于 2020-10-14 12:55:08
本章内容: Spring profile 条件化的bean声明 自动装配与歧义性 bean的作用域 Spring表达式语言 在上一章中,我们看到了一些最为核心的bean装配技术。你可能会发现上一章学到的知识有很大的用处。但是,bean装配所涉及的领域并不仅仅局限于上一章  所学习到的内容。Spring提供了多种技巧,借助它们可以实现更为高级的bean装配功能。 在本章中,我们将会深入介绍一些这样的高级技术。本章中所介绍的技术也许你不会天天都用到,但这并不意味着它们的价值会因此而降低。 3.1 环境与profile 在开发软件的时候,有一个很大的挑战就是将应用程序从一个环境迁移到另外一个环境。开发阶段中,某些环境相关做法可能并不适合迁移到生产环境中,甚至即便迁移过去也无法正常工作。数据库配置、加密算法以及与外部系统的集成是跨环境部署时会发生变化的几个典型例子。 比如,考虑一下数据库配置。在开发环境中,我们可能会使用嵌入式数据库,并预先加载测试数据。 数据源的有三种连接配置,分别是 // 通过EmbeddedDatabaseBuilder会搭建一个嵌入式的Hypersonic的数据库 @Bean(destroyMethod = "shutdown") @Profile("dev") public DataSource embeddedDataSource() { return new