Spring的创建和使用
文章目录
Spring 就是⼀个包含了众多⼯具⽅法的 IoC 容器。
既然是容器那么它就具备两个最基本的功能:
1)将对象存储到容器(Spring)中;
2)从容器中将对象取出来
1.创建Spring项目
1.1创建一个Marven项目
File-new-project-创建即可
1.2 添加Spring框架支持
在项⽬的 pom.xml 中添加 Spring 框架的⽀持,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方法即可
public class Start {
public static void main(String[] args) {
}
}
2.存Bean对象
2.1创建Bean
所谓的 Bean 就是 Java 语⾔中的⼀个普通对象,实现代码如下
public class User {
public void study(){
System.out.println("study...");
}
}
2.2将Bean注册到容器
即在创建好的项⽬中添加 Spring 配置⽂件 spring-config.xml,将此⽂件放到 resources 的根⽬录下,如下图所示
<?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 htt
p://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
接下来,再将 User 对象注册到 Spring 中就可以了
分别是对象的名称 和根据这个类生成的对象
<bean id="user" class="bean.User"></bean>
获取对象并使用
1.获取对象要从 Spring 中获取,那
么就得先得到 Spring 的上下⽂(Spring的运行环境)
2. 通过 Spring 上下⽂,获取某⼀个指定的 Bean 对象。
3. 使⽤ Bean 对象
//1.获取Spring上下文
ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
注意:应和配置的xml文件名称相同
获取Spring上下文的另一种方法
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
两者对比:
1.继承关系和功能⽅⾯来说: ApplicationContext属于 BeanFactory 的⼦类,它除了继承了 BeanFactory 的所有功能
从源码可以看出ApplicationContext继承自BeanFactory 的关系
2.从性能⽅⾯来说:ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,⽽BeanFactory 是需要那个才去加载那个,因此更加轻量。
3.2获取指定Bean对象
User user= (User) context.getBean("user");
此处应对应
3.2.2getBean方法的多种用法
//1.获取上下文
ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
//2.1从上下文中获取对象 通过bean的名称获取对象
User user= (User) context.getBean("user");
user.study();
//2.2通过bean的类型获取对象
User user=context.getBean(User.class);
user.study();
//2.3通过 bean的类型和名称获取对象
User user=context.getBean("user",User.class);
user.study();
当通过类型获取时,当存在两个类型相同的对象时,会报错,如:
4.总结
此次我们学会了创建Spring项目:
1.创建一个Marven项目
2.存Bean对象
1)创建Bean
2)写.xml配置文件,并定义Bean
3. 获取并使用对象
1)获取Spring上下文
2)从上下文获取对象
3)使用对象