spring——依赖注入DI(main函数方式)
2017-05-01 13:31
316 查看
spring——依赖注入DI(main函数方式)
虽然题目上说的是main函数方式,但是更精确的说,应该是从java配置中加载spring的ApplicationContext。上一篇文章介绍了如何通过spring-test的方式进行spring的测试(http://blog.csdn.net/wild46cat/article/details/71055262),本篇文章主要介绍通过main函数作为配置入口使用spring。好,下面上货。
1、首先创建maven仓库。
mvn archetype:generate -DarchetypeCatalog=internal
2、添加pom.xml依赖。
<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>
3、添加Person类和Body类
package com.xueyou.demo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.xueyou.demo.Body; @Component public class Person { @Autowired private Body body; public void showMyBody(){ body.setId(100); System.out.println(body.getId()); } }
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; }
4、在main函数所在的类中配置spring扫描的包。
package com.xueyou.demo; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; 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!"); ApplicationContext applicationContext = new AnnotationConfigApplicationContext(com.xueyou.demo.App.class); Person p = applicationContext.getBean(Person.class); p.showMyBody(); } }
5、看一下类所在的包的关系。
6、运行结果:
相关文章推荐
- Spring的依赖注入(DI)三种方式
- spring——依赖注入DI(spring-test方式)
- Spring2.5依赖注入方式(DI)
- spring IOC(控制反转)和DI(依赖注入)以及三种依赖注入方式的比较
- spring学习总结(三):IOC & DI 配置 Bean 之配置形式及依赖注入方式
- spring(依赖注入-DI)
- Spring依赖注入的方式
- spring依赖注入的3种实现方式
- spring 依赖对象的注入方式(3种) 和 公共属性的设置abstract="true" parent
- spring 依赖注入之设值注入方式
- Spring依赖注入方式:
- spring依赖注入的方式
- spring Ioc 依赖注入的三种方式:构造函数注入、setter方法注入和接口注入
- Spring Ioc 之二 -依赖注入的几种方式
- spring 依赖注入方式总结详解
- Spring的 IOC 依赖注入方式
- Spring 常用的几种依赖注入方式
- spring依赖注入方式
- Spring依赖注入方式
- spring入门(依赖注入方式,生命周期,读取属性文件值,数据库接连)