Spring
- 什么是Spring
spring是一个容器框架,它可以接管web层,业务层,dao层,持久层的各个组件,并且可以配置各种bean, 并可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以直接getBean(id),使用即可。 - 使用Spring的目的
就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的(Spring根据这些配置 内部通过反射去动态的组装对象) ,Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。 - 层次框架
说明:
web层:struts充当web层,接管jsp,action,表单,主要体现出mvc的数据输入、输出的处理、数据的显示。
model层:model层可以理解为包含了业务层、dao层、持久层,一个项目中,不一定每一个层次都有。
持久层:体现oop,主要解决关系模型和对象模型之间的阻抗。
Spring核心技术 - IOC
ioc(inverse of control)控制反转:所谓反转就是把创建对象(bean)和维护对象(bean)之间的关系的权力从程序转移到Spring的容器(spring-config.xml)。
说明:bean这对标签元素的作用:当我们加载spring框架时,spring就会自动创建一个bean对象,并放入内存相当于我们常规的new一个对象,而property中的value则是实现了“对象.set方法”,这里也体现了注入了概念。 - DI
di(dependency injection)依赖注入:实际上di和ioc是同一个概念,spring的设计者,认为di更准确的表示spring的核心。
spring提倡接口编程,在配合di技术就可以达到层与层解耦的目的,因为层与层之间的关联,由框架帮我们做,这样代码之间的耦合度降低,代码的复用性提高。 - AOP
aspect oriented programming(面向切面编程)
核心:在不增加代码的基础上,还增加新的功能;
理解:面向切面,其实是**把一些公共的“东西”拿出来,比如说,事务、安全、日志等这些方面。**也就是说:当你需要在执行一个操作(方法)之前想做一些事情(比如,开启事务,记录日志等等),那你就用before,如果想在操作之后做点事情(比如,关闭一些连接等等),那你就用after。其他类似。