Spring环境搭建

Spring 框架概念

Spring 是众多开源java项⽬中的⼀员,基于分层的javaEE应⽤⼀站式轻量级开源框架,主要核⼼是IOC(控制反转/依赖注⼊)与 AOP(⾯向切⾯)两⼤技术,实现项⽬在开发过程中的轻松解耦,提⾼项⽬的开发效率。
在项⽬中引⼊ Spring ⽴即可以带来下⾯的好处 降低组件之间的耦合度,实现软件各层之间的解耦。可以使⽤容器提供的众多服务,如:事务管理服务、消息服务等等。当我们使⽤容器管理事务时,开发⼈员就不再需要⼿⼯控制事务.也不需处理复杂的事务传播。 容器提供单例模式⽀持,开发⼈员不再需要⾃⼰编写实现代码。 容器提供了AOP技术,利⽤它很容易实现如权限拦截、运⾏期监控等功能。
在这里插入图片描述
Spring 源码架构
Spring 总共⼤约有20个模块,由1300多个不同的⽂件构成。⽽这些组件被分别整合在核⼼容器(Core
Container)、Aop(Aspect Oriented Programming)和设备⽀持(Instrmentation)、数据访问及集成
(Data Access/Integeration)、Web、报⽂发送(Messaging)、测试6个模块集合中。

  1. 核⼼容器:Spring-beans 和 Spring-core 模块是 Spring 框架的核⼼模块,包含控制反转(Inversion
    of Control, IoC)和依赖注⼊(Dependency Injection, DI),核⼼容器提供 Spring 框架的基本功能。
    核⼼容器的主要组件是 BeanFactory,⼯⼚模式的实现。BeanFactory 使⽤控制反转(IOC) 思想
    将应⽤程序的配置和依赖性规范与实际的应⽤程序代码分开。
    Spring 上下⽂Spring Context:Spring 上下⽂是⼀个配置⽂件,向 Spring 框架提供上下⽂信息。
    Spring 上下⽂包括企业服务,例如 JNDI、EJB、电⼦邮件、国际化、校验和调度功能。
    Spring-Expression 模块是统⼀表达式语⾔(unified EL)的扩展模块,可以查询、管理运⾏中的对
    象,同时也⽅便的可以调⽤对象⽅法、操作数组、集合等。它的语法类似于传统EL,但提供了额
    外的功能,最出⾊的要数函数调⽤和简单字符串的模板函数。
  2. Spring-AOP:Spring-aop是Spring的另⼀个核⼼模块, 在Spring中,他是以JVM的动态代理技术为基
    础,然后设计出了⼀系列的Aop横切实现,⽐如前置通知、返回通知、异常通知等。通过其配置
    管理特性,Spring AOP 模块直接将⾯向切⾯的编程功能集成到了 Spring 框架中。所以,可以很容
    易地使 Spring 框架管理的任何对象⽀持 AOP。
  3. Spring Data Access(数据访问):由Spring-jdbc、Spring-tx、Spring-orm、Spring-jms和Spring-oxm 5
    个模块组成 Spring-jdbc 模块是 Spring 提供的JDBC抽象框架的主要实现模块,⽤于简化 Spring
    JDBC。
    Spring-tx 模块是SpringJDBC事务控制实现模块。使⽤Spring框架,它对事务做了很好的封装,通
    过它的Aop配置,可以灵活的配置在任何⼀层。
    Spring-Orm 模块是ORM框架⽀持模块,主要集成 hibernate, Java Persistence API (JPA) 和 Java Data
    Objects (JDO) ⽤于资源管理、数据访问对象(DAO)的实现和事务策略。
    Spring-Jms 模块(Java Messaging Service)能够发送和接受信息。
    Spring-Oxm 模块主要提供⼀个抽象层以⽀撑OXM(OXM 是 Object-to-XML-Mapping 的缩写,它是⼀
    个O/M-mapper,将java对象映射成 XML 数据,或者将 XML 数据映射成 java 对象),例如:JAXB,
    Castor, XMLBeans, JiBX 和 XStream 等。
  4. Web 模块:由Spring-web、Spring-webmvc、Spring-websocket和Spring-webmvc-portlet 4个模块组
    成,Web 上下⽂模块建⽴在应⽤程序上下⽂模块之上,为基于 Web 的应⽤程序提供了上下⽂。
    Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的⼯作。
  5. 报⽂发送:即Spring-messaging模块。
    Spring-messaging是Spring4 新加⼊的⼀个模块,主要职责是为Spring 框架集成⼀些基础的报⽂传
    送应⽤。
  6. 单元测试:即Spring-test模块。Spring-test模块主要为测试提供⽀持

Spring 框架环境搭建

环境要求
JDK 版本:
JDK 1.7 及以上版本
Spring版本:
Spring 5.x版本
新建 Maven 项⽬

  1. 创建 Maven 的普通 Java 项⽬
    在这里插入图片描述
  2. 设置项⽬的坐标
    在这里插入图片描述
  3. 设置项⽬的 Maven 环境
    在这里插入图片描述
  4. 设置项⽬的名称和存放的⼯作空间
    在这里插入图片描述
    调整项⽬环境
  5. 修改 JDK 版本
<properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <maven.compiler.source>1.8</maven.compiler.source>
 <maven.compiler.target>1.8</maven.compiler.target>
</properties>
  1. 修改单元测试 JUnit 版本
<dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.12</version>
 <scope>test</scope>
</dependency>

添加 Spring 框架的依赖坐标
Maven仓库:https://mvnrepository.com/

<!-- 添加Spring框架的核⼼依赖 -->
<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-context</artifactId>
 <version>5.2.4.RELEASE</version>
</dependency>

编写 Bean 对象

package com.xxxx.service;
public class UserService {
 public void test(){
 System.out.println("Hello Spring!");
 }
}

添加Spring 配置⽂件

  1. 在项⽬的 src 下创建⽂件夹 resources(Alt + insert)
  2. 将 resources 标记为资源⽬录
    在这里插入图片描述
  3. 在 src\main\resources ⽬录下新建 spring.xml ⽂件,并拷⻉官⽹⽂档提供的模板内容到 xml 中。
    配置 bean 到 xml 中,把对应 bean 纳⼊到 Spring 容器来管理
    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
 https://www.springframework.org/schema/beans/spring-beans.xsd">
 <!--
 xmlns 即 xml namespace xml使⽤的命名空间
 xmlns:xsi 即xml schema instance xml 遵守的具体规范
 xsi:schemaLocation 本⽂档xml遵守的规范 官⽅指定
 -->
 <bean id="userService" class="com.xxxx.service.UserService"></bean>
</beans>
  1. 在 spring.xml 中配置 Bean 对象
<!--
 id:bean对象的id,唯⼀标识。⼀般是Bean对象的名称的⾸字⺟⼩写
 class:bean对象的类路径
-->
<bean id="userService" class="com.xxxx.service.UserService"></bean>

加载配置⽂件,获取实例化对象

package com.xxxx;
import com.xxxx.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
 public static void main(String[] args) {
 // 获取Spring上下⽂环境 (加载配置⽂件)
 ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
 // 通过getBean⽅法得到Spring容器中实例化好的Bean对象 (实例化Bean对象)
 // userService代表的是配置⽂件中bean标签的id属性值
 UserService userService = (UserService) ac.getBean("userService");
 // 调⽤⽅法 (使⽤实例化对象)
 userService.test();
 }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值