Spring拥有两大特性:IOC(控制反转),AOP(面向切面编程)。
Spring注解
Spring为我们提供了多个方便的注解,例如:
@Controller:标明为控制层组件
@Service:服务层组件
@Repository:DAO层
@Compoent:标明是受Spring本身所管理的一个组件
@Bean:注解的方法会产生一个Bean对象,该对象由Spring管理并放到IoC容器中
@Autowired和@Resource 这两个注解用的比较多,这里就不做阐述了
接下来我们说说控制反转(IOC)
控制反转,简单点说,就是创建对象的控制权,被反转到了Spring框架上。
通常,我们实例化一个对象时,都是使用类的构造方法来new一个对象,这个过程是由我们自己来控制的,而控制反转就把new对象的工交给了Spring容器。
IOC主要依靠依赖注入的方式去实现
组件不做定位查询,只提供标准的Java方法让容器去决定依赖关系。容器全权负责组件的装配,把符合依赖关系的对象通过Java Bean属性或构造方法传递给需要的对象。
IOC容器
IoC容器:具有依赖注入功能的容器,可以创建对象的容器。IoC容器负责实例化、定位、配置应用程序中的对象并建立这些对象之间的依赖。
依赖注入
依赖注入:又叫DI,由IoC容器动态地将某个对象所需要的外部资源(包括对象、资源、常量数据)注入到组件(Controller,