目录
在创建新项目的时候使用maven去创建新项目,这样方便去导入Spring相关依赖



此时一个maven项目就创建好了,接下来就是导入Spring相关的依赖
此时在项目中的pom.xml文件中导入相关的Spring依赖,这里选用的的Spring 5.x.x版本。这些版本可以在Maven的中央仓库查找复制Maven Repository: Search/Browse/Explore (mvnrepository.com)
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-contextartifactId>
- <version>5.2.3.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-beansartifactId>
- <version>5.2.3.RELEASEversion>
- dependency>

此时Spring项目就已经配置好了,接上回所说,Spring是一个强大的工厂,接下来就开始演示这个工厂的强大之处。
Spring的配置文件就相当于一个工厂类,使用这个配置文件就不要自己主动去创建工厂类了。
首先在resource文件夹底下创建一个xml文件,这里的命名是没有要求的,但是后缀一定要是.xml


此时一个Spring的配置文件就创建好了,接下来就是使用这个配置文件去创建相应的类对象
- ApplicationContext
作用:Spring提供的ApplicationContext这个工厂,用于对象的创建
好处:解耦合
重量级资源:ApplicationContext工厂的对象占用大量的内存
线程安全的:多线程并发访问
- ApplicationContext接口类型
非web环境的实现类:ClassPathXmlApplicationContext
web环境的实现类:XmlWebApplicationContext
首先创建一个User类用于测试
- public class User {
- private String name;
- private String password;
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- @Override
- public String toString() {
- return "User{" +
- "name='" + name + '\'' +
- ", password='" + password + '\'' +
- '}';
- }
- }
对于之前获取User类对象的方式,我们可能会new 一个User类对象,或者自己写一个工厂类结合配置文件去加载一个类对象,但是在Spring中这些方式对不需要了!直接使用Spring提供的接口获取类对象!在配置文件中创建一个Bean标签,这里的id是这个类的唯一标识,名字随便起。后面的class是这个类的类路径,其实也就是通过这个类路径利用反射创建对象。

- public void test() {
- // 这里直接使用Spring提供的接口去创建类对象了
- ApplicationContext ctx =
- // 这里的原理就是创建一个工厂类,只不过Spring封装好了
- // 这个文件名就是创建的Spring的配置文件名,名字可不敢错!
- new ClassPathXmlApplicationContext("applicationContext.xml");
- // 通过这个工厂获取类对象,这个user就是bean标签中的id(一定是要存在的)
- User user = (User) ctx.getBean("user");
- user.setName("张三");
- user.setPassword("123456");
- System.out.println(user);
- }
成功获取到User类对象

其实所谓的框架并没有想象中的那么高级,就是将平时常用的代码进行了封装,简化了开发过程。以上就是第一个Spring的程序了,利用Spring的接口来获取对象,那么这个获取对象的原理是什么呢?其实代码上面的注解也有解释,但是为了更加直观的展示,下面用一幅图来展示过程
