1.创建maven工程在pom.xml文件中设置
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.20.RELEASE</version> </dependency>
点击右上角m同步
2.创建beans.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" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- id==对象名 class==类的路径(全类名) --> <bean id="spring01" class="myhellospring.Hellospring"> <!-- //!!!!!!!!实例化的类中必须有对应的getset方法!!!!!!!! name==变量名 value==值 --> <property name="name" value="gehsuaipi"/> </bean> </beans>
3.创建hello.java文件
package myhellospring; public class Hellospring { private String name; public Hellospring(){ System.out.println("构造方法ing"); } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Hello " + name ; } }
4.创建主类
package myhellospring; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class test { public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");//读取配置文件 Object spring01 = context.getBean("spring01");//获取对象 System.out.println(spring01); } }
运行成功输出
构造方法ing Hello gehsuaipi
并且由此可知,这种创建对象的方式是使用无参构造方法进行创建的
除此之外spring还有很多方法给对象其赋值
这里列一下使用spring创建对象的方法
- 默认方法:(这种方法默认调用无参构造方法)
<bean id="spring01" class="myhellospring.Hellospring"> <property name="name" value="gehsuaipi"/> </bean>
- 使用下标对有参构造方法进行赋值(要注意赋值的数据类型须和有参构造方法中的数据类型一致)
<bean id="spring01" class="myhellospring.Hellospring"> <constructor-arg index="0" value="shuaipi"/> </bean>
- 通过有参构造方法中的参数名进行赋值()
<bean id="spring01" class="myhellospring.Hellospring"> <constructor-arg name="ss" value="shuaipi"/> </bean>
补充:
在进行getbean时会将配置文件里的所有对象一起创建
例如
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" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="spring01" class="myhellospring.Hellospring"> <constructor-arg name="ss" value="shuaipi"/> </bean> <bean id="spring02" class="myhellospring.Hellospring"> <constructor-arg name="ss" value="hh"/> </bean> </beans>
main里
public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml"); Object spring01 = context.getBean("spring01"); System.out.println(spring01); }
这样他也会创建两个对象
即输出结果为
构造方法ing 构造方法ing Hello shuaipi