之前 我们看了几个注入属性的注解 但他们都是注入对象类型的 那么 下面我们就看一个 给基本属性注入值的注解
value
我们直接代码快速演示一下
创建一个项目 然后引入 spring 所需要的依赖
然后在src下创建包 Bean 在 Bean目录下创建一个包 叫 UserData
然后在src下创建 bean.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.xsd">
<context:component-scan base-package="Bean.UserData"></context:component-scan>
</beans>
这个意思就是 对Bean包下的UserData 包 下的文件进行扫描 读取下面文件的注解
在 Bean下的UserData 包下创建类 我这里叫 User
参考代码如下
package Bean.UserData;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component(value = "User")
public class User {
@Value(value = "abc")
private String name;
public String toString(){
return "name="+name;
}
}
可以看到 我们定义了一个name的字符串属性 按照一起的逻辑 应该定义他的set方法
但我们没有 我直接用了 value这个注解
value对应要注入的值
我们测试一下
在src目录下创建测试类
参考代码如下
import Bean.UserData.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class text {
public static void main(String args[]) {
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
User user = context.getBean("User", User.class);
System.out.println(user);
}
}
可以看到 我们这里是赋值成功的