Spring 框架不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。Spring 框架还是一个超级粘平台,除了自己提供功能外,还提供粘合其他技术和框架的能力。
Spring的优势
1、方便解耦,简化开发
Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给Spring 管理。
2、方便集成各种优秀框架
Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Struts2、Hibernate、MyBatis 等)的直接支持。
3、降低 Java EE API 的使用难度
Spring 对 Java EE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等)都提供了封装,使这些 API 应用的难度大大降低。
4、方便程序的测试
Spring 支持 JUnit4,可以通过注解方便地测试 Spring 程序。
5、AOP 编程的支持
Spring 提供面向切面编程,可以方便地实现对程序进行权限拦截和运行监控等功能。
6、声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无须手动编程。
Spring可以方便编程
Spring核心之IoC控制反转
IoC的概念
IoC 是指在程序开发中,实例的创建不再由调用者管理,而是由 Spring 容器创建。Spring 容器会负责控制程序之间的关系,而不是由程序代码直接控制,因此,控制权由程序代码转移到了 Spring 容器中,控制权发生了反转,这就是 Spring 的 IoC 思想。
相当于把程序实例的创建交个spring处理,不用程序代码直接控制。
使用Spring容器创建对象
在配置文件中创建对象
创建对象:声明bean,通知spring要创建哪个类的对象,一个bean标签声明一个对象:
id=“自定义的对象名称” ,要求唯一
class=“类的完全限定名” 包名+类名,spring底层是反射机制创建对象,所以必须使用类名
相当于 Team team1=new Team();创建好的对象放入一个集合Map中
<bean id="team1" class="com.kkb.pojo.Team"></bean>
在需要创建对象时,就可以从spring容器中调用
//1、指定spring配置文件的名称
String springConfig="application.xml";
//2:applicationContext
ApplicationContext applicationContext = new FileSystemXmlApplicationContext(String configLocation);
//3、获取容器中的对象
Team team1= (Team) applicationContext.getBean("team1");