Spring日常笔记记录08--简单类型属性赋值
代码演示:
@Value:简单类型的属性赋值
属性:value是string类型的,表示简单类型的属性值
位置:1.在属性定义的上面,无需set方法,推荐使用
2.在set方法的上面
package com.example.ba02; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component("myStudent") public class Student { /* * @Value:简单类型的属性赋值 * 属性:value是string类型的,表示简单类型的属性值 * 位置:1.在属性定义的上面,无需set方法,推荐使用 * 2.在set方法的上面 * */ @Value(value = "张飞") private String name; @Value(value = "27") private Integer age; /* public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; }*/ @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
注意:在配置文件中,要指定对应的包名,不能写错
<?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 https://www.springframework.org/schema/context/spring-context.xsd"> <!--声明组件扫描器(component-scan),组件就是java对象 base-package:指定注解在你的项目中的包名 component-scan工作方式:spring会扫描遍历base-package指定的包, 把包中和子包中的所有类,找到类中的注解,按照注解的功能创建对象,或给属性赋值。 加入了component-scan标签,配置文件的变化: 1.加入一个新的约束文件spring-context.xsd 2.给这个新的约束文件起了命名空间的名称 --> <context:component-scan base-package="com.example.ba02"/> </beans>
测试方法:
import com.example.ba02.Student; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyTest02 { @Test public void test01(){ String config = "applicationContext.xml"; ApplicationContext ctx = new ClassPathXmlApplicationContext(config); //从容器中获取对象 Student student = (Student) ctx.getBean("myStudent"); System.out.println(student); } }
运行结果:
Student{name='张飞', age=27}
/* * @Value:简单类型的属性赋值