官网:https://projects.spring.io/spring-framework/
Spring Framework 5.x 要求 JDK 1.8以上
1.0 在(1)的基础上,给build.gradle文件中添加 依赖
compile 'org.springframework:spring-context:5.0.0.RELEASE'
![](https://images2017.cnblogs.com/blog/1056322/201710/1056322-20171022131301052-1518928104.png)
2.0 gradle.build
apply plugin: 'java-library' apply plugin: 'idea' // mainClassName 是 application的一个属性,否则会报错 apply plugin: 'application' mainClassName = 'hello.Application' sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile "joda-time:joda-time:2.2" compile 'org.springframework:spring-context:5.0.0.RELEASE' } // 该项目生成的jar包的名字和版本,如 gs-gradle-0.1.0.jar jar { baseName = 'gs-gradle' version = '0.1.0' }
MessageService.java
package hello; /** * Created by sheting on 10/22/2017 */ public interface MessageService { String getMessage(); }
MessagePrinter.java
package hello; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * Created by sheting on 10/22/2017 */ @Component public class MessagePrinter { final private MessageService service; @Autowired public MessagePrinter(MessageService service) { this.service = service; } public void printMessage() { System.out.println(this.service.getMessage()); } }
Application.java
package hello; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; /** * Created by sheting on 10/22/2017 */ @Configuration @ComponentScan public class Application { @Bean MessageService mockMessageService() { return new MessageService() { public String getMessage() { return "Hello World!"; } }; } public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(Application.class); MessagePrinter printer = context.getBean(MessagePrinter.class); printer.printMessage(); } }
运行结果: