编程知识点IT技术篇Java学习笔记

Spring/Spring MVC/Spring Boot有什么

2017-08-02  本文已影响124人  魏永_Owen_Wei

Spring,Spring MVC 和Spring Boot是为了解决不同的问题,并不是相互冲突的。

1.Spring的功能

Spring架构最核心的功能就是依赖注入

所有Spring模块的核心都是依赖注入。如果合理使用依赖注入,我们可以构建低耦合的应用,而且应用更容易进行单元测试。

不使用依赖注入的例子:

@RestController
public class WelcomeController {
    private WelcomeService service = new WelcomeService();
    @RequestMapping("/welcome")
    public String welcome() {
        return service.retrieveWelcomeMessage();
    }
}

WelcomeService service = new WelcomeService();这一步创建了一个实例,这个实例和service是仅仅联系在一起的。如果想替换controller中的WelcomeService就不是一件简单的事情了。

使用依赖注入的例子:

@Component
public class WelcomeService {
    //Bla Bla Bla
}
@RestController
public class WelcomeController {
    @Autowired
    private WelcomeService service;
    @RequestMapping("/welcome")
    public String welcome() {
        return service.retrieveWelcomeMessage();
    }
}

注解@Component会告诉Spring这里有个bean需要管理。
注解@Autowired会告诉Spring为这个类型找到正确匹配的项并自动装载。

在这个例子中Spring会自动创建一个bean并自动装载到controller中。在执行单元测试的时候可以让Spring自动转载mock service到controller。

除了这个核心功能之外,Spring还有两个重要功能:

减少重复代码

Spring提供了很多模块比如Spring JDBC,Spring MVC,Spring Test。这些功能可以自己实现,但是借助这些封装的模块就能减少代码量,代码越少bug就越少。

很好的集成其他框架

Spring架构从不解决已经被解决的问题,而且和这些解决问题的框架能够很好的集成。比如Hibernate,iBatis,JUnit。

2.Spring MVC的功能

Spring MVC提供了一种轻度耦合的方式来开发web应用。

Spring MVC是Spring的一个模块,式一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

3.Spring Boot的功能

Spring Boot实现了自动配置,降低了项目搭建的复杂度。

众所周知Spring框架需要进行大量的配置,Spring Boot引入自动配置的概念,让项目设置变得很容易。Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

上一篇 下一篇

猜你喜欢

热点阅读