参考java学习网站:
简介:
spring是一个开源的jee框架。我们在写java程序的时候,一个类A里面的属性为另一个类B,当我们使用B的对象来调用B中的方法时,我们必须要在类A中先通过new B()来得到B的对象。当类与类之间的关系很复杂的时候,我们需要花费非常大的力气去处理这些依赖关系。
spring就是解决了类与类之间的各种复杂依赖关系的框架。
现在的spring框架已经成了java企业开发中不可缺少的一部分,各大主流框架,struts2、hibernate、spring mvc等都对spring有很好的支持与兼容性。
spring除了能管理各个类之间的依赖关系以外,还有非常好的aop、事物管理等功能。
注:因为Servlet和普通的java类不同,Servlet是单独运行在Servlet容器中的,所以当我们用spring正常注入,是没法正常注入Servlet的。所以,spring注入Servlet,需要在Servlet的init()方法中添加
ApplicationContext context=new FileSystemXmlApplicationContext("classpath:applicationContext.xml");//读取spring配置文件
this.myService=(MyService)context.getBean("myService");//从spring容器中获得myService实例
这样Servlet才可以正常获得MyService的实例。
配置spring配置文件:applicationContext.xml
和web.xml
文件
将业务服务类配置在spring中,将类的实例化交给spring管理。我们需要到类的实例时,通过spring获取就行,不需要我们在程序中编写new MyService()来获取。
轻量级容器架构
Spring最核心的就是:管理对象。包括三方的集成。
事务:开启,提交,回滚。
我们的类不需要实现或者继承Spring的类,就是普通类,Sping就可以管理。
Spring结构图:
Core: IoC 控制反转
AOP:面向切面的编程。主要用它的事务。
DAO: 数据访问对象。Spring中又做了一层封装,也提供了一些Hibernate风格的实现。
ORM: jpa不是实现,Hibernate是对jpa的实现。
JML:Java manager 扩展,Tomcat是基于JML实现的。