Spring:Bean依赖注入方式
目录
- 1 依赖注入方式
- 1.1 创建maven工程
- pom.xml
- 1.2 创建bean
- Student.java
- Teacher.java
- 1.3 创建配置文件
- applicationContext.xml
- 2 构造器注入
- TestSpring01.java
- 3 属性注入
- TestSpring02.java
- 4 测试问题
1 依赖注入方式
1.1 创建maven工程
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>chapter07</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.0.8.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.0.8.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>5.0.8.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.8.RELEASE</version><scope>compile</scope></dependency></dependencies></project>
1.2 创建bean
Student.java
package com.qfedu.bean;public class Student {private int sid;private String name;private String age;private String course;//全参构造public Student(int sid, String name, String age, String course) {this.sid = sid;this.name = name;this.age = age;this.course = course;}//toString()方法@Overridepublic String toString() {return "Student{" +"sid=" + sid +", name='" + name + '\'' +", age='" + age + '\'' +", course='" + course + '\'' +'}';}
}
Teacher.java
package com.qfedu.bean;public class Teacher {private int tid;private String name;
//set方法public void setTid(int tid) {this.tid = tid;}public void setName(String name) {this.name = name;}//toString方法@Overridepublic String toString() {return "Teacher{" +"tid=" + tid +", name='" + name + '\'' +'}';}
}
1.3 创建配置文件
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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 通过构造器注入成员变量的值 --><bean id="student" class="com.qfedu.bean.Student"><constructor-arg name="sid" value="1"/><constructor-arg name="name" value="ZhangSan"/><constructor-arg name="age" value="20"/><constructor-arg name="course" value="Java"/></bean><bean id="teacher" class="com.qfedu.bean.Teacher"><property name="tid" value="1"></property><property name="name" value="LiSi"></property></bean>
</beans>
2 构造器注入
TestSpring01.java
package com.qfedu.test;import com.qfedu.bean.Student;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring01 {public static void main(String[] args) throws Exception{ApplicationContext applicationContext = newClassPathXmlApplicationContext("applicationContext.xml");Student student = applicationContext.getBean("student", Student.class);//输出类对象的信息System.out.println(student);}
}
3 属性注入
TestSpring02.java
package com.qfedu.test;import com.qfedu.bean.Teacher;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring02 {public static void main(String[] args) {ApplicationContext applicationContext = newClassPathXmlApplicationContext("applicationContext.xml");Teacher teacher = applicationContext.getBean("teacher", Teacher.class);
// 输出Teacher类对象的信息System.out.println(teacher);}
}
4 测试问题
Caused by: java.lang.ClassNotFoundException: org.springframework.core.metrics.ApplicationStartup
报错原因:
pom文件依赖版本的问题,Spring核心容器jar包和依赖jar包版本需要统一;这里的Spring版本为5.0.8.RELEASE,所有的Spring 相关的依赖都应该是这个版本。
参考链接: 解决:Caused by: java.lang.ClassNotFoundException: org.springframework.core.metrics.ApplicationStartup
Spring:Bean依赖注入方式相关推荐
- spring的依赖注入方式
spring的依赖注入两种方式:Setter-based Dependency Injection(set方法去注入) 和 Constructor-based Dependency Injection ...
- Spring bean依赖注入、bean的装配及相关注解
依赖注入 Spring主要提供以下两种方法用于依赖注入 基于属性Setter方法注入 基于构造方法注入 Setter方法注入 例子: public class Communication {priva ...
- spring中依赖注入方式总结
文章来源于今日头条用户:分布式系统架构 一.注解注入 注解注入在Spring中是用的最多的一种方式,就是在java代码中使用注解的方式进行装配,在代码中加入@Resource或者@Autowired. ...
- Bean 依赖注入方式
依赖注入:让调用类对某一接口实现类的依赖关系由第三方注入,以移除调用类对某一接口实现类的依赖. 接下来将详细的向大家介绍Spring容器支持的三种依赖注入的方式以及具体配置方法: • 属性注入方 ...
- Spring DI依赖注入方式
1.构造器注入 2.Set方式注入[重点] 依赖注入:Set注入 依赖:bean对象的创建依赖于容器 注入:bean对象中的所有属性,由容器来注入. [环境搭建] Student package co ...
- Spring Bean 的注入方式
DI 注入 一. 传统的注入方式 通过bean标签方式注入 通过包扫描的方式注入 二. 注解方式配置注入 @Configuration 与 @Bean 注解方式注入 @ComponentScan 包扫 ...
- Spring Bean 依赖注入
动注入 手动注入就是在XML中定义Bean时,给Bean的某个属性指定了值. set方法注入 <bean name="orderService" class="co ...
- spring的依赖注入方式详解
第一种:使用setter注入 直接使用bean元素的子元素property进行相关的设置 ①简单类型,直接使用value进行赋值. <bean id="somebean" c ...
- 05.bean依赖注入的三种方式
05.bean依赖注入的三种方式 1.概述 依赖注入 DI(Dependency Injection):它是 Spring 框架核心 IOC 的具体实现. 在编写程序时,通过控制反转,把对象的创建交给 ...
最新文章
- /proc/meminfo详解 = /nmon analysis --MEM
- php定界符EOF讲解
- |9 其他(linux特定的), 用来存放内核例行程序的文档.,Linux下的帮助命令
- T.38 and the future
- glassfish_具有GlassFish和一致性的高性能JPA –第3部分
- cfar恒虚警matlab实现,一种用于距离副瓣抑制的自适应恒虚警方法与流程
- 那是财务自由的声音!寒武纪上市造就一批85后亿万富翁
- 修改wifi密码后连接不上服务器,WiFi修改密码后,手机电脑连接不上
- 经验:多表复制(结构、数据)
- C++ 运算符重载四(自定义数组类)
- C#调用Web Service时的身份验证 (转)
- dblink连接远程mysql_MySQL中使用federated 实现dblink 远程表访问
- 各种OS的TCP Init RTO
- Maya: 菜单 曲面 双轨成形双轨成形3+工具
- Qt5.9生成一个Adroid的apk应用实例
- Matlab 数字图像处理 学习笔记(一)
- 高颜值游戏专属蓝牙耳机推荐,2020五款商城高人气蓝牙耳机
- Matlab实现蒙特卡罗方法(随机模拟法)
- Mysql:Got error 28 from storage engine
- 路由器与服务器延迟过高,路由器延迟高什么原因(图文)
热门文章
- 阿特斯闯关科创板:掉队的光伏巨头,还能靠“IPO”突围吗?
- [计算机网络]十三、配置iptables防火墙(SNAT和DNAT的策略及应用、使用layer7应用层过滤功能)
- TextView显示文字上下有空白
- 罗辑思维CEO脱不花:工作和成长,这是我的121条具体建议
- JAVA期末考试工程部分_如何看待山东科技大学2019年java期末考试?
- [模型学习]Attention机制及其原理推导
- 博客系统前台页面设计
- 回收租赁系统app源码,物品回收+物品租赁+二手交易三大场景
- 有没有好的python教程推荐_Python Pandas教程推荐,全网最佳,没有之一
- 坚持就是胜利—兄弟连IT教育