什么是Spring
Spring是2003年兴起,一个轻量级的、非侵入式的、IOC 和AOP的一站式框架,简化企业级应用开发
轻量级:指的是核心jar包比较小
非侵入式:框架代码不会侵入到业务代码,业务代码类不会实现或继承框架中的接口和类
IOC: Inversion of Control 反转控制/控制反转
以前使用对象,在哪儿用,在哪儿new
IOC思想是框架将所有使用的对象进行管理(创建,功能增强,销毁)
在哪儿使用,在哪儿注入
AOP: Aspect Oriented Programming 面向切面编程,将公共的动能进行提取,然后统一管理
一站式框架:Spring 还对jdbc,对web层进行封装,对事物管理......
Spring体系架构
Core Container(核心容器):
Beans: 管理Beans
Core: Spring 核心
Context :配置文件
ExpressionLanguage : SpEl 表达式
AOP(切面编程)
AOP框架: Aspects
Data Access(数据库整合):
JDBC,ORM,OXM,JMS,Transaction
Web(MVC Web开发):
Web,Servlet,Portlet,Struts
Test(Junit整合)
Spring环境搭建
1.创建maven项目
2.导入spring核心基础jar包
<!-- spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
3.编写spring配置文件
<?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-指的是由spring管理的对象称为bean,spring可以添加额外的功能
scope="singleton" bean 的作用域
singleton : 单例的只创建一个对象,再spring启动时就会建好
prototype : 原型的,每次都会创建一个对象,在获取时才创建
-->
<bean id="admin" class="com.ffyc.spring.model.Admin">
<!-- class="实体类位置" -->
</bean>
</beans>
4.编写Admin实体类
public class Admin {
public Admin() {
System.out.println("无参构造");
}
}
5.测试spring
public class Test {
public static void main(String[] args) {
//读取配置文件,生成xml文件配置的类的对象
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
//IOC控制反转,将生成对象的权力反转给spring框架
Admin admin = context.getBean("admin",Admin.class);
System.out.println(admin);
}
}
6.测试结果