Spring框架学习day1--基础概念
- Spring基础部分
- **轻量级的**
- IOC:控制反转(对象由自己管理变成交给框架管理)
- AOP:面向切面编程
- 一站式
- Baen
- Spring体系结构
- Spring Hello World 搭建
Spring基础部分
Spring是一个轻量级的IOC、AOP的一站式java开发框架,为简化企业级应用开发而生的,
轻量级的
Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring 核 心功能的所需的 jar 总共在 3M 左右。Spring 框架运行占用的资源少,运行 效率高。
IOC:控制反转(对象由自己管理变成交给框架管理)
即Inversion of Control,缩写为IOC,是由Spring 管理对象,而非传统实现 中由程序代码直接操控.
spring的思想是将对象的生成和管理同一交给框架,需要的时候,直接从框架获取即可
Servlet:LoginDao logindao = new LoginDao();
IOC容器负责对象的实例化、对象的初始化、对象和对象之间的依赖关系、对象的销毁、对外提供对象的查找工作,对象整个生命周期都交给容器来做。
我们需要的对象都由IOC容器进行管理,不需要我们手动
正控:若要使用某个对象,需要自己去负责对象的创建
反控:若要使用某个对象,只需要从 Spring 容器中获取需要使用的对象, 不关心对象的创建过程,也就是把创建对象的控制权反转给了Spring框架.
AOP:面向切面编程
Aspect Oriented Programming 直译过来就是面向切面编程。AOP 是一种编 程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各 个层次的对象,而面向切面编程是将程序抽象成各个切面.
一站式
框架 Spring本身也提供了数据访问功能和web功能,以及可以很好的管理其他框架.
Baen
由Spring框架创建的对象,称为一个bean对象,和我们自己new的对象不一样
Spring体系结构
Spring Hello World 搭建
1.Maven项目
创建maven项目
2.导入对应jar包
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.2.RELEASE</version>
</dependency>
3.编写spring配置文件
在resources
创建xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"><!--配置哪些类需要spring框架进行管理-->
<bean id="admin" class="org.example.model.Admin"></bean>
</beans>
4.创建一个类
5.创建一个测试类
package org.example.test;import javafx.application.Application;
import org.example.model.Admin;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class test1 {public static void main(String[] args) {
// 以前在程序哪里需要对象,我们就在哪里new对象
// Adimin admin = new Adimin();/** 现在使用spring,把创建对象的控制权交给spring框架,这个称为控制反转(IoC)* 我们只需要在spring配置文件中配置好对象,然后通过spring的API来获取对象即可* 这样,程序的耦合度降低,代码更加灵活,更容易维护** ClassPathXmlApplicationContext("spring.xml");spring框架落地实现的功能的具体类,我们可以把它理解为一个容器(生成并管理对象)* 也有一些别称 IOC容器 Spring容器* */ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");Admin admin = (Admin)context.getBean("admin"); //获取spring容器中id为admin的bean对象Admin admin1 = context.getBean("admin", Admin.class); //获取spring容器中id为admin的bean对象,并指定类型为AdminSystem.out.println(admin);System.out.println(admin1);}
}