一、Spring是什么
Spring 发展到现在,已经不是单纯的应用框架了,它已经是包含Spring Framework、SpringMVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等多个不同子项目(模块)组成的成熟技术,而Spring Framework 是其他子项目的基础,也就是我们今天要学的东西。
Spring 框架(Spring Framework)是一个 Java 应用程序的一站式轻量级解决方案,它是 Spring 技术栈的核心和基础,是为了解决企业级应用开发的复杂性而创建的。有三个核心部分: **IoC(控制反转)**和 AOP(面向切面编程)和依赖注入(DI)。
二、为什么要学习Spring
-
方便解耦,简化开发
Spring 就是一个bean工厂,可以将所有对象的创建和依赖关系的维护交给 Spring 管理。
-
降低 Java EE API 的使用难度
Spring 对 Java EE 开发中非常难用的一些 API(JDBC、JavaMail等)都提供了封装,使这些 API 应用的难度大大降低。
-
方便程序的测试
使用JUnit4,可以通过注解方便地测试 Spring 程序。
-
AOP 编程的支持 Spring 提供面向切面编程
可以实现对程序进行权限拦截和日志编写等功能。
-
声明式事务的支持
只需要通过配置和注解就可以完成对事务的管理,而不用手动编写编程式事务。
spring除了不能帮助我们实现业务逻辑代码之外,其他的事情spring都尽量去帮我们简化了,使用spring可以帮助我们节约大量开发时间。目前很多的公司使用了spring,可以去各大招聘网站看一下,spring算是必备技能,所以一定要掌握。
三、体验spring
创建一个spring项目体验和上手一下spring
创建maven项目
采用聚合的方式管理项目,所以需要把src目录删除,把项目的pom.xml的打包方式改为pom,并导入以来管理
最终pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cc</groupId>
<artifactId>springdemo</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>spring-demo1</module>
</modules>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 配置maven编译的时候采用的编译器版本 -->
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
<!-- 指定源代码是什么版本的,如果源码和这个版本不符将报错,maven中执行编译的时候会用
到这个配置,默认是1.5,这个相当于javac命令后面的-source参数 -->
<maven.compiler.source>1.8</maven.compiler.source>
<!-- 该命令用于指定生成的class文件将保证和哪个版本的虚拟机进行兼容,maven中执行编译
的时候会用到这个配置,默认是1.5,这个相当于javac命令后面的-target参数 -->
<maven.compiler.target>1.8</maven.compiler.target>
<spring.version>5.3.27</spring.version>
<spring.txversion>5.3.25</spring.txversion>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.txversion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.txversion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
创建新的Module
聚合里面子项目会继承父里面的版本,需要什么导入什么就可以
在springdemo1 里面创建HelloWorld类
public class HelloWorld {
public void say(){
System.out.println("你好,Spring");
}
}
创建bean.xml
在resources文件夹下创建bean.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-4.3.xsd">
<bean id="say" class="com.cc.HelloWorld"></bean>
</beans>
创建主类测试
public class Test {
public static void main(String[] args) {
String path = "classpath:bean.xml";
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(path);
HelloWorld say = context.getBean("say", HelloWorld.class);
say.say();
}
}
输出
你好,Spring
下一篇: 认识 IOC 和 AOP