1 Spring简介
1.1 Spring概述
具体的关于spring详细信息 看 Spring——百度百科
在这里我就简单的讲一下Spring的特性
Spring是一个轻量级 控制反转(IoC) 和面向切面(AOP)的容器框架
这里有三个特点:
- 轻量级
轻量级是相对于EJB(一个框架)来说的,EJB简单来讲就是很烦,关于EJB看EJB——百度百科,用画鸟来比喻,用EJB就是先要搭出一个苍鹰的架子,然后在画出蝉的形状,而用spring就可以很简单的直接了当的画出蝉的样子 - 控制反转(IOC)
IOC(Inversion of Control)如果你看了上面的Spring——百度百科的话,已经大体知道是个什么意思,IOC就是将创建对象的主动权给了spring容器,不需要自己在new一个对象了,就好比做菜,没有spring的话,之前都是自己做菜,有了spring,就好比去了饭馆,只需要告诉它你想吃什么菜,就好了。 - 面向切面(AOP)
这个可能不是很好理解,在程序中会有一些公共的事情,或者一些交叉事务,总是在你的业务处理的时候需要写相同的代码,这样你的代码就很烦,很乱,AOP就很好的解决了这个问题。看不懂没关系之后会详细的介绍,现在先留个印象
1.2 Spring模块说明
可以去 spring官网 看看
这里的每个组件都都在 Spring——百度百科有说明
2 安装Spring
- 不用maven ,自己下载,下载地址spring下载
- maven ,maven就是很简单,直接添加依赖就好了。下面的demo就是用的这个方法 ,如果不知道maven是什么的话,请看心态爆炸——maven
3 第一个demo(helloWorld)
- 环境说明 JDK1.8 ,Idea201903,4.1.6.RELEASE
第一步 依赖导入
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
说明
这些个jar包之间是互相依赖的,maven会自动导入依赖
比如这样spring-context依赖与aop,beans,core,express, 直接导入spring-contxt包就也行
第二步 编写一个类名字叫做Dog,写一个printHelloword(),
package first;
import java.io.Serializable;
public class Dog implements Serializable {
public void printHelloword(){
System.out.println("hello world");
}
}
第三步 编写配置文件
<?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">
<bean id="dog" class="first.Dog">
</bean>
</beans>
第四步 编写测试类
package first;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Demo {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Dog dog = (Dog)context.getBean("dog");
dog.printHelloword();
}
}
运行结果
对Helloworld解释
- 对第一步的解释
导入jar包 - 对第二部的解释
按照之前的方法写自己的类,有一个常识吧,一半来说,在自己的实体类中要让实现 Serializable接口(序列化接口) - 对第三部的解释
这个配置文件名字可以随便写,这个步骤就是告诉spring你自己有什么东西,创建Dog类的事情就由spring来完成。对dog类的定义是在标签里面。 - 对第四步的解释
- 步骤一,得到容器,spring也是一个组件,虽然它可以管理别的组件,但是自己得咱先给他创建出来啊。
- 步骤二,得到自己的bean,这一步就是从容器里面获取自己的组件,
- 步骤三,正常调用,厉害吧,到这一步,能调用方法, 但是之前咱们没有在代码里面new一个Dog对象,这里居然是可以运行的。这个对象就是spring帮我们创建的。我们直接运就好了
到这里一个小的demo就ok了,请看下一章节
spring 2