Spring框架基础
1.Spring概述
Spring是企业级JAVA生态应用中的一个开源、轻量级的软件开发框架。
2.Spring优势
Spring框架最大的优势是它的资源整合能力。
它通过对多种资源进行有效整合,从多个维度解决问题,提供了一套企业级软件开发的完整解决方案,从而简化了软件开发过程、降低软件开发周期及成本。
3.Spring应用场景
Spring主要用来整合资源,可以将其理解为运行管理(组织资源)者。Spring常用来整合连接池、JDBC、MyBatis、Hibernate、消息中间件等框架资源。
4.Spring的核心架构
Spring从2.0到现在的5.0版本,虽然在不断的更新,但其核心架构、核心组件基本不变,其具体架构(Spring 4.0)如下:
5.Spring核心模块
5.1、IOC模块(控制反转容器):对象创建、对象存储、对象依赖管理
5.2、DATA模块:整合JDBC、MyBatis、JPA等等
5.3、MVC模块:重点解决与表示层通讯问题
5.4、AOP模块:重点解决对象功能扩展问题
5.5、其他模块
6.Spring框架IOC模块
IOC是一种设计思想,控制反转思想的体现。
6.1Spring IOC简介
Spring中有一个核心容器,这个容器我们通常称之为IOC(Inversion of Control)容器。这个容器最核心的是控制反转思想的实现。它可以负责对象的创建、对象的存储(map)、对象的管理(依赖查找、依赖注入)。
6.2Spring IOC在项目架构中的定位
Spring IOC核心思想是控制反转,即有框架控制对象、由框架提供一个对象的全局访问点。
6.3 Spring IOC入门案例
6.3.1编程步骤
1、创建maven项目(jar包,项目名字SpringIOC)
2、添加Spring依赖(Spring-context 4.3.9.RELEASE)及配置文件(spring-configs.xml)
3、创建编写并配置java类(HelloService)
4、编写单元测试,初始化容器,获取java对象。
6.3.2编程运行结果图
6.3.3编程实现
1、创建maven项目,选择quickstart(jar包)
2.1、pom文件添加依赖
代码:
<dependencies>
<!-- 添加spring-context依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<!--添加单元测试依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
2.2、添加HelloService类
代码:
package com.zhou11506;
/**
* Spring IOC测试
* @author zhou11506
*/
public class HelloService {
//无参构造方法
public HelloService() {
System.out.println("HelloService()");
}
//sayHello测试方法
public void sayHello(){
System.out.println("Hello Spring IOC");
}
}
2.3、添加Spring-configs.xml配置文件
代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- 描述HelloService -->
<bean id="HelloService" class="com.zhou11506.HelloService" />
<!-- BeanDefinition 值对象 -->
</beans>
2.4、添加Test类测试
代码:
package com.zhou11506;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* 测试类,测试SpringIOC入门案例
* @author zhou11506
*/
public class TestSpringIOC {
public static void main(String[] args) {
//1初始化spring容器
String resource = "spring-configs.xml";
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(resource);
//2 获取bean对象(由spring提供)初始化的时候就构建了对象
HelloService hService = context.getBean("HelloService", HelloService.class);
//3 使用bean对象
hService.sayHello();
//4 释放资源
context.close();
}
}
2.5、输出结果
7.总结
以上为Spring的基本相关知识,希望能帮到你对Spring有一定的了解。文章中若有讲得不清楚或者有错的地方,烦请各位大神指正,谢谢!