1.创建Maven项目,项目名称springdemo19,如图所示

2.配置Maven,修改项目中的pom.xml文件,修改内容如下

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>1.0.0</modelVersion><groupId>shequ</groupId><artifactId>springdemo13</artifactId><version>0.0.1-SNAPSHOT</version><properties><java.version>1.7</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><repositories><repository><id>codelds</id><url>https://code.lds.org/nexus/content/groups/main-repo</url></repository></repositories><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.1.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.1.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.1.4.RELEASE</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.34</version></dependency></dependencies><build/>
</project>

3.在src/main/java下创建实体Bean Forum,包名(com.mycompany.shequ.bean)如图所示

4.实体Bean Forum的内容如下

package com.mycompany.shequ.bean;public class Forum {private int fid;private String name;public int getFid() {return fid;}public void setFid(int fid) {this.fid = fid;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

5.在src/main/java下创建实体Bean ForumPost,包名(com.mycompany.shequ.bean)如图所示

6.实体Bean ForumPost的内容如下

package com.mycompany.shequ.bean;import org.springframework.beans.factory.annotation.Autowired;public class ForumPost {private int pid;private String name;private Forum forum;public ForumPost() {super();}@Autowiredpublic ForumPost(Forum forum) {super();this.forum = forum;}public int getPid() {return pid;}public void setPid(int pid) {this.pid = pid;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Forum getForum() {return forum;}public void setForum(Forum forum) {this.forum = forum;}}

7.在src/main/resources下创建Bean配置文件,配置文件名称spring-bean.xml,如图所示

8.spring-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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="forumpost"class="com.mycompany.shequ.bean.ForumPost"></bean><bean id="forum" class="com.mycompany.shequ.bean.Forum"><property name="fid" value="3"></property><property name="name" value="@Autowired 在构造方法上"></property></bean></beans>

9.在src/main/resources下创建spring的核心配置文件applicationContext.xml,如图所示

10.spring的核心配置文件applicationContext.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/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsd"><context:annotation-config /><import resource="bean/spring-bean.xml"/></beans>

11.在src/test/java下创建测试类ForumPostTest,包名(com.mycompany.shequ.bean),如图所示

12.测试类ForumPostTest的内容如下

package com.mycompany.shequ.bean;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class ForumPostTest {/*** spring 的自动装配Beans,通过注解@Autowired在构造方法上*/@Testpublic void autowiredTest(){ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");ForumPost forumPost = (ForumPost) context.getBean("forumpost");System.out.println(forumPost.getForum().getName());}
}   

13.在测试类ForumPostTest的byTypeTest方法上右键运行,输出结果如图所示

转载于:https://blog.51cto.com/suyanzhu/1909539

Spring4-自动装配Beans-通过注解@Autowired在构造方法上相关推荐

  1. Spring(三)——HelloSpring、IOC创建对象的方式、属性注入、自动装配、使用注解开发

    文章目录 1. 简介 2. IOC理论推导 3. HelloSpring 4. IOC创建对象的方式 4.1 使用无参构造创建对象(默认) 4.2 使用有参构造创建对象 5. Spring配置 5.1 ...

  2. Spring(6)---自动装配Beans

    Spring自动装配Beans 在Spring框架,可以用 auto-wiring 功能会自动装配Bean.要启用它,只需要在 <bean>定义"autowire"属性 ...

  3. Spring学习笔记(六)。Spring自动装配,按名称自动装配:byName,按类型自动装配:byType,@Autowired,@Qualifier,@Resource

    文章目录 Bean的自动装配 1. 测试环境搭建 2. byName 3. byType 4. 使用注解 4.1 @Autowired 4.2 @Qualifier 4.3 @Resource 5. ...

  4. Spring实现自动装配(spring注解详解)和手动注入比较

    概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO ...

  5. spring——Spring自动装配(基于注解)(转载)

    从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译.类加载和运行时被读取,执行相应的处理. 开发人员可以通过注解在不改变原有代码和逻辑的 ...

  6. Spring自动装配Beans

    在Spring框架,可以用 auto-wiring 功能会自动装配Bean.要启用它,只需要在 <bean>定义"autowire"属性. <bean id=&q ...

  7. Spring自动装配(基于注解)

    从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译.类加载和运行时被读取,执行相应的处理.开发人员可以通过注解在不改变原有代码和逻辑的情 ...

  8. @Autowired作用在方法上

    @autowired 用于测试的实体类User,并将这个类注入到Spring容器中,为@autowired注解放在方法做前提工作 @Component public class User { priv ...

  9. .编写一个注解。并添加元注解,让该注解可以用在方法上,类上,和属性上

    /*** @author silence* <p>* test标注的会被调用*/ public class DemoA {public void method1() {System.out ...

最新文章

  1. 比较有趣的一个笔试题目
  2. html 文本框 无法输入,无法在HTML文本框中输入任何东西
  3. python实现Linux命令wget
  4. 魔域几点服务器重置,服务器维护后第一轮BOSS时间以及每张地图的BOSS点!
  5. 沫沫金:联想E431 1K6安装Windows系统100%成功技巧
  6. 文献记录(part19)--Cross modal similarity learning with active queries
  7. python counter_教你Python的collections.Counter类型
  8. Java—static关键字
  9. .NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用
  10. php 爬取一个人的网易云评论,爬取网易云音乐某一个人的评论
  11. 2020年中国人口出生率为8.52‰,首次跌破10‰,创下1978来新低
  12. easyui的textbox绑定focus事件(子页面
  13. Sprintf函数用法
  14. 常见分布及其概率分布图
  15. 机器学习模型的超参数优化
  16. 从共享征信黑名单到建立白名单体系:LinkEye想打造基于区块链的征信联盟
  17. 华为 致 新 员 工 书
  18. 【feature_column处理】- numeric_column数值列
  19. 一篇文章搞定DX9.0c 环境里的3DXSpriet !!
  20. k8s中pod删除不了的原因和正确的删除方法

热门文章

  1. 高级计算机网络的基本知识
  2. python numpy中sum()时出现负值
  3. flask小demo-数据查询
  4. android项目 之 记事本(6)----- 加入手写
  5. Google File System设计方面的问题汇总
  6. Django实战(1):需求分析和设计
  7. 帝国cms 打开打开转换表文件失败!
  8. 深度启动盘工具linux,Linux下无法安装深度启动盘制作工具
  9. docker 搭建nginx php mysql_Docker搭建PHP/Nginx/MySQL/Composer环境
  10. 开发工具:收集12 个顶级 Bug 跟踪工具,值得收藏!