0.环境问题
0.1安装Spring Boot Helper
Idea社区版安装Spring Boot Helper,才能创建创建Spring Boot项目(Spring项目不需要,我们可以提前安装),如果是旗舰版不需要安装这个插件。

注意这个插件在IDEA2021.3版本以后转为收费插件,我们使用2021.3的版本即可
0.2配置maven国内源
为什么要配置maven国内源呢?如果不配置可能导致创建Spring/Spring Boot失败,或者是在maven项目中引入jar失败,从而导致项目运行不起来。
【第一步】在设置中(总共有两个设置),如下图所示,我们在以下两个设置中,进行相应的更改。(两个设置中的内容一样,但要设置两次,我们只将一个)

【第二步】打开Maven项目设置,然后勾选两个对号,去掉一个对号(这个对号,有的人可能没有不用管)

【第三步】在setting.xml中配置国内源


如果没有这个文件,我们直接下载(settings.xml · 风夏/JavaEE进阶 - 码云 - 开源中国 (gitee.com) ),放入当前文件夹即可
如果有这个文件,我们不能直
接下载或覆盖此文件,而是打开文件,在相应位置添加词语句
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

【第四步】删除本地所有jar包,重新下载。


如果下载失败,我们重新检查以上步骤,如果还是下载失败,我们切换网络(可能这个节点连接不上),重新下载,或等4个小时再次下载。
【注意】注意路径中不能有中文
1.创建一个Spring项目
1.1添加Spring框架支持
首先创建一个Maven项目,然后一路下一步。在项目的pom.xml中添加Spring框架的支持,内容如下:
<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>
从上述的配置中可以看说,添加的框架有spring-context:spring上下文,还有spring-beans:管理对象的模块。
1.2添加启动类
我们在创建好的项目Java文件夹下创建一个启动类App,包含main方法即可。
public class App {
public static void main(String[] args) {
}
}
2.储存Bean对象
储存Bean分为两步:
- 创建一个Bean对象
- 将创建的Bean注册到Spring容器中。
2.1创建Bean
所谓的Bean就是Java语言中的一个普通的对象,实现代码如下:
public class User {
public String sayHi(String name) {
return name + "hello!";
}
}
2.2将Bean注册到容器
在创建好的项目中添加Spring配置文件spring-config.xml,将此文件放到resources的根目录下面。

Spring的配置文件的固定格式为以下内容(无需记忆,粘贴即可)
<?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>
接下来,将User对象注册到Spring中即可,具体操作是在<beans>中添加配置。
<bean id="user" class="com.bit.demo1.User"></bean>
这就像我们创建一个公司,不能只有自己知道,我们在政府注册后,就可以享受相应的优惠了。
3.获取并使用Bean对象
获取并使用Bean对象分为三步:
- 得到Spring上下文对象,因为对象都交给Spring管理了,所以获取对象要从Spring中获取,那么就要先获取Spring的上下文。
- 通过Spring上下文,获取某一个指定的Bean对象。
- 使用Bean对象。
3.1获取Spring上下文
public class App {
public static void main(String[] args) {
//1. 获取上下文对象
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
// 获取上下文对象的另一种方法
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
}
}
这是两种获取上下文对象的不同方式,但是我们现在只使用第一种。
ApplicationContext 与 BeanFactory 有什么区别?(常见的面试题)
- ApplicationContext继承了BeanFactory,它具有父类所有的功能,还添加了对国际化支持、资源访问支持、以及事件传播等方面的支持。
- 从性能来讲:ApplicationContext是在运行的使用全部加载好所有的Bean对象,在使用的时候,直接去取即可,除了加载慢一点,运行起来非常的快;BeanFactory是在使用某个Bean的是由才创建这个对象,这导致了运行起来非常的慢。这就相当于在没有使用工具之前,一个把工具包买好了,一个是在使用某个工具的时候再去单独买。
【更多了解】BeanFactory主要是在以前使用,以前内存很贵,当时的计量单位可能是M或者是KB,这就导致了开发者不得不减少内存的使用,那个时候使用BeanFactory是很正常的。但是随着技术的进步,内存越来越不值钱,人们要求软件的效率越来越高,这就导致我们必须一次全部加载完所有的Bean,以达到随用随取的目的。
3.2获取指定的Bean对象
public class App {
public static void main(String[] args) {
//1. 获取上下文对象
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
// 获取上下文对象的另一种方法
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
User user1 = (User)context.getBean("user");
User user2 = (User)beanFactory.getBean("user");
user1.sayHi("user1");
user2.sayHi("user2");
}
}
3.2.1注意事项

Bean的Id要一一对应
3.2.2getBean方法的更多用法
getBean()方法有很多种重载的方法,我们可以使用重载的方法来获取对象
//其他获取对象的方法
user1 = context.getBean("user", User.class);
user1 = context.getBean(User.class);
建议使用Id+类名的方式来获取对象。从类名获取对象的方式如果只有一个符合这个类名的Bean还可以使用,如果有两个都是用相同的类名,会导致错误(后面我们会可能从方法的返回值获取对象,可能导致放回的类型都是User,从类名获取对象就可能导致错误)
4.总结

本文介绍了如何在IDEA中安装SpringBootHelper创建SpringBoot项目,强调了配置Maven国内源的重要性。接着,通过创建Spring项目,添加Spring框架支持,并创建启动类。文章详细讲解了Bean的创建与注册,以及如何通过ApplicationContext和BeanFactory获取并使用Bean对象。
1187

被折叠的 条评论
为什么被折叠?



