目录
第一章:Spring框架概述
1.1、概述
1.2、优点
第二章、ioc控制反转
2.1、ioc的概念
2.2、ioc实现步骤
2.4、使用容器给对象赋值
2.5、基于XML的DI
第一章:Spring框架概述 1.1、概述
Spring出现在2002年左右,解决了企业开发的难度,减轻对项目模块之间的管理,类和类之间的管理,帮助开发人员创建对象,管理对象之间的关系。Spring核心计算ioc、aop。能够实现模块之间,类之间的解耦合。
1.2、优点1)轻量:Spring的所需要的jar包都非常小,一般1M以下,几百kb。核心功能所需要的jar包总共3M左右。Spring框架运行占有资源少,运行效率高,不依赖其他jar。
2) 针对接口编程,解耦合
3) AOP 编程的支持
4) 方便集成各种优秀框架
1)Spring的第一个核心功能 ioc
2)ioc :控制反转,是一个理论,概念,思想。
描述的:把对象的创建,赋值,管理工作都交给代码之外的容器实现,也就是对象的创建是有其它外部资源完成的。
控制:创建对象,对象的属性赋值,对象之间的关系管理
反转:把原来的开发人员管理,创建对象的权限转移给代码之外的容器实现,由容器代替开发人员管理对象,创建对象,给对象赋值
正转:由开发人员在代码中,使用new构造方创建对象,开发人员主动管理对象
容器:可以是一个服务器软件,也可以是一个框架
2.2、ioc实现步骤-
创建maven项目
-
加入maven的依赖
org.springframework spring-context5.2.5.RELEASE -
创建类(接口和他的实现类)
接口: public interface SomeService { void sout(); } ----------------------------------------------------- 接口的实现类: public class SomeServiceimp implements SomeService { @Override public void sout() { System.out.println("SomeServiceimp类被创建了"); } }
-
创建Spring需要使用的配置文件,声明类的信息,这些类由Spring创建和管理
1)在配置文件中声明对象
2)运行代码的时候使用:ApplicationContext 接口(容器)
ApplicationContext 用于加载 Spring 的配置文件,在程序中充当“容器”的角色
然后使用ClassPathXmlApplicationContext 实现类进行加载
@Test public void stou1(){ //1、指定spring配置文件的名称(搜索从根目录开始) String config = "beans.xml"; //ApplicationCintext就是表示spring容器,通过容器获取对象 //ClassPathXmlApplicationContext:表示从类路径中加载spring的配置文件 ApplicationContext ac = new ClassPathXmlApplicationContext(config); //从容器中获取某个对象,你要调用容器对象的方法 //getBean(配置文件中的bean的id值) SomeService someService = (SomeService) ac.getBean("配置文件中id的值"); //使用spring创建好的对象,调用对象中的方法 someService.sout(); } }
3)当代码执行到ClassPathXmlApplicationContext(config);时候会去读取spring的配置文件会去创建配置文件中的
获取对象数量:getBeanDefinitionCout();
获取对象名称:getBeanDefinitionNames();返回的是一个数组
2.4、使用容器给对象赋值1)在Spring的容器中给java对象的属性赋值使用DI
DI:依赖注入,表示创建对象,给属性赋值
2)DI的实现语法有两种:
1、使用Spring的配置文件中,使用标签和属性完成,叫做基于xml的di实现
2、使用Spring中的注解,完成属性赋值,叫做基于注解的di实现
3)di的语法分类:
1、set注入(设值注入):Spring调用类的set方法,在set方法可以实现属性赋值
2、构造注入:Spring调用类的有参构造方法,创建对象,在构造方法中完成赋值
2.5、基于XML的DI1)简单类型的set的设值注入:
首先需要声明对象,然后通过
2)简单类型:spring中规定java的基本数据类型和String都是简单类型
3)语法格式:
注意:一个
PS:set的设置注入是通过调用类中的set放方法来赋值的,所以声明类中的属性必须要有set方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)