前言

  此文只是记录自己简单学习spring boot的笔记。所以,文章很多只是初步理解,可能存在严重错误。

一、Spring boot的初步理解

  1、spring boot的目标 (摘自:spring-boot参考指南 official 中文

  • 为所有的Spring开发提供一个从根本上更快的和广泛使用的入门经验。
  • 开箱即用,但你可以通过不采用默认设置来摆脱这种方式。
  • 提供一系列大型项目常用的非功能性特征(比如,内嵌服务器,安全,指标,健康检测,外部化配置)。
  • 绝对不需要代码生成及XML配置。

  2、spring boot代替了什么,Spring、SpringMVC/Struts2、hibernate/Mybatis?

    个人理解:代替了spring。用代替/取代来解释貌似都不好,更准确的可能是封装了spring,使搭建SSH/SSM更快捷。

    传统的spring有很多xml配置,例如:dataSource、transactionManager、AOP、bean等等xml的配置。即便用注解,也要在xml中配置component-scan等。

    但在spring boot,遵循“约定大于配置”,所以尽可能的避免了xml配置。

  3、spring boot避免了哪些xml?

    主要是spring的application.xml、context等xml。但例如:mybatis.xml、log4j.xml等还是要的。

  4、什么是Starter POMs?

    Starter POMs是可以包含到应用中的一个方便的依赖关系描述符集合。你可以获取所有Spring及相关技术的一站式服务,

  而不需要翻阅示例代码,拷贝粘贴大量的依赖描述符。例如,如果你想使用Spring和JPA进行数据库访问,

  只需要在你的项目中包含 spring-boot-starter-data-jpa 依赖,然后你就可以开始了。

  参考参考指南13.4,pdf页数56/420。

二、Sping boot的建议

  1、推荐使用jdk1.8+。(虽然可以在1.6-1.7中使用)

  2、servlet容器。

【spring boot】SpringBoot初学(1) - Hello World

  3、Spring Boot兼容Apache Maven 3.2或更高版本;

       Spring Boot兼容Gradle 1.12或更高版本。

  4、建议使用thymeleaf、velocity、beetl等模版引擎。而不建议使用jsp(虽然可以配置jsp支持)。

三、demo

  1、代码结构(idea)

【spring boot】SpringBoot初学(1) - Hello World

  2、解释

    application.java:入口

    GreetingController.java:controller层代码。

    index.html:默认首页。localhost:8080访问的页面即index.html。

    greeting.html:请求页面。

    (1、为什么html是在resources中。2、为什么结构是static、templates。3、如何修改此“约定”,把html放到webapp/WEB-INF下。

  这些问题在以后学习,此文不讨论。)

  3、source code

http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>VergiLyn</groupId> <artifactId>Spring boot</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.3.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!-- 模版框架thymeleaf --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <!-- spring boot 单元测试依赖 BEGIN--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- spring boot 单元测试依赖 END--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
pom.xml

相关文章: