Spring-Boot学习笔记一:Hello World

Spring-Boot学习笔记一:Hello World

最近学习Spring-Boot,将学习的过程记录下来,做一个笔记,也希望能帮到其他学习Spring-Boot的程序员。

该系列学习笔记主要包涵以下几个内容:

  • Spring-Boot 入门
  • Spring-Boot 添加jsp页面
  • Spring-Boot 集成 MyBatis 、通用Mapper(tk.mybatis)、PageHelper 和阿里巴巴数据库连接池druid
  • Spring-Boot 集成Spring-Session 使用Redis 实现Session 共享
  • Spring-Boot 集成Spring-Security 安全框架并实现数据库管理资源

以上功能已经全部完成,博文会陆续产出,后续计划加入以下功能

  • Spring-Boot 日志收集
  • Spring-Boot 邮件发送
  • Spring-Boot 集成Solr 实现全文搜索
  • Spring-Boot 集成Activiti 工作流引擎
  • Spring-Boot 使用Spring-Data-Redis实现Redis缓存

后续还会加入Spring-Cloud+Docker的集成,还没学习Docker,这个可能得需要一段时间


Spring-Boot 简介

先上一段Spring-Boot的官方英文简介:
   Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
   说了一大堆我没怎么看懂,大概意思是:Spring-Boot很容的就能让你创建一个Spring的项目,在这儿我就理解为可以让你很容易的创建一个SpringMVC的项目,而且不需要写一大堆模版配置文件,主要通过注解去实现一些配置。Spring-Boot内部集成了Tomcat,所以运行Spring-Boot不要你在外部配置Tomcat,大概就是这么多。
(PS:说的有点糙,如果需要更详细的解释请阅读Spring-Boot的官方文档,或者自行百度,或者科学上网上google)

Hello World实例

这里我用的开发工具是IntelliJ IDEA,如果用Eclipse就自己琢磨怎么新建吧,毕竟Eclipse用了这么多年了,应该都没问题

打开IDEA,点击Create New Project

Spring-Boot学习笔记一:Hello World_第1张图片

在这里选择左侧的Maven,创建一个Maven项目,本项目是基于Maven构建的,或者有人想玩儿高端用Gradle构建也没问题,但是一定要明白Gradle是怎么构建的,别到时候出各种问题,那时候再换Maven就不赶趟了。

点击Next 填写GroupId 和 ArtifactId,Version大家根据需要自行修改就好了

GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

Spring-Boot学习笔记一:Hello World_第2张图片

填写完之后,点击Next。在Project name处输入项目名称
Spring-Boot学习笔记一:Hello World_第3张图片

点击Finish完成项目创建。

现在看看创建完之后项目的结构:

Spring-Boot学习笔记一:Hello World_第4张图片

就是一个普通的Maven项目,接下来就开始Spring-Boot的入门搭建了。

第一步、在pom.xml文件中添加Spring-Boot的依赖

在pom.xml文件中添加以下代码

<properties>
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    <java.version>1.8java.version>
properties>
<parent>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-parentartifactId>
    <version>1.3.6.RELEASEversion>
parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-webartifactId>
    dependency>
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-testartifactId>
        <scope>testscope>
    dependency>
dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
        plugin>
    plugins>
build>  

properties 标签里的内容是设置编码和java的版本
parent 标签是设置Spring-Boot的依赖
dependencies 标签是Spring-Boot的web依赖和test依赖,这个可以不指定版本号,版本号和parent的保持一致

截止目前Srping-Boot的正式版本是1.4.0,这里使用的是1.3.6,我直接将版本号改为1.4.0程序启动失败,所以先用1.3.6

第二步、在 src/main/java 编写代码

Spring-Boot 是需要一个Application去启动程序,所以新建一个类里边写一个main方法启动就可以了

@SpringBootApplication
public class HelloApplication {

    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class, args);
    }
}

这个这个程序的入口,我就不多说了,注意这个注解一定不能少,这个注解的意思就是告诉程序我这个类是一个SpringBoot的Application,启动程序就得启动我。

这样Spring-Boot的搭建就完成了,那么接下来测试一下吧!

新建一个Controller(这里就是SpringMVC的Controller,不会SpringMVC的就自行google百度吧)

@RestController
public class TestController {

    @RequestMapping("/hello")
    public String hello() {
        return "hello world";
    }
}

这样的写法和大家之前见过的基本一样,唯独那个@RestController 注解可能有点陌生,看看源码

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
    String value() default "";
}

就是把@Controller 和 @ResponseBody 给集合在一起了,这两个注解我也不多说了,用过SpringMVC的都知道,不知道的请先学习SpringMVC再来看这个。

至此代码部分就都写完了,现在就测试吧,在HelloApplication 中右键Run就可以了,然后在浏览器中访问http://localhost:8080/hello 就可以TestController 里hello方法return的”hello world”了。

这个HelloWorld的代码我就放到github了,有需要的来取!
https://github.com/david1025/SpringBoot-HelloWorld

好了第一篇就写到这儿了,有什么不懂的可以联系我
邮箱 : [email protected]

下一篇讲解怎么使用jsp

你可能感兴趣的:(Spring-Boot)