学习大数据——Spring中bean的配置、bean的获取方式、给bean的属性赋值

Bean配置解释

HelloWorld:

public class HelloWorld {
	
	public HelloWorld() {
		System.out.println("HelloWorld对象被创建了!");
	}
	
	private String name;
	
	public void setName(String name) {
		System.out.println("setName()方法被调用!");
		this.name = name;
	}
	
	public void sayHello() {
		System.out.println("Hello:"+name);
	}
	<!-- 配置bean 
		id属性:给当前bean起一个名称,该名称必须保证是唯一的
		class属性:设置bean的全类名
	-->
	<bean id="hellworld" class="com.learn.spring.helloworld.HelloWorld" scope="singleton">
		<!-- 给属性赋值 
			name属性:设置bean的属性名
			value属性:设置bean的属性值
		-->
		<property name="name" value="Spring"></property>
	</bean>

获取Bean的方式

class HelloWorldTest {

	@Test
	void test() {
		//1.创建IOC容器对象
		ApplicationContext ioc = new ClassPathXmlApplicationContext("applicationContext.xml");
		//2.从IOC容器中获取HelloWorld对象
		HelloWorld helloworld = (HelloWorld) ioc.getBean("hellworld");
		//3.调用sayHello方法
		helloworld.sayHello();
		
		/*
		 * 获取bean的方式
		 * 1.根据名称(id属性)获取
		 * 2.根据bean的类型获取
		 * 		-要求:IOC容器中该类型的bean是唯一的,否则会抛出异常
		 */
		HelloWorld helloworld2 = ioc.getBean(HelloWorld.class);
		helloworld2.sayHello();
		System.out.println(helloworld==helloworld2);
	}

给bean的属性赋值

Employee:

public class Employee {

	private Integer id;
	private String lastName;
	private String email;
	private Department dept;

Department:

public class Department {

	private Integer id;
	private String name;
	<!-- 
		给bean的属性赋值的的方式:
			1.通过value属性赋值
			2.通过ref属性赋值
	 -->
	 <bean id="employee" class="com.learn.spring.beans.Employee">
	 	<property name="id">
	 		<value>1</value>
	 	</property>
	 	<property name="lastName" value="张三"></property>
	 	<property name="email" value="zhangsan.com"></property>
	 	<property name="dept" ref="department"></property>
	 	<!-- 通过级联属性修改属性的值 -->
	 	<property name="dept.id" value="10001"></property>
	 </bean>
	 
	 <bean id="department" class="com.learn.spring.beans.Department">
	 	<property name="id" value="1001"></property>
	 	<property name="name" value="产品部"></property> 
	 </bean>
发布了37 篇原创文章 · 获赞 7 · 访问量 681

猜你喜欢

转载自blog.csdn.net/qq_40394792/article/details/104385710