Spring课堂笔记讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一篇:Spring概述

1、Spring框架内核

IoC(Inverse Of Control):反转控制。

AOP(Aspect Oriented Programming):面向切面编程。

2、Spring的体系结构

3、Spring开发所需的资源

第二篇:Spring核心之IoC(控制反转)1、拷贝核心jar包:

2、IoC的概念:

3、资源交给Spring管理

3.1建立spring的配置文件:

a、schema约束文档资料位置

b、schema引入后xml没有提示的解决方案

c、把DAO实现交给Spring容器(Map结构)管理

a、把核心jar包加入到classpath中

b、启动Spring容器

4、依赖注入:DI(Dependency Injection)

5、Spring核心类或接口

核心接口:ApplicationContext

ClassPathXmlApplicationContext:加载位于classpath中的spring配置文件。

FileSystemXmlApplicationContext:加载位于本地磁盘上的spring配置文件。

了解:BeanFactory和ApplicationContext获取Bean的区别

6、Bean的初始化

●方式一:使用默认的构造方法。(推荐,重点)

注意:Bean要有默认的构造方法

●方式二:静态工厂方法初始化(遗留老系统)

●方式三:实例工厂方法初始化(遗留老系统)

7、bean的存活范围

:

取值:

singlton(默认值):单例的。在spring容器中实例只有一个。

prototype:非单例的。用的时候都会创建新的对象。

request:请求范围。(只能用在web环境下)

session:会话范围。(只能用在web环境下)

8、bean的生命周期有关配置

注意:

9、依赖注入:重点

9.1通过构造方法注入

9.2setter属性注入:重点

9.3p名称空间:

9.4SpEL:Spring Expression Language

9.5注入数组或集合

10、团队开发

按模块编写spring配置文件。

注意事项:

●同一个xml文件中不能出现相同id名称的bean

●多个xml文件可以出现id相同名称的bean,后导入的配置的会覆盖前面的配置。

11、使用注解

11.0概述

作用:替代xml作为配置文件。

注解VS XML

注解:优点---开发直观,开发效率高。缺点---硬编码。

XML:缺点---开发效率低,麻烦。优点---运行期间可配置。

11.1Spring中使用注解进行配置

a、jar包:还是使用核心的5个jar即可

b、spring配置文件指定bean的搜索路径

c、实例化资源

11.2常用的注解

●资源管理:

方式一:

@Component:把bean交给spring容器管理。默认bean的名称就是类名首字母小写方式二:

@Component的衍生注解,主要用在三层架构开发中

@Controller:表现层使用,一般动作类上

@Service:业务层使用

@Repository:持久层使用

----------------------------------

●资源注入:

方式一:

@Autowired:自动注入

required属性:

默认值是true。注入失败,抛出错误说找不到对应的bean

false:注入失败,抛NullPointerException

@Qualifier:指定要注入的bean的名称。要配置@Autowired来使用

@Value:注入基本类型数据和String

按类型自动注入的注意事项:

●注入属性类型为class

⏹如果类名(简单类名)对应的类只有一个,注入成功

⏹如果类名(简单类名)对应的类有多个,注入失败

●注入属性类型为interface

⏹如果不存在对应接口的实现类,注入失败

⏹如果对应接口的实现类为一个,注入成功

⏹如果对应接口的实现类为多个,注入失败

方式二:

@Resource:功能和@Autowire是类似的。默认按照类型进行注入。此注解是Spring框架对JSR-250的支持。

@Autowire和@Qualifier可以按照指定名称进行注入;@Resource(name="bean的名称";

●生命周期有关注解:

●针对老系统,bean是由工厂创造的

12、Spring中使用JUnit

a、导入jar包

新增一个jar包:spring-test-3.2.0.RELEASE.jar

b、如何使用单元测试

第三篇:Spring核心之AOP(面向切面编程)

1、代理模式

●静态代理:代理类已经写出来了,实实在在的存在的。

●动态代理:(Spring采用的)运行期间生成的,内存中的类。

⏹基于接口的动态代理:JDK代理,Proxy。编译时快,运行时慢。

⏹基于子类的动态代理:CGLIB。编译时慢,运行时快

导入cglib的jar包:

Spring框架用的代理:目标类实现了某个接口,用JDK代理;目标类没有实现任何接口,用CGLIB代理。

相关文档
最新文档