Spring环境搭建及三种创建管理对象的方式
程序员文章站
2022-05-29 14:45:44
...
1、Spring环境搭建
1.1、环境搭建所需核心包
可通过在pom.xml文件中配置导入相关包:
<!--以下四个包是Spring框架环境搭建所需包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
1.2、Spring配置文件,配置配置文件ApplicationContext.xml(此文件名称可以随意命名,但是经常使用ApplicationContext,ApplicationContext是Spring解析配置文件后使用的容器)文件;
ApplicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!--
Spring创建对象的三种方法:构造方法创建对象:1、无参构造方法创建对象;2、有参构造方法创建对象
一、
无参构造方法创建对象:
id属性:可以获取创建对象的唯一标识
class属性:需要创建的对象所在的位置
-->
<bean id="people" class="Demo01.Model.People">
</bean>
<!--
有参构造方法创建对象:对象需要有 有参构造
-->
<bean id="people2" class="Demo01.Model.People">
<!--constructor-arg:构造方法 参数
属性介绍:index:参数索引;
name: 参数名称
ref : 引用其他对象作为参数
type: 参数类型
value:参数赋值
以上属性不必须同事存在,可*组合,例如:index&value、name&value。。。
需要注意的是在Spring中type类型要与类中类型保持一致,例如:Integer不能自动拆箱为int类型
-->
<constructor-arg index="0" name="id" type="int" value="10"></constructor-arg>
<constructor-arg index="1" name="name" type="java.lang.String" value="张丹"></constructor-arg>
<constructor-arg index="2" name="sex" type="char" value="女"></constructor-arg>
</bean>
<!--二、实例工厂 : 创建工厂 》》》 创建对象-->
<bean id="factory" class="Demo01.Factory.PeopleFactory"></bean>
<bean id="people3" factory-bean="factory" factory-method="getTarget">
</bean>
<!--三、静态工厂创建对象-->
<bean id="people4" class="Demo01.Factory.PeopleFactory" factory-method="getStaticTarget"></bean>
</beans>
在此示例文件中,展示了Spring三种创建对象的方式;
新建spring配置文件是要特别注意配置文件中的头信息要正确并完整,不然在进行文件配置时会出现错误提示。
1.3、实体类
People.java
用户Spring配置中第一种创建的对象的方式进行对象创建:
package Demo01.Model;
/**
* 人员实体类封装
*/
public class People {
private Integer id;
private String name;
private char sex;
public People(){
super();
System.out.println("这是测试Spring创建对象的People无参构造方法");
}
public People(int id,String name,char sex){
super();
this.id = id;
this.name = name;
this.sex = sex;
System.out.println("id:"+id+" -- name:"+name+" -- sex:"+sex);
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
@Override
public String toString() {
return "People{" +
"id=" + id +
", name='" + name + '\'' +
", sex=" + sex +
'}';
}
}
PeopleFactory.java
用于Spring配置文件中的实例工厂、静态工厂创建管理对象的实现
package Demo01.Factory;
import Demo01.Model.People;
public class PeopleFactory {
/**
* 实例工厂:需要先创建工厂,在创建对象,具体配置见Spring配置文件中
* @return
*/
public People getTarget(){
return new People();
}
/***
* 静态工厂:不需要创建工厂 即可获取对象
*/
public static People getStaticTarget(){
return new People();
}
}
2、上述Spring框架配置文件解析及对象创建的测试方法:
import Demo01.Model.People;
import com.sun.scenario.effect.impl.prism.ps.PPSEffectPeer;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestDemo01 {
@Test
public void TestSpringCreatePeople(){
//读取Spring配置文件ApplicationContext.xml将内容放到ApplicationContext容器中
/**
* 扩展 IDEA中查询接口的实现类的快捷方法 : ctrl + alt +B
*/
ApplicationContext ac = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//getBean:第一个参数是Spring配置文件中所管理的对象的唯一标识;
//第二个参数是对象返回值类型,如果第二个参数不写,则返回值类型为Object,然后可以使用强制转换来转换对象的类型
People p = ac.getBean("people2", People.class);
System.out.println("构造方法创建对象:"+p);
/**
* 实例工厂
*/
People p3 = ac.getBean("people3",People.class);
System.out.println("实例工厂创建对象:"+p3);
/**
* 静态工厂
*/
People p4 = ac.getBean("people4", People.class);
System.out.println("静态工厂创建对象:"+p4);
//获取Spring配置文件中管理的所有对象标识
String[] str = ac.getBeanDefinitionNames();
for (String s: str
) {
System.out.println(s);
}
}
}
上一篇: 金针菇怎么做好吃呢