1,Spring框架:是应用层的框架,用来整合其它框架
1)核心:IOC容器
2)AOP:面向切面(方面)的编程
3)对其他方面的支持:JDBC,SpringMVC,WebService,...
4)集成其它框架:
spring+struts2+hibernate
spring+struts2+mybatis
DI 依赖注入
IoC 反转控制
AOP 面向方面的编程
声明式事务管理
Spring:IoC容器
IoC容器:创建对象,管理对象之间的关系
1)如何获得Spring容器对象
2)如何告诉Spring要创建的对象?
①配置XML
②注解annotation
3)Spring如何创建对象:
缺省:
1)默认的构造方法
2)创建容器对象时
4)获得Spring创建的对象
Spring容器对象(接口):BeanFactory 基础,高层
↑继承
ApplicationContext 应用程序
↗ ↑ ↑继承
实现 ↗ ↑ WebApplicationContext Web应用
↗ 实现 ↑
实现类: ↗ ClassPathXmlApplicationContext 类路径
FileSystemXmlApplicationContext 文件路径
Bean对象的作用域:scope="singleton|prototype"
单例 原型
另一种创建对象的方法:
工厂方法:
注解:
XML文件:
1)加入命名空間:context
2)定义组件自动扫描的包
注解:类似于<bean>
@Component 用在一般类
@Controller 用在action类
@Service 用在service类
@Repository 用在dao类
注入:
@Autowired 写在set方法或构造方法前
注入普通值: @Value("值"):写在方法(包括构造方法和普通方法)参数前