spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,是一个分层的javaEE一站式轻量级开源框架.
简介:
Spring就像是整个项目中装配bean(对象)的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。(包括:对象的创建、对象之间的关系)
总结:Spring框架,可以理解为是一个管理者:管理整个分层架构(MVC)中的每一个对象;(每一个对象称之为bean)
spring 的特点:
优点:
轻量:Spring 框架运行占用的资源少,运行效率高。不依赖其他 jar
针对接口编程,解耦合:Spring 提供了 Ioc 控制反转,由容器管理对象,对象的依赖关系。原来在程序代码中的对象创建方式,现在由容器完成。对象之间的依赖解耦合。
AOP 编程的支持:通过 Spring 提供的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松应付。
方便集成各种优秀框架:Spring提供了对各种优秀框架(如 Struts,Hibernate、MyBatis)等的直接支持。简化框架的使用。Spring 像插线板一样,其他框架是插头,可以容易的组合到一起。
缺点:
- 最大的缺点就是:配置繁琐,启动慢
- 经常要考虑第三方工具的兼容性
- 项目的依赖管理耗时耗力
框架学习什么?
Spring最主要的学习内容:两个核心 :Ioc+Aop
Spring框架是一个软件,其它人写好的软件,所以我们要掌握的就是:
目的:管理对象
Spring的核心思想是IOC(控制反转),把对象的控制权给了Spring,(底层是通过反射)即:不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。IOC控制反转:(Inversion Of Control),即就是:将对象的控制权从自己new改为跟Spring要;
简介:
方便解耦,简化开发,AOP编程支持,声明式事务支持,集成Junit更加方便的进行分层测试,方便集成各种优秀框架.
//创建容器对象
ApplicationContext ac = new ClassPathXmlApplicationContext(config);
//根据bean标签的id获取创建好的对象,getBean返回Object类型,要强转。通过service调用该类的方法
SomeService service = (SomeService) ac.getBean("someService");
//获取容器中定义的对象的数量
int nums = ac.getBeanDefinitionCount();
//容器中每个定义的对象的名称,知道了对象的名称,就可以通过getBean获取创建好的对象。
String[] names = ac.getBeanDefinitionNames();