再学习之Spring(依赖注入).
2017-12-08 09:27
232 查看
一、概述
Spring框架是以 简化Java EE应用程序的开发 为目标而创建的。Spring可以实现很多功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入和面向切面编程。几乎Spring所做的任何事情都可以追溯到下述的一条或多条策略:基于POJO的轻量级和最小侵入性编程;
通过依赖注入和面向接口实现松耦合;
基于切面和惯例进行声明式编程;
通过切面和模板减少样板式代码。
Spring的三个基本愿景:
使用DI来实现低耦合
使用AOP切面实现高内聚
使用模板消除样板式代码,比如jdbcTemplate
二、Bean
容器是Spring框架的核心。Spring容器使用DI管理构成应用的组件(Bean),它会创建相互协作的组件之间的关联。毫无疑问,这些对象更简单干净,更易于理解和重用,更易于单元测试。Spring为每个Bean定义了多种作用域,默认都是以单例的模式创建的:
单例(Singleton):在整个应用中,只创建bean的一个实例。
原型(Prototype):每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例。
会话(Session):在Web应用中,为每个会话创建一个bean实例。
请求(Rquest):在Web应用中,为每个请求创建一个bean实例。
Bean的生命周期:
public static class FieldValueTestBean { @Value("#{ systemProperties['user.region'] }") private String defaultLocale; public void setDefaultLocale(String defaultLocale) { this.defaultLocale = defaultLocale; } public String getDefaultLocale() { return this.defaultLocale; } }
View Code
Spring为SpEL创造了两种特殊的选择属性方式:systemEnvironment和systemProperties.
systemEnvironment包含了应用程序所在机器上的所有环境变量。
systemProperties包含了java应用程序启动时所设置的所有属性。
五、JUnit 测试
@RunWith(SpringJUnit4ClassRunner.class) //@ContextConfiguration(classes = JavaConfig.class) 加载配置类 @ContextConfiguration(locations = "classpath:applicationContext.xml") //加载配置文件 public class Test02 { @Resource(name = "iceCream") private Dessert dessert; @Test public void test02(){ dessert.sys(); } }
相关文章推荐
- Spring学习—控制反转(IOC)Spring依赖注入(DI)和控制反转(IOC)
- Spring.NET学习笔记6——依赖注入(应用篇) Level 300
- Spring学习笔记(8)——依赖注入
- Spring学习3—控制反转(IOC)Spring依赖注入(DI)和控制反转(IOC)
- Spring学习之旅(一) 依赖注入(DI)与Spring Bean的装配
- Spring学习笔记(8)——依赖注入
- Spring学习资料之 依赖注入(一)
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
- spring学习之IOC(控制翻转)和ID(依赖注入) -- 坚持每天写收获
- Spring 4 学习笔记-依赖注入(一)
- Spring基础学习三 : 依赖注入
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
- Spring学习——DI(依赖注入)
- Spring基础学习(四)——DI(依赖注入)
- Spring学习资料—依赖注入(三)
- Spring学习之——依赖注入(下)
- 学习Spring——依赖注入
- Spring学习资料—依赖注入(四)
- Spring学习心得(6)-- spring DI(依赖注入)
- Spring学习之 jdbcTemplate操作