集合的注入只能通过xml来实现。

package com.atChina.Test4;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;@Component("sch")
public class School {@Value("海洋大学")private String name;@Value("深海")private String address;public void setName(String name) {this.name = name;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "School [name=" + name + ", address=" + address + "]";}
}
<?xml version="1.0" encoding="UTF-8"?>
<!-- 引用Spring的多个Schema空间的格式定义文件 -->
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd "><!-- 声明组件扫描器,指定组件所在的包名component-scan标签:组件扫描器base-package:指定注解所在的包名,框架会扫描这个包和子包中类的注解--><context:component-scan base-package="com.atChina.Test3" />
</beans>

注解@Autowired,byType方式实现引用类型的赋值

package com.atChina.Test3;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;/** @Component: 创建对象,默认创建的是单例对象*        属性:  value,表示对象的id*        位置:  在类的上面,表示创建该类的对象* @Component(value="myStudent")等同于<bean id="myStudent" class="com.atChina.Test.Student" />       *  */
@Component("student")
public class Student {@Value("宋江")private String name;private int age;/**    引用类型,使用框架的自动注入: *   @Autowired:spring框架提供的注释,给引用类型赋值*  位置: 1):在属性定义的上面,无需set方法,推荐使用*       2):在set方法的上面 * @Autowired支持自动注入的byName,byType, 默认是byType方式                  */@Autowiredprivate School school;public void setName(String name) {System.out.println("setName:"+name);this.name = name;}@Value("22")public void setAge(int age) {System.out.println("setAge:"+age);this.age = age;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", school=" + school+ "]";}}

注解@Autowired,byName方式实现引用类型的赋值

package com.atChina.Test4;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;/** @Component: 创建对象,默认创建的是单例对象*        属性:  value,表示对象的id*        位置:  在类的上面,表示创建该类的对象* @Component(value="myStudent")等同于<bean id="myStudent" class="com.atChina.Test.Student" />       *  */
@Component("student")
public class Student {@Value("宋江")private String name;private int age;/*   * * @Autowired使用byName方式: *      1).@Autowired*         2).@Qualifier(value="bean的id")*/@Autowired@Qualifier(value="sch")private School school;public void setName(String name) {System.out.println("setName:"+name);this.name = name;}@Value("22")public void setAge(int age) {System.out.println("setAge:"+age);this.age = age;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", school=" + school+ "]";}
}

spring14:注解@Autowired,实现引用类型的赋值相关推荐

  1. spring:注解@Resource,实现引用类型的赋值

    注解@Resource, 根据byName赋值,找不到. 就会根据byType再找一次,赋值 @Resource和@Autowired的区别: @Autowired来自spring框架, 而 @Res ...

  2. Spring注解@Autowired

    Spring注解@Autowired 一.@Autowired注解作用 1.@Autowired 注解@Autowired是Spring对组件自动装配的一种方式.常用于在一个组件中引入其他组件. // ...

  3. Spring4-自动装配Beans-通过注解@Autowired在构造方法上

    1.创建Maven项目,项目名称springdemo19,如图所示 2.配置Maven,修改项目中的pom.xml文件,修改内容如下 <project xmlns="http://ma ...

  4. idea @value提示_IDEA 中springboot 项目使用 注解Autowired 出现红线

    说说今天调试代码中无意之间发现的一个有意思的问题,在集成测试中测试自己mapper接口层的方法,在测试类中加入了注解Autowired,界面中出现了红色告警提示,虽然不影响整体代码的集成测试,但是作为 ...

  5. 引用类型不赋值跟赋null,调用的区别

    情况1. 引用类型不赋值:程序编译期间报错. 情况2. 引用类型赋null值:编译期间不会报错,但是运行会报空指针异常(NullPointerException)

  6. java成员属性生命周期,Spring注解 - 生命周期、属性赋值、自动装配

    一.Bean的生命周期 流程 Bean创建 -- 初始化 -- 销毁 创建: 单实例:在容器启动时创建对象 多实例:每次调用时创建对象 初始化: 都是在对象创建完成后,调用初始化方法 销毁: 单实例: ...

  7. 在方法的形参位置使用@Qualifier注解||@Autowired 与@Resource的区别

    实验21:在方法的形参位置使用@Qualifier注解 实验22:@Autowired注解的required属性指定某个属性允许不被设置 @Autowired   @Resource  @Inject ...

  8. 注解@Autowired与@Resource的区别

    共同点: @Resource和@Autowired都可以作为注入属性的修饰,在接口仅有单一实现类时,两个注解的修饰效果相同,可以互相替换,不影响使用. 注意:在只有单一的实现类时,两个注解的作用相同 ...

  9. spring IOC 注解@Autowired

    自动装配:按照类型来找 会在xml中找类型一样的, 比如 setMessage(SetName setName)上面有@Autowired,会到xml中找<bean id="setna ...

最新文章

  1. js中的preventDefault与stopPropagation详解
  2. C语言求幺元的函数,离散数学实验指导书及其答案.doc
  3. zTree中父节点禁用,子节点可以用
  4. boost::log::sinks::simple_event_log_backend用法的测试程序
  5. 经典题目螺旋方阵的详解
  6. win8.1远程连接Redis数据库
  7. 计算机图形学基础期末考试试题,计算机图形学基础_试卷(B)答案
  8. 宜搭小技巧|自动计算日期时长,3个公式帮你敲定
  9. PocoClassGenerator:RDBMS所有表/视图生成Dapper POCO类代码
  10. python发送图片邮件exchangelib_使用Python-Exchangelib库的电子邮件正文中的表格式
  11. 【Social listening实操】作为一个合格的“增长黑客”,你还得重视外部数据的分析!...
  12. linux下sqlmap安装教程,Linux安装sqlmap
  13. 马尔可夫链 以及 隐马尔可夫模型(HMM)
  14. JavaWeb如何判断账户密码
  15. js修改服务器域名,春哥详解:业务域名 JS接口安全域名 网页授权域名
  16. (SWERC 2017)
  17. [CSP2020]儒略日
  18. 机器学习与深度学习:微积分知识汇总
  19. C#:实现字数统计函数算法(附完整源码)
  20. ios和android操作收拾,iOS和Android后台机制的比较

热门文章

  1. 一个转角---程序猿
  2. ThinkPHP 中M方法和D方法的具体区别
  3. HDU 3374 String Problem (KMP+最大最小表示)
  4. jQuery 使用 jQuery UI 部件工厂编写带状态的插件(翻译)
  5. gcc 常用命令(逐渐完善)
  6. android入门之三【应用程序组成】
  7. 终于把网站最后一个模块了结了
  8. 一分钟解决idea端口占用问题
  9. 【剑指offer】10A--求裴波那切数列的第n项,C++实现
  10. linux下的打包与压缩