总结构造方法赋值方式

本文详细介绍了在Spring框架中如何调用构造方法以及为不同类型的属性进行赋值,包括基本类型、自定义类型、数组、List、Set、Map以及Properties对象的配置和使用方法。
摘要由CSDN通过智能技术生成

一.如何调用构造方法

1.配置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"
	xsi:schemaLocation="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.3.xsd">
	<bean class="java.util.Date"></bean>

	<context:component-scan base-package="com.jd"></context:component-scan>
	<bean class="com.jd.vo.UserInfo">
		<constructor-arg value="12"></constructor-arg>	
		<constructor-arg value="Tim"></constructor-arg>	
	</bean>
</beans>

2.创建Test类

 

package com.jd.test;

import org.springframework.context.support.ClassPathXmlApplicationContext;import com.jd.userinfo.dao.UserInfoDao;
import com.jd.vo.UserInfo;

public class Test {
	
	public static void main(String[] args) {
		ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");
		UserInfo userInfo = applicationContext.getBean(UserInfo.class);
		System.out.println(userInfo);
		applicationContext.close();
	}
}

3.创建UserInfo类

 

package com.jd.vo;

public class UserInfo {
	
	public UserInfo(int age,String name) {
		System.out.println(age+","+name);
	}
}

4.运行

 

二.如何为不同类型赋值

1.基本数据类型或String类型,则直接使用value标签属性

 

2.自定义类型

  1. 配置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"
    	xsi:schemaLocation="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.3.xsd">
    	<bean id="date" class="java.util.Date"></bean>
    
    	<context:component-scan base-package="com.jd"></context:component-scan>
    	<!-- <bean class="com.jd.vo.UserInfo">
    		<constructor-arg value="12"></constructor-arg>	
    		<constructor-arg value="Tim"></constructor-arg>	
    	</bean> -->
    	
    	<bean class="com.jd.vo.UserInfo">
    		<constructor-arg ref="date"></constructor-arg>
    	</bean>
    </beans>
    

     

  2. 创建UserInfo类
Python中的构造方法是一个特殊的方法,名为`__init__`。它在创建对象时自动调用,并用于初始化对象的属性。构造方法以`self`作为第一个参数,该参数指向对象本身。其他参数用于初始化对象的属性。构造方法可以在创建对象时自动执行一些特殊操作,如设置默认值或执行一些初始化逻辑。在构造方法中,可以使用`self`来访问对象的属性和方法。 例如,在一个名为`person`的类中,可以定义一个构造方法来初始化人的姓名和年龄属性。这样,在创建`person`类的对象时,可以传入姓名和年龄参数来初始化对象的属性。 ```python class person: def __init__(self, name, age): self.n = name self.a = age ``` 在以上的例子中,`self.n`和`self.a`分别表示对象的姓名和年龄属性。当创建一个`person`对象时,可以通过传递参数给构造方法来初始化对象的姓名和年龄属性。例如,`t = person('tom', 19)`将创建一个名为`t`的`person`对象,并将其姓名属性初始化为`'tom'`,年龄属性初始化为`19`。 构造方法可以在对象创建时执行一些特殊操作,比如设置默认值。例如,可以在构造方法中直接为每个人的血型属性赋值为`'o'`,这样每个创建的`person`对象的血型属性都会被初始化为`'o'`。 ```python class person: def __init__(self, name, age): self.n = name self.a = age self.x = 'o' # 直接让每个人都是o型血 ``` 在以上的例子中,`self.x`表示对象的血型属性。当创建一个`person`对象时,血型属性会被自动初始化为`'o'`。例如,`t = person('tom', 19)`将创建一个名为`t`的`person`对象,并将其血型属性初始化为`'o'`。 总结来说,Python中的构造方法是一个特殊的方法,名为`__init__`,用于初始化对象的属性。它在创建对象时自动调用,并可以执行一些特殊操作,如设置默认值或执行一些初始化逻辑。在构造方法中,可以使用`self`来访问对象的属性和方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python类和构造方法](https://blog.csdn.net/sinat_38682860/article/details/103581470)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值