目录
1.2 添加Spring框架支持(spring-context、spring-beans)
Spring(Spring Framework)是一个开源框架。其支持广泛的应用场景,可以让Java企业级的应用程序开发起来更简单。Spring是包含了众多工具方法的 IoC容器(Inversion of Control)控制反转容器
- 【IoC】实现代码解耦;类的创建顺序与传统相比发生了反转;调用下属类的控制权发生反转
- 【DI】Dependency Injection依赖注入。由IoC容器在运行期间,动态地将某种依赖关系注入到对象中
Spring IoC容器的基本功能:
- 存【将对象存储在Spring容器中】
- 取【将对象从Spring容器中取出来】
Spring创建和使用
Bean:Java中的对象
1. 创建Spring项目
- 创建一个普通Maven项目
- 添加Spring框架支持(spring-context、spring-beans)
- 添加启动类
1.1 创建一个 Maven 项目
1.2 添加Spring框架支持(spring-context、spring-beans)
在pom.xml中添加依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
</dependencies>
1.3 添加启动类(创建普通类和main方法)
在 “src” -> "main" -> "java" 工作目录下新建一个Java Class,命名为"App"(按需自定义设置)
创建一个main方法即可。
public class App {
public static void main(String[] args) {
}
}
至此。已完成基础Spring框架的搭建。
2. 存储Bean对象
2.1 创建Bean对象
依然是在 “src” -> "main" -> "java" 工作目录下新建Java Class,命名为"User"(按需自定义设置)
2.2 将Bean注册到容器
a)在Maven项目中的 resources 下创建一个xxx.xml文件(一般命名为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
http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
b)在 xml 的<beans>标签里,添加需要注册的bean
(类名通常使用大驼峰,bean id通常使用小驼峰)
<bean id="user" class="User(Java包.类名)"></bean>
- id 为设置在Bean中取用时的名称(存储对象在spring中的身份标识)
- class为对象路径(描述要存储的对象 -> 完整的包名+类名)
3. 获取并取出Bean对象
在启动类中写main方法即可
- 创建Spring上下文对象(获取Spring容器,指定Spring配置文件)
- 通过Spring上下文,获取需要的 Bean 对象
- 使用Bean对象
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
// 1. 得到Spring上下文对象
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml"); // xml文件名
// 2. 使用上下文对象获得 bean
User user = (User) applicationContext.getBean("user"); // 根据 bean id 直接获取,强制转换为需要的对象
// 3. 使用bean对象
user.sayHi(); // 根据自己写的类方法来使用即可
// 第二种获取 Spring 上下文的方法
// 1. 得到Spring上下文对象
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring.xml"));
// 或
// BeanFactory beanFactory = new ClassPathXmlApplacationContext("spring.xml");
// 2. 使用上下文对象获得 bean
User user = (User) beanFactory.getBean("user");
// 3. 使用bean对象
user.sayHi(); // 根据自己写的类方法来使用即可
}
}