目录
一、怎么创建Spring项目
1.1 使用maven创建Spring项目
1.2 导入Spring相关依赖
二、Spring的配置文件
三、使用Spring配置文件创建类对象
3.1 Spring核心api
3.2 Spring程序开发
一、怎么创建Spring项目
1.1 使用maven创建Spring项目
在创建新项目的时候使用maven去创建新项目,这样方便去导入Spring相关依赖
此时一个maven项目就创建好了,接下来就是导入Spring相关的依赖
1.2 导入Spring相关依赖
此时在项目中的pom.xml文件中导入相关的Spring依赖,这里选用的的Spring 5.x.x版本。这些版本可以在Maven的中央仓库查找复制Maven Repository: Search/Browse/Explore (mvnrepository.com)
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.3.RELEASE</version>
</dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.2.3.RELEASE</version>
</dependency>
此时Spring项目就已经配置好了,接上回所说,Spring是一个强大的工厂,接下来就开始演示这个工厂的强大之处。
二、Spring的配置文件
Spring的配置文件就相当于一个工厂类,使用这个配置文件就不要自己主动去创建工厂类了。
首先在resource文件夹底下创建一个xml文件,这里的命名是没有要求的,但是后缀一定要是.xml
此时一个Spring的配置文件就创建好了,接下来就是使用这个配置文件去创建相应的类对象
三、使用Spring配置文件创建类对象
3.1 Spring核心api
- ApplicationContext
作用:Spring提供的ApplicationContext这个工厂,用于对象的创建
好处:解耦合
重量级资源:ApplicationContext工厂的对象占用大量的内存
线程安全的:多线程并发访问
- ApplicationContext接口类型
非web环境的实现类:ClassPathXmlApplicationContext
web环境的实现类:XmlWebApplicationContext
3.2 Spring程序开发
首先创建一个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;}@Overridepublic 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的接口来获取对象,那么这个获取对象的原理是什么呢?其实代码上面的注解也有解释,但是为了更加直观的展示,下面用一幅图来展示过程