1.Spring
1.Core Container
1.1 beans与core它们提供Spring框架最基本的功能,包含ioc与di
1.2 context上下文对象,基于beans与cores
1.3 spel它是Spring提供的一个表达式语言。
2.Data access/intergration
2.1数据访问
2.2 集成
3.web
3.1 Spring本身提供Springmvc
3.2 也可以与其他web层集成
4.AOP
4.1 AOP大部分情况下使用动态代理来完成。
5.Test
使用Spring可以方便的进行测试。
2.IOC 与 DI
--Spring的jar包
1.1 DOCs存放API与规范文档
1.2 Libs开发的jar包
1.3 Schema开发过程中的xml和schema的约束文档
--2.Spring开发环境的搭建
在Spring开发中,我们需要根据不同情况来导入不同的jar包。
对于IOC与DI,我们只需要使用Spring的核心功能。
2.1 beans
2.2 context
2.3 core
2.4 spel
我们使用Spring框架也会使用到配置文件,我们需要在src下创建一个关于Spring的配置文件,一般情况下名称叫:applicationContext.xml
问题:applicationContext.xml约束?
找到,xsd-configuration.html
--3.IOC是什么?解决什么问题?原理是什么?
IOC:控制反转。在程序开发中所说的IOC其实简单说,就是原来由我们自己实例化的对象交给Spring容器来初始化。这时对象初始化的权利就会反转。
3.spring使用步骤
@test
public void test(){
IUserService userService = new UserServiceImpl();
userService.sayHello();
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
IUserService userService = (IUserService) applicationContext.getBean("userService");
userService.sayHello();
}
<bean>
<bean id="userService" class="cn.ioc.UserServiceImpl"></bean>
</bean>
4.DI:依赖注入
--依赖注入
在Spring框架负责创建Bean对象时,动态将依赖对象注入到Bean组件。
Public class UserServiceImpl implements IUserService{
private String info;
}
<bean>
<bean id="userService" class="cn.ioc.UserServiceImpl">
<property name="info" value="hallo"></property>
</bean>
</bean>
简单的说,这时UserServiceImpl中的info的属性值就是Hallo。
## 问题 ##:IOC和DI的区别???
***IOC反转,是指对象实例化权利有Spring容器来管理的。***
***DI依赖注入在Spring创建对象的过程中,对象所依赖的属性,通过配置注入到对象中。属性的注入的过程。***