第一章 Spring 的基本应用
- Spring 框架的优点:
非侵入式设计
方便解耦、简化开发
支持 AOP
支持声明式事务处理
方便程序的测试
方便集成各种优秀框架
降低 Java EE API的使用难度 - 体系结构:
1.核心容器
• Beans模块:提供了BeanFatory,是工厂模式的经典实现,Spring将管理对象称为Bean。
• Core核心模块:提供了Spring框架的基本组成部分,包括loC和DI功能。
2.数据访问/集成
• JDBC模块:提供了一个 JDBC 的抽象层,大幅度地减少了在开发过程中对数据库操作的编码。
• ORM模块:对流行的对象关系映射Apl。
3.其他模块
• AOP模块:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性。
• Aspects模块:提供了与 AspectJ 的集成功能,AspectJ 是一个功能强大且成熟的面向切面编程 (AOP) 框架。 - 重要代码:
//初始化 spring容器,加载配置文件
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext( “applicationContext.xml”);
//通过容器获取 类的 实例
类名 对象= (类名) applicationContext.getBean(“配置给spring的bean的id”); - 依赖注入DI
<!--添加一个id为userService的实例-->
<bean id="userService" class="类路径">
<!--将id为userDao的Bean实例注入到userService实例中-->
<property name="userDao" ref="userDao"/>
</bean>
- name 属性表示 Bean实例中的相应属性名,ref属性用于指定其属性值
Spring依赖注入通常有哪些实现方式,列举并分别进行说明。
- 属性setter方法注入:调用无参的构造器或无参的静态工厂方法实例化Bean后,再调用该Bean的setter方法。
- 构造方法注入:通过调用带参数的构造方法来实现,每个参数代表着一个依赖。