Spring

spring 属于框架
框架:半成品项目,别人开发了一半,我们可以直接上手使用;
EJB :企业级 JavaBean , 将类的成员变量私有化、赋予 set/get 方法,提供有参无参构造已经
toString() 方法 ;
Spring 的理念: 一对一的轻量级一站式框架;
耦合:关系,业务层的代码和 dao servlet 层都有关系;
spring 解决耦合问题,就是减少各个类之间的关联;
创建对象的方式:
1. 通过 new 关键字创建;
2. 通过 反射 ( 所有框架的基础 ) 创建; spring 通过此种方式创建对象
 
学习 spring
1. 下载 spring, 前往 github 网站 找到网址 https://repo.spring.io/webapp/#/home
document 文档
总共分为三个包:
docs 包含所有学习的资料文档
docs --> spring-framework-reference --> index.html 学习文档的主页
libs 包含 spring 的全部 jar
总共 63 个文件, 其中只有 21 jar 21 Java 说明书 21 java 源码
spring-aop-5.2.9.RELEASE.jar 使用的时候 找最短的那个 才是真正的 jar
schema spring 的约束文件
xml 可拓展标记语言,标签可以自己定义,通过约束文件进行拓展;
html 超文本标记语言,标签是固定的;
 
了解 IOC DI
spring 的两大核心: IOC 控制反转 AOP 面向切面编程
IOC :控制反转
将对象创建的权限交由程序自己创建;
DI :依赖注入
在程序进行执行的过程中,程序自动将你需要使用的对象,赋值给成员变量中;
IOC DI 的关系:
两者描述的是同一概念,只是表达的方向不同,
 
创建一个 spring 项目
1. 新建一个工程, java 基础项目;
2. 将需要使用到的 spring jar 包导入到项目中;
spring-beans-5.2.9.RELEASE.jar 用来定义 spring 的中 bean 对象 ( JavaBean )
spring-context-5.2.9.RELEASE.jar 用来创建 applicationContext 对象,从而获取
bean 对象; spring-core-5.2.9.RELEASE.jar spring 的核心包,用来使用 ioc
spring-expression-5.2.9.RELEASE.jar 用来进行 spring 表达式的定义
spring-jcl-5.2.9.RELEASE.jar 用来进行日志功能的打印
3. 创建 spring 的配置文件,直接在 src 下创建 spring_config.xml 配置文件;复制配置文件中的内
容 从 core.html
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
4. 创建一个 Student 类,设置为 JavaBean 对象
5. 补充 spring_config.xml 中内容,在 beans 标签添加 标签,设置一个 student 对象
6. 使用测试类,获取 spring 容器中的 student 对象
// 1. 加载 spring 的配置文件 spring_config.xml context 就是 spring 的容器
ApplicationContext context = new
ClassPathXmlApplicationContext("spring_config.xml");
// 2. 获取 spring 中的对象 student
Student student = context.getBean("student", Student.class);
System.out.println(student);
 
spring 的容器 IOC
1.ApplicationContext 常用的容器对象 在加载容器的时候,就将容器中的全部对象进行创建;
三种使用方式:
1 、 通过 ClassPathXmlApplicationContext( 路径 );
通过类路径加载 ClassPath 类路径 可以直接使用 spring_config.xml 作为路径
2 、 通过 FileSystemXmlApplicationContext( 路径 );
FileSystem 通过本地系统路径进行加载文件 C:\Users\ck\Desktop\ 项目
\spring_demo4_1\src\spring_config.xml
3 、 通过 web.xml 自动加载配置文件
2.BeanFactory 旧的容器对象 在加载容器时,不会创建容器中的对象,只有在使用对象时才会创
建; 懒加载
使用 XmlBeanFactory(new ClassPathResource("spring_config.xml")) 方式 加载配
置文件;
 
spring-bean

spring中bean 指的就是 通过spring配置的对象

在配置文件 xx.xml 中 编写

 

bean的实例化方式

1. spring直接通过new进行创建

配置文件中:

测试类中: User user1 = (User) context.getBean("user1");

2. 静态工厂的方式 static

创建一个静态的工厂方法,进行创建对昂

3. 实例化工厂的方式

需要将工厂对象先创建出来;然后再通过工厂对象,进行调用创建对象的方法,创建出User对象;

 

bean的作用域

javase中取值:

singleton:单例模式 整个程序中只会存在一个当前对象 spring中bean默认 作用域值 即

spring中默认对象都为单例

节省内存空间,如果请求用户过多时,可能会造成堵塞;

prototype:原型模式 每次创建的对象都不是同一个; 多例模式

请求速度快,但是占用内存空间;

 

bean的生命周期

一个对象的创建、使用、销毁的过程;

创建方法: init-method 当对象被创建时,此方法同时被执行,再构造方法之后执行;

销毁方法: destroy-method 当对象被销毁时,此方法同时执行;

 
 
 

你可能感兴趣的:(Spring)