目录
一. 配置 Maven 国内源
1.1 为什么要配置国内源呢?
1.2 在设置中配置 Maven
1.3 在 settings.xml 中配置国内源
1.4 清空 Maven 重新下载
二. 创建 Spring 项目
2.1 创建一个 Maven 项目
2.2 添加 Spring 框架支持
2.3 创建启动类
三.存储 Bean 对象
3.1 创建一个 Bean
3.2 将对象存(注册)到 Spring 容器中
四. 从容器中获取并使用 Bean
4.1 得到 Spring 上下文对象
4.2 ApplicationContext 和 BeanFactory 的区别 (面试题)
4.4使用 Bean
在之前的写的一篇讲解 spring 的博客中(以下链接通往)我们知道, spring 就是一个包含了众多工具方法的 IOC 容器,他管理的资源就是对象, 对象在 Java 中也叫做 Bean
详解 Spring - Ioc(控制权反转) 和 DI(依赖注入)_Lzm_0.0的博客-CSDN博客
既然 Spring 他是一个容器, 那么他对对象最基础的管理就有以下两个:
- 将 Bean 存储到 Spring 容器中
- 从 Spring 容器中取出 Bean
我们先简单的创建一个 Spring 项目, 然后对对象进行管理操作
创建项目之前我们先配置一下国内源, 配置完成之后,以后创建项目都会很顺利
答: 因为创建项目阶段会下载一些国外的资源使用, 由于国内和国外的网络环境存在差异,下载国外的资源可能会收到影响从而下载缓慢或者下载失败, 从而使项目创建失败, 例如:创建 maven 项目的时候引入 jar 失败. 配置了国内源之后会把资源镜像放在国内的服务器上,提供更好的现在服务, 提高下载速度.
我们直接设置每次创建新项目时应用的设置
我们需要改动这四个地方, 这是我改后的截图, 其他地方我们都可以默认
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
在以下位置插入代码即可
重新下载
完成以上步骤, 我们的配置的国内源以及 Maven 仓库就全部完成了, 以后创建 Spring 或者 Spring Boot 项目的时候就会特别顺利, 现在我们就开始创建 Spring 项目
在 Maven 中央仓库中找到 Spring-context(spring 上下文) 还有 Spring-beans(管理对象模块) , 在 pom.xml 文件中进行添加
org.springframework
spring-context
5.2.25.RELEASE
org.springframework
spring-beans
5.2.25.RELEASE
添加完成之后点击刷新即可自动下载, 不报红就成功了
在 Java 底下创建一个类, 包含 main 方法
这样一个 Spring 项目就简简单单创建完成了
将 对象(Bean) 存储到 Spring(Ioc) 容器中
分为两步:
就是创建一个对象
1.在 resources 下创建 spring-config.xml 文件
在 spring-config.xml 中写入 Spring 配置文件的固定格式
2. 把 User 对象注册到 Spring 中就可以了
id : 将对象存储到 Ioc 容器的名字
class: 要存储到 Ioc 中的 Bean 的完整路径(包名 + 类名)
两种方式得到上下文对象
2. 使用 BeanFactory 得到 Spring 上下文对象
相同点: 都是容器管理对象, 都可以获取 Bean 对象
不同点:
4.3 获取指定 Bean 对象
User user = (User) context.getBean("user");
getBean 更多用法:
User user = (User) context.getBean("user");
User user = context.getBean(User.class);
User user = context.getBean("user", User.class);
public class App {
public static void main(String[] args) {
// 使用 ApplicationContext 得到 Spring 上下文对象
ApplicationContext context =
new ClassPathXmlApplicationContext("spring-config.xml");
//使用 BeanFactory 得到 Spring 上下文对象
//BeanFactory beanFactory =
// new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
//获取 Bean 对象
User user = context.getBean("user",User.class);
//User user = (User) context.getBean("user");
//使用 Bean
user.sayHi();
}
}
使用完成了