Spring Boot的初步学习

来源:互联网 发布:java语言翻译器 编辑:程序博客网 时间:2024/05/16 15:43

关于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

@Controllerpublic class HelloController {    @RequestMapping("/")    public String hello(){        return "hello";    }}@RequestMapping("/helloWorld")@ResponseBodypublic 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/

原创粉丝点击