spring依赖注入的三种方式列举,spring实现依赖注入的几种方式
目录
弹簧依赖注入DI1、创建一个专家项目2、修改pom.xml3、添加类人和正文4,在配置类应用中,添加组件扫描5,新建一个测试类6、运行测试类7、从运行结果中我们能看到弹簧试验依赖无法使用问题
spring依赖注入DI
1、创建一个maven项目
mvn原型:生成-DarchetypeCatalog=内部
2、修改pom.xml
引入需要的依赖,首先春天的背景,还是春季测试,最后还有朱尼特.
属性项目。建造。sourceencodingutf-8/项目。建造。spring框架源代码编码。版本4。3 .7 .释放/弹簧框架。版本/属性依赖项依赖项groupId JUnit/groupId artifact id JUnit/artifact id版本4.12/版本范围测试/范围/依赖项!-https://mvn存储库。com/artifact/org。spring framework/spring-context-dependency groupIdorg.springframework/groupId artifact id spring-context/artifact id版本$ { spring framework。版本}/版本/依赖关系!-https://虚拟存储库。com/artifact/org。spring framework/spring-test-dependency groupIdorg.springframework/groupId artifact id spring-test/artifact id版本$ { spring framework。版本}/版本/依赖性/依赖性构建插件groupIdorg.apache.maven.plugins/groupId artifact id maven-编译器-插件/artifactId配置源1.8/源具体目标1.8目标编码输出f-8/编码/配置/插件插件artifact id maven-assembly-plugin/artifact id版本3 .0 .0/版本
> <configuration> <archive> <manifest> <mainClass>com.xueyoucto.xueyou.App</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- bind to the packaging phase --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
3、添加类Person和Body
package com.xueyou.demo;import org.springframework.stereotype.Component;@Componentpublic class Person { public String getName() { return name; } public void setName(String name) { this.name = name; } private String name;}
package org.xueyou.demo;import org.springframework.stereotype.Component;@Componentpublic class Body { public int getId() { return id; } public void setId(int id) { this.id = id; } private int id;}
4、在配置类App中,添加ComponentScan
需要注意的是,这里需要指定扫描的包
package com.xueyou.demo;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;/** * Hello world! */@Configuration@ComponentScan(basePackages = {"org.xueyou.demo","com.xueyou.demo"})public class App { public static void main(String[] args) { System.out.println("Hello World!"); }}
5、新建一个测试类
package com.xueyou.demo;import org.junit.Assert;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.xueyou.demo.Body;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes = App.class)public class Springtest { @Autowired private Body body; @Autowired private Person person; @Test public void testBodyIsNull(){ Assert.assertNotNull(body); } @Test public void testPersonIsNull(){ Assert.assertNotNull(person); }}
6、运行测试类
结果如下:
7、从运行结果中我们能看到
Person类和Student类已经被依赖注入到spring中,spring能够使用这两个类了。
spring-test依赖无法使用问题
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.7.RELEASE</version> <scope>test</scope></dependency>
去掉
<scope>test</scope>
好了,解决!以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。