官网: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'

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();
}
}

运行结果:

最新文章

  1. Atitit  数据库的事件机制--触发器与定时任务attilax总结
  2. poj1664-放苹果(递归)
  3. VPS拨号主机自动拨号脚本(centos7)
  4. log4j介绍以及使用教程
  5. jenkins创建job不能用中文问题
  6. The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
  7. C#上位机读数据库
  8. Access denied for user 'root'@'localhost' (using password:YES) 解决方案
  9. (转载)Android出现“Read-only file system”解决办法
  10. Hibernate5环境搭建
  11. eclipse热部署web项目
  12. 四大组件之Service小结
  13. 2017-2018 ACM-ICPC, Central Europe Regional Contest (CERC 17)
  14. 朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法(古典、SOA、传统、K8S、ServiceMesh)
  15. Angular新手容易碰到的坑
  16. (三)使用链式数据实现包(java)
  17. 第三节 java 数组(循环遍历、获取数组的最值(最大值和最小值)、选择排序、冒泡排序、练习控制台输出大写的A)
  18. 【PHP开发规范】继承与扩展:PSR-2 编码风格规范
  19. Hibernate批量处理数据、[HQL连接查询]
  20. 原生mybaits学习笔记

热门文章

  1. ORM框架SQLAlchemy的使用
  2. .netCore2.0 配置文件
  3. sublime text 3 PHP 所需插件
  4. 【读书笔记】读《编写可维护的JavaScript》 - 编程实践(第二部分)
  5. 远程桌面下启动MATLAB时的License Manager Error -103错误
  6. CXF - JAX-WS入门
  7. mybatis学习之CLOB、BLOB处理及多参数方法映射
  8. springboot项目作为war包运行
  9. AtomicInteger关键字
  10. csharp: Request.Form,Request.QueryString,Request.Params,Request.Cookies