【spring系列】spring对象的创建
程序员文章站
2022-10-03 14:29:36
一、HelloSpring1、创建基础项目、导入项目依赖 org.springframework spring-we...
一、HelloSpring
1、创建基础项目、导入项目依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
</dependencies>
2、编写实体类
public class Hello {
private String str;
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
@Override
public String toString() {
return "Hello{" +
"str='" + str + '\'' +
'}';
}
}
3、编写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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!--使用spring来创建对象,在spring这些都称为bean
类型 变量名 = new 类型();
Hello hello = new Hello();
id = 变量名
class = new 的对象
property 相当于给对象中的属性设置一个值
-->
<bean id="hello" class="com.jason.pojo.Hello">
<property name="str" value="Spring"/>
</bean>
</beans>
4、测试
public class MyTest {
public static void main(String[] args) {
//获取spring的上下文对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//我们的对象都在spring管理了,我们要使用,直接去里面取出来就可以了
Hello hello = (Hello) context.getBean("hello");
System.out.println(hello);
}
}
小结:通过上面的一个简单实例很容易发现,我们创建对象方式发生了根本的变化,不在是通过new来创建对象了,而是通过spring文件获取spring上下文对象,然后需要用到哪个对象直接getBean就行了,创建对象的主动权交给了spring。
二、创建对象的方式
<!--第一种:通过参数名设置-->
<bean id="user" class="com.jason.pojo.User">
<property name="name" value="jason"/>
</bean>
<!--第二种:通过下标值-->
<bean id="user" class="com.jason.pojo.User">
<constructor-arg index="0" value="jason"/>
</bean>-->
<!--第三种:通过类型创建-->
<bean id="user" class="com.jason.pojo.User">
<constructor-arg type="java.lang.String" value="jason"/>
</bean>
注意:在spring配置文件被加载的时候,容器中的管理对象就已经初始化了。
三、spring配置
1、起别名
<!--起别名-->
<alias name="user" alias="userNew"/>
2、Bean的配置
<!--通过参数名设置
id:bean的唯一标识符相,当于我们的对象名
class:bean对象所对应的全限定名(包名+类型)
name:是别名,而且name可以同时取多个别名-->
<bean id="user" class="com.jason.pojo.User">
<property name="name" value="jason"/>
</bean>
3、import:团队合作开发中常用到
<import resource="beans.xml"/>
<import resource="beans1.xml"/>
<import resource="beans2.xml"/>
本文地址:https://blog.csdn.net/whc888666/article/details/109263613
推荐阅读