您好,登錄后才能下訂單哦!
這篇文章主要介紹了spring怎么實現依賴注入DI的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇spring怎么實現依賴注入DI文章都會有所收獲,下面我們一起來看看吧。
mvn archetype:generate -DarchetypeCatalog=internal
引入需要的依賴,首先spring-context,還是spring-test,最后還有junit。
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <springframework.version>4.3.7.RELEASE</springframework.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${springframework.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-test --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${springframework.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>utf-8</encoding> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.0.0</version> <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>
package com.xueyou.demo; import org.springframework.stereotype.Component; @Component public 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; @Component public class Body { public int getId() { return id; } public void setId(int id) { this.id = id; } private int id; }
需要注意的是,這里需要指定掃描的包
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!"); } }
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); } }
結果如下:
Person類和Student類已經被依賴注入到spring中,spring能夠使用這兩個類了。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.7.RELEASE</version> <scope>test</scope> </dependency>
去掉
<scope>test</scope>
關于“spring怎么實現依賴注入DI”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“spring怎么實現依賴注入DI”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。