Spring Boot的初步学习

关于Spring Boot

Spring一直饱受争议的就是其大量的XML文件配置和依赖管理,不仅增加了使用难度也增加了维护时的损耗度。这让Spring团队陷入了思考,Spring Boot应运而生,Spring Boot不是Spring的替代品或者改良品,它出现的意义是为了优化Spring的开发体验。它依靠“约定优先配置”的思想来简化Spring繁杂的XML文件,这样我们在开发的时候,就不需要在各种配置上耗费精力了,因为Spring Boot已经为我们默认建立好了所有的配置,如果你想修改你依然可以建立配置文件进行修改,但如果你不想修改,无需其他操作你就可以直接写业务逻辑了。

Spring Boot的Hello World

基于传统的SpringMVC项目你需要创建至少三个配置文件:项目的web.xml文件、SpringMVC的上下文配置文件dispatcher-servlet.xml和Spring的上下文配置文件applicationContext.xml。而如果你使用Spring Boot构建项目,这些步骤都可以省去。
以Maven为例:
1.首先你需要在pom.xml文件中加入依赖:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.8.RELEASE</version>
</parent>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.创建ApplicationMain类

@SpringBootApplication
//这个注解为了阻止spring boot自动注入datasource bean,spring boot在启动的时候会默认加载DataSourceAutoConfiguration类,这个类使用了@Configuration注解向spring boot注入了datasource bean,因为工程中并没有datasource的相关配置信息,所以就会报错。
@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
public class ApplicationMain {
    public static void main(String[] args) {
        SpringApplication.run(ApplicationMain.class, args);
    }
}

@SpringBootApplication注解是一种简化的注解方式,为了解决main类头上注解过多的问题。实质上它的作用等于以下三个注解的默认值:@Configuration,@EnableAutoConfiguration,@ComponentScan。我们下面简单的介绍一下这三个注解的作用。
@Configuration注解一般和@Bean注解一起使用,也是为了简化XML文件的一种方式,将一个XML文件转化为一个Java类(但肯定没有“约定优于配置”理念方便),是为了告诉Spring这是一个配置类。
@EnableAutoConfiguration:自动配置Spring的上下文。
@ComponentScan:会扫描指定包底下带有@Component标注的类装配成bean,包括@Component下得子注解,比如@Controller、@Service、@Repository。因为是默认值,所以ApplicationMain 类必须要建立在项目的root package下,比如这样:
这里写图片描述

3.创建HelloController

@Controller
public class HelloController {
    @RequestMapping("/")
    public String hello(){
        return "hello";
    }
}

@RequestMapping("/helloWorld")
@ResponseBody
public String helloWorld(){
    return "Hello World";
}

4.创建视图
我们需要在resources目录底下的application.properties文件中加入配置:

spring.thymeleaf.prefix = classpath:/templates/
spring.thymeleaf.suffix = .html

然后在resources/templates下创建hello.html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>Title</title>
</head>
<body>
    Hello World
</body>
</html>

5.运行main函数然后访问http://localhost:8080/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值