Spring 定义
? ? ? ? Spring 框架是一个集众多设计模式(工厂设计模式、代理设计模式、策略设计模式、单例设计模式...)于一身的`开源的`、`轻量级的`项目管理框架。致力于JAVAEE轻量级解决方案。
轻量级解决方案:提供一个简单的、同意的、高效的方式构造整个应用,并且可以给将单层框架以最佳的组合柔和在一起建立一个连贯的体系。
特点:Spring 框架的本质不在是替换项目中某个技术,二十将项目中使用单层框架进行 整合、管理、柔和。
Spring 框架核心作用
项目管理框架:就是用来对现有项目中组件进行管理(创建、使用、销毁)。用来负责项目中组件对象的 创建、使用、销毁。
import com.example.grocerystore.entity.UserService;
import org.springframework.beans.factory.annotation.Autowired;
public class Test {
UserService userService1 = new UserService();
@Autowired
UserService userService2;
/**
* userService1 通过 new 构造方法创建对象
* userService2 通过 Spring 标签获取对象
*
* 常见的组件管理有:Controller、Service、Dao
* 通常 entity 组件不交给 Spring 进行管理
*/
}
Spring 框架搭建
1、引入 Spring核心及相关依赖
- spring-core
- spring-beans
- spring-web
- spring-context
- spring-context-support
- spring-jdbc
- spring-aop
- spring-aspects
- spring-expression
- ...
2、引入 Spring 框架配置文件
? ? ? ? 配置文件:文件名称随便,位置随便(本项目中 resources 目录里面)
? ? ? ? 统一会把配置文件放在 resources 目录下,名称为 application.xml 或 spring.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">
</beans>
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:用来管理组件对象的创建
id:用来指定 spring 框架创建的当前组件对象在 spring(容器|工厂)中唯一标识(全局唯一)
class:指定管理组件对象的全限定名称(包.类)
-->
<bean id="UserService" class="com.grocery.service.UserService"></bean>
</beans>
4、启动容器
import com.grocery.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
// 启动容器
ApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
// 获取容器中对象
UserService userService = (UserService) context.getBean("UserService");
System.out.println(userService);
}
}
Spring 框架中核心思想
? ? ? ?AOP:切面编程
|