spring中给属性赋值的三种方式
2019-06-04 14:22
302 查看
Main.java
[code]package com.vow.spring; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main(String[] args) { //1. 创建 Spring 的 IOC 容器 ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); //2. 从 IOC 容器中获取 bean 的实例 HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloworld"); //3. 使用 bean helloWorld.printf(); } }
方式一:通过构造函数给属性赋值
1) 通过构造函数
value:属性值,在没有设置index和type时,设置value值的类型和value的顺序要和构造函数参数类型的顺序一致
index:设置参数在构造函数参数中的索引,从0开始
type :设置参数的类型,写全限定名
ps: 可混合使用
HelloWorld。java
[code]package com.vow.spring; public class HelloWorld { private String name; private int age; private String sex; public String getName() { return name; } public HelloWorld(String name, int age, String sex) { super(); this.name = name; this.age = age; this.sex = sex; } public void printf() { System.out.println(name); System.out.println(age); System.out.println(sex); } }
applicationContext.xml
[code]<?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 http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置一个 bean --> <bean id="helloworld" class="com.vow.spring.HelloWorld"> <constructor-arg value="vow2"></constructor-arg> <constructor-arg value="19"></constructor-arg> <constructor-arg value="男"></constructor-arg> </bean> </beans>
结果:
方式二:通过set方法给属性赋值(在spring的bean中使用<property>标签)
HelloWorld.java
[code]package com.vow.spring; public class HelloWorld { private String name; private int age; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public void printf() { System.out.println(name); System.out.println(age); System.out.println(sex); } }
applicationContext.xml
[code]<?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 http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置一个 bean --> <bean id="helloWorld" class="com.vow.spring.HelloWorld" > <为属性赋值 > <property name="name" value="vow"></property> <property name="age" value="18"> </property> <property name="sex" value="男"> </property> </bean> </beans>
结果:
方式三:通过p命名空间给属性赋值
<!-- 给对象属性注入值: # p 名称空间给对象的属性注入值 (spring3.0以上版本才支持) -->
<!-- p名称空间优化后 -->
<bean id="user" class="cn.itcast.c_property.User" p:name="Jack" p:id="123"></bean>
相关文章推荐
- 创建Bean的三种方式 在大多数情况下,Spring容器直接通过new关键字调用构造器来创建Bean实例,而class属性指定Bean实例的实现类,但这不是实例化Bean的唯一方法。实际上,Sprin
- Spring依赖注入的三种方式详解之一:属性注入
- Spring 三种属性注入方式
- Spring:属性注入的方式有三种
- Spring依赖注入的三种方式详解之一:属性注入
- Spring Spring 静态属性 注入的三种方式
- Spring4-三种方式注入值到 bean 属性
- Spring实现控制反转(IOC)的三种方式(一)——属性注入
- Spring三种注入属性的方式
- spring中给属性赋值的方式
- spring给bean注入属性的三种方式
- spring(DI)概念、xml方式给属性赋值
- Spring依赖注入的三种方式详解之一:属性注入
- Spring学习(五)-----注入bean属性的三种方式( 1: 正常的方式 2: 快捷方式 3: “p” 模式)
- Spring依赖注入的三种方式详解之一:属性注入
- 用 Spring 更好地处理 Struts 动作三种整合 Struts 应用程序与 Spring 的方式
- spring配置datasource三种方式
- spring的依赖注入三种方式
- Spring 学习笔记(三)IOC之XML方式配置 第二回Bean节点属性的配置
- spring配置datasource三种方式 数据库连接池