什么是Spring
轻量级的开源javaEE框架
Spring有什么特点
- 方便解耦,简化开发
- AOP变成支持
- 方便程序测试
- 方便和其他框架整合
- 方便进行事务操作
- 降低API开发难度
- java源码是经典学习规范
Spring的核心是什么
AOP面向切面变成,IOC 反转控制
Spring架构图中
使用Spring完成一个小功能
使用Spring得到 Function的对象,并用这个对象调用 test() 输出 以下内容
public class Function {
public void test() {
System.out.println("这是一个spring程序");
}
}
步骤一
创建一个maven项目,目录结构如下,java项目和maven的目录结构不同,根目录也不同 注意区分
首先导入spring项目启动必要的 5个包
在spring架构图中 Core Container中的 4个包
Spring-core
Spring-Beans
Spring-context
Spring-Expression
和一个Commons - logging包 用来记录spring的日志操作, 强制要求导入, 不然会报错
Commons - logging包的作用:
它是一个更上层的一个抽象, 叫日志抽象, 如果配了有log4j 它就会去调用log4j;如果没有就去找jdk的log,如果还是没有,他就会有自己的一套调用,用这个的好处就是可以对日志工具进行更换
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<!--用来记录spring的日志操作, 强制要求导入, 不然会报错-->
<!--commons-logging.jar:
它是一个更上层的一个抽象,叫日志抽象,如果你配了有log4j,它就会去调用log4j,如果没有就去找jdk的log,如果还是没有,他就会有自己的一套调用,
用这个的好处就是可以对日志工具进行换-->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
步骤二
创建Function类,写出要实现的功能
public class Function {
public void test() {
System.out.println("这是一个spring程序");
}
}
步骤三
创建java项目和创建maven项目是不同的,如果是创建java项目的话,Bean.xml 文件从 src目录下寻找,如果是创建maven项目的话,配置文件需要放到resource目录下才行
创建一个spring的配置文件 ,并将文件放在resource文件目录下
<?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="function" class="com.lcy.springtest.Function"></bean>
</beans>
步骤四
创建测试类,导入junit包 – 此类在 com.lcy.springtest.test 包下
public class FunctionTest{
@Test
public void testFunction(){
//获取配置文件, maven项目 类路径是resource下;java项目 类路径是src下
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("Bean.xml");
//通过id得到 xml文件中 通过spring创建的bean,并转换成响应的类
Function function = applicationContext.getBean("function", Function.class);
//通过这个对象 调用响应的方法
function.test();
}
}
运行此测试方法得到结果如下