第一章、Spring入门

第一章、Spring入门

一、Spring特点

(1)IOC解耦使用IOC机制避免硬编码造成程序耦合

​ Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理

(2)AOP:Aspect Orentied Programing 面向切面编程

​ Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能

(3)声明式事务管理

​ 只需要通过配置就可以完成对事务的管理,而无需手动编程

(4)对JDBC进行封装,更加灵活操作数据库

(5)提供MVC设计模式:Spring MVC

(6)提供文件上传,定时器等工具类

(7)对其他框架的支持(集成其他框架)

​ Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持

二、Spring框架结构

在这里插入图片描述- Data Access/Integration层包含有JDBC、ORM、OXM、JMS和Transaction模块。

  • Web层包含了Web、Web-Servlet、WebSocket、Web-Porlet模块。

  • AOP模块提供了一个符合AOP联盟标准的面向切面编程的实现。

  • Core Container(核心容器):包含有Beans、Core、Context和SpEL模块。

  • Test模块支持使用JUnit和TestNG对Spring组件进行测试。

三、Spring框架的功能总览

核心功能:

(1)Spring容器与bean的生命周期管理

在这里插入图片描述

在这里插入图片描述

(2)AOP

将辅助代码在不修改原来代码基础上织入到原始对象的代码中,对原来的代码增强.
在这里插入图片描述

(3)数据访问和集成

1.事务管理

​ 1.编程式事务

​ 2.无侵入性声明式事务

2.JDBCTemplate支持
3.DAO支持
4.ORM框架支持

​ Hibernate JPA MyBatis

(4)Web

​ SpringMVC

​ 视图技术

​ 其他WEB框架的集成

(5)外部系统集成

​ WEB Services EJB JMS JMX JCA CCI

​ Email 任务调度 动态语言支持 缓存

四、Spring快速入门

(1)引入Spring maven坐标

​ 在pom.xml引入spring-context maven坐标

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.15.RELEASE</version></dependency>

</dependencies>

(2)编写Spring核心配置文件

在src/main/resources右键-new-other-xml-XML File-next-applicationContext.xml,创建配置文件

名称:任意,约定:applicationContext.xml

内容:参考spring文档:spring-framework-5.1.5.RELEASE/docs/spring-framework-reference/core.html#spring-core

<?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>

​ 在程序中读取Spring配置文件,通过Spring框架获得Bean,完成相应操作

(3)HelloWorld 实现

核心包:

​ spring-framework-5.1.5.RELEASE-dist.zip

​ 包结构:org.springframework

Spring核心开发包:

spring-core-5.1.5.RELEASE.jar

​ 包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心。

spring-beans-5.1.5.RELEASE.jar

​ 所有应用都要用到的,它包含访问配置文件、创建和管理bean

​ 以及进行Inversion of Control(IoC) / Dependency Injection(DI)操作相关的所有类

spring-context-5.1.5.RELEASE.jar

​ Spring提供在基础IoC功能上的扩展服务,此外还提供许多企业级服务的支持,

​ 如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等。

spring-expression-5.1.5.RELEASE.jar

​ Spring表达式语言

public class HelloService {
    
    
    public String sayHello(String name) {
    
    
		return "Hello "+name;
	}
}
<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">
	<!--
  	id:bean的名称,一般约定:类名首字母小写
  	class:类的全限定名(包名+类名)
  -->
		<bean id="helloService" class="com.tjetc.service.HelloService"></bean>
</beans>
public static void main(String[] args) {
    
    
		//实例化Spring容器对象
		ClassPathXmlApplicationContext context = new 	ClassPathXmlApplicationContext("applicationContext.xml");
		//从容器对象拿bean
		HelloService helloService = (HelloService) context.getBean("helloService");
		//调用对象的方法
		String result = helloService.sayHello("李四");
		//打印结果
		System.out.println(result);
}

猜你喜欢

转载自blog.csdn.net/yubo_830/article/details/106290578