继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

SpringBoot(1) 初识SpringBoot

张家小哥613
关注TA
已关注
手记 6
粉丝 31
获赞 41

SpringBoot可以让我们快速创建一个基于Spring项目,而且可以简化很多配置。Springboot,主要有如下核心功能

   1. 可以独立运行Spring项目

Spring Boot可以以jar包的形式来运行,运行一个Spring Boot项目我们只需要通过java -jar xx.jar类运行。非常方便。

   2.内切servlet容器

Spring Boot可以内嵌Tomcat,这样我们无需以war包的形式部署项目

   3.提供starter简化Maven配置

使用Spring或者SpringMVC我们需要添加大量的依赖,而这些依赖很多都是固定的,这里Spring Boot 通过starter能够帮助我们简化Maven配置

   4.Springboot还具有自动配置Spring
   5.准生产应用的监控
   6.无代码生成和xml配置

除了上面这些,SpringBoot不仅快速提高了开发效率,而且还与以后的云计算有很好的集成

项目创建
环境:IntelliJ IDEA,JDK1.8,Maven

首先创建一个项目,创建时选择Spring Initializr,然后Next,如下图:

图片描述

填写项目信息,如下图:
图片描述

填写项目使用到技术,上面的Spring Boot版本建议选择稳定版,下面勾选上Web就可以了,如下图:
图片描述

最后,填写项目工程名字及项目存放路径点击finish:

图片描述

注意事项:SpringBoot项目第一次下载运行时由于下载相关的依赖,耗时间较长,后面就会快些。

OK,项目创建成功之后接下来我们来看如何去运行。首先我们看到在项目创建成功之后,在项目的根目录下会有一个artifactId+Application命名规则的入口类,如下图:

图片描述

这是整个项目的入口类,这个类有一个@SpringBootApplication注解,这是整个Spring Boot的核心注解,目的开启Spring Boot的自动配置。我们再添加一个@RestController注解,使之变为一个Controller,然后里边提供一个地址转换方法,如下:
图片描述
如下图,我们的项目运行成功,页面访问结果如下:
图片描述

@SpringBootApplication则是一个组合注解,我们可以看看它的源码:

图片描述

从上面可以看出SpringBootApplication它主要组合了@SpringBootConfiguration、@EnableAutoConfiguration以及@ComponentScan,@EnableAutoConfiguration则表示让Spring Boot根据类路径中的jar包依赖为当前项目进行自动配置我们在开发的过程中如果不使用@SpringBootApplication,则可以组合使用这三个注解

定制banner
我们在启动Spring Boot项目的时候,在控制台会默认输出一个启动图案,如下:
图片描述

我们如何对它进行修改呢,如下:

 1.在src/main/resources下新建一个banner.txt文档 
 2.通过http://patorjk.com/software/taag网站生成需要的字符,将字符拷贝到步骤1所创建的    txt文档中,

运行结果图像如下:
图片描述
Spring Boot的配置文件
Spring Boot使用一个全局的配置文件application.properties或者application.yml,配置文件放在src/main/resources目录下。properties是我们常见的一种配置文件,Spring Boot不仅支持properties这种类型的配置文件,也支持yaml语言的配置文件,这以properties类型的配置文件为例来看几个案例。

1.修改Tomcat默认端口和默认访问路径

将Tomcat默认端口是8080,改为8090,默认访问路径是http://localhost:8080,改为http://localhost:8090/xiaogeboot,在application.properties文件中添加如下代码:

server.context-path=/xiaogeboot
server.port=8081

这样我们然后再启动项目,在浏览器中访问如下:
图片描述

常规属性配置

如果我们使用了Spring Boot,在application.properties中定义属性,然后在代码中直接使用@Value注入即可。 如下:在application.properties中添加如下代码

    book.author=张家小哥
    book.name=盗墓笔记
    book.pinyin=小哥

然后 在IntelliJ IDEA中依次点击File -> Settings -> Editor -> File Encodings
将Properties Files (*.properties)下的Default encoding for properties files设置为UTF-8,将Transparent native-to-ascii conversion前的勾选上。如下图:
图片描述

接下来我们修改入口类,然后在变量中通过@Value直接注入,如下:
图片描述
访问浏览器如下:
图片描述

类型安全的配置

上面这种@value这种方式比较麻烦,当需要配置的内容很多时候。在SpringBoot中,提供了一种基于类型安全的配置,通过@ConfigurationProperties将Properties属性和一个bean及其属性关联,从而实现类型安全配置
1.在src/main/resources文件夹下创建文件book.properties,文件内容如下:

book.author=张家小哥
book.name=  盗墓笔记

2.创建Book Bean,并注入properties文件中的值
package com.example.demo.bean;

 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.PropertySource;
 import org.springframework.stereotype.Component;

 /**
 * Created by zhangqiang on 2018/10/5.
 */
 @Component
 @ConfigurationProperties(prefix="book")
 @PropertySource("classpath:book.properties")
 public class BookBean {
 private  String author;
 private  String name;

public String getAuthor() {
    return author;
}

public void setAuthor(String author) {
    this.author = author;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
}

在增加添加路径映射@ConfigurationProperties(prefix=“book”)@PropertySource(“classpath:book.properties”)时县需要注意,

在Controller中添加@Autowired如下代码注入Bean及增加引用路径如下:
图片描述

添加成功后运行如下:
图片描述

日志配置
默认情况下Spring Boot使用Logback作为日志框架,我们也可以手动配置日志级别以及日志输出位置,在application.properties中添加如下代码:

 logging.file=E:/xuexihao/muke/log/log.log
 logging.level.org.springframework.web=debug

上面表示配置日志输出位置,下面配置日志级别,运行如下图:
图片描述

Profile配置问题

在Spring Boot 中系统提供了不同环境的配置方式。全局Profile配置我们使用application-{profile}.properties来定义,然后在application.properties中通过spring.profiles.active=prod来指定使用哪个Profile。如下

在src/main/resources文件夹下定义不同环境下的Profile配置文件,文件名分别为application-prod.properties和application-dev.properties,前者表示生产环境下的配置,后者表示开发环境下的配置,如下:

配置如下:图片描述
application-dev.properties:

server.port=8080

application-prod.properties:

server.port=8090

然后在application.properties中进行配置,如下:

spring.profiles.active=dev

这表示使用开发环境下的配置。然后运行项目,通过8080端口可以访问如下:
图片描述

如果换为生产环境,需要把spring.profiles.active=dev改为spring.profiles.active=prod即可,当然访问端口这是也变为8090,如下:
图片描述

SpringBoot初识第一篇完结,参考资料:《JavaEE开发的颠覆者 Spring Boot实战》第五
章、第六章

下一篇:SpringBoot(2)SpringBoot的Web开发

打开App,阅读手记
7人推荐
发表评论
随时随地看视频慕课网APP

热门评论

,谢谢,辛苦了,写的真好

查看全部评论