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 的具体实现. 在编写程序时,通过控制反转,把对象的创建交给 ...
最新文章
- windows下使用aspell开启emacs的单词拼写检查功能
- 【数据安全案例】交警计算机系统再遭***,交通违法记录随意删除
- 电脑达人教你怎么解决Win7系统盘渐渐变小的问题
- SQL Server 查看表定义的 2 种方法
- 【Linux sshfs】sshfs将远程目录挂载到本地目录
- Visual Studio 快捷键使用方法
- (王道考研计算机网络)第一章计算机网络体系结构-第二节体系结构与参考模型2:ISO/OSI模型
- 浏览器调试时控制台出现:Uncaught SyntaxError: Unexpected identifier
- CODE[VS]1012 最大公约数和最小公倍数问题
- Java 14 中令人期待的五大新特性!
- stm32波特率计算
- 弱监督学习总结(1)
- 《Nature》论文插图的Matlab复刻第4期—单组多色柱状图(Part2-82)
- 关于数据结构(c语言)中结构体声明的LNode, *LinkList
- 【系统】ThrottleStop软件使用教程入门级,游戏+工作两种解决cpu过热方案
- 本地Ping不通华为云服务问题解决
- 获取crumbIssuer
- 蓝牙设备删除失败_这软件能让你的蓝牙耳机,用上AirPods的功能
- 【Neo4j】SOLVED:java.lang.RuntimeException: Error starting Neo4j database server
- gitlab合并分支后需要提交吗_Gitlab合并了两个分支