Spring Boot系列(一)初识SpringBoot

打开博客,发现距上一篇博客已有小半年的时间了,可见这段时间有多颓废。每天除了上班就是在玩游戏,要么就是在看剧。然后突然就觉得自己不能这样下去了,觉得自己必须要学点什么,不然就要被世界给抛弃了。这时我想到了SpringBoot,它是近两年来很火的一个框架,它的出现是为了简化新spring应用的搭建和开发过程,让程序员使用少量的配置就能搭建一个完整的spring应用。若想更多的了解springboot,请各位小伙伴自行查阅资料,这里就不多做介绍了!嗯,废话不多说,下面我们开始在eclipses上搭建一个SpringBoot应用
首先,你得在eclipse上安装一个STS(Spring Tool Suite)插件,具体安装方法:Help—>Eclipse Marketplace,打开Eclipse Marketplace后在搜索框输入sts回车即可搜索到该插件,然后安装即可。接下来我们便可以来创建一个springboot应用了,如下图:
在这里插入图片描述
点击Other,在弹出框中输入spring,如下图:
在这里插入图片描述
选择Spring Starter Project,点击Next,弹出如下界面,里面设置项目的一些基本信息
在这里插入图片描述
然后点击Next
在这里插入图片描述
我们创建的springboot的版本是2.0.6,也可以选择其它版本,红色方框圈起来的是我们可以在创建springboot应用时,指定我们需要的依赖组件,这里我们暂时只选择web就可以了,后面若需要添加其它组件,只需在pom.xml中添加依赖即可。点击Finish,一个springboot应用就创建好了,第一次创建花的时间比较久,它需要下载很多jar包,后面创建就快多了。我们来看看它的结构
在这里插入图片描述
打开TestspringbootApplication.java
在这里插入图片描述
这就是springboot项目的启动类,上面有一个SpringBootApplication注解,打开它我们发现它是一个组合注解,里面有ComponentScan,SpringBootConfiguration和EnableAutoConfiguration注解
在这里插入图片描述
我们选中这个类右键点击Run As,选择Spring Boot App就可以将项目运行起来了,当控制台打印出spring字样时,说明你的项目启动了,出现如下画面说明项目启动成功了
在这里插入图片描述
注意: 我们所有的类都得建立在与TestspringbootApplication.java同一个包或者子包中,否则无法被识别。一个springboot应用就搭建成功了!是不是有点小激动!别急,还有更神奇的呢,控制台打印的spring图样是可以自定义的,我们只需要在这里输入自定义的字符,然后选择自己喜欢的字体,就会生成你想要的字符样式了。然后点击下面圈红线的按钮
在这里插入图片描述
将选中的字符复制下来,然后在src/main/resources目录下建一个banner.txt文件
在这里插入图片描述
将复制的字符样式拷贝到该文件中,然后保存。重启项目即可。**注意:**在重启项目时,应先点击控制台的红色小按钮将项目停止
在这里插入图片描述
然后再启动,否则项目启动失败,报端口号被占用错误。重启之后效果如下:
在这里插入图片描述
当然,可以自定义显示banner图案,自然也可以将它关闭,我们只需要在入口类的main方法中将原来的代码注释,加入这两行代码即可

public static void main(String[] args) {
		//SpringApplication.run(TestspringbootApplication.class, args);
		
		//关闭banner显示
		SpringApplicationBuilder builder = new SpringApplicationBuilder(TestspringbootApplication.class);
		builder.bannerMode(Banner.Mode.OFF).run(args);
	}

我们再来新建一个子包com.springboot.testspringboot.controller,然后再新建一个类HelloController

@RestController
@RequestMapping(value="/hello")
public class HelloController {
	
	@GetMapping(value="/sayHello")
	public String sayHello() {
		return "hello spring boot";
	}
}

这是一段很简单的代码,相信学过springMVC的小伙伴肯定都很熟悉了,@GetMapping表示使用GET方式请求,对应的有@PostMapping,@PutMapping等等。其它的我就不多说了,相信你们都懂的,接下来我们重启项目,使用Postman(这是一个非常好用的接口开发测试工具,强烈推荐大家使用)访问一下localhost:8085/hello/sayHello
在这里插入图片描述
OK,访问成功!这里小伙伴们有没有很惊讶,我们根本就没有把项目部署到tomcat服务器上,居然就可以直接访问了。反正我是被惊讶到了!那是因为springboot已经帮我们将tomcat内置到项目中了。不知道小伙伴们有没有发现我tomcat的端口号是8085而不是8080呢?要知道tomcat默认的端口号不是8080吗?哈哈,下面我们再来讲讲springboot的配置文件,springboot默认使用.properties作为配置文件,但我推荐大家使用.yml,因为它更适合作为配置文件。你们待会可以对比一下,看看.yml文件是不是更方便,更好用。我们先删除.properties文件,新建一个application.yml文件,然后打开
在这里插入图片描述
我在这里把tomcat的端口号修改成8085。不仅如此,我们还可以在这修改很多配置,比如说修改项目的根路径,我们可以这样写
在这里插入图片描述
访问路径就变成了localhost:8085/springboot/hello/sayHello,我们还可以有自定义的配置
在这里插入图片描述

@RestController
@RequestMapping(value="/hello")
public class HelloController {
	
	@Value("${userId}")
	private String id;
	
	@GetMapping(value="/getId")
	public String getId() {
		return id;
	}
	
	@GetMapping(value="/sayHello")
	public String sayHello() {
		return "hello spring boot";
	}
}

@value注解用于将配置文件中属性的值赋给变量id
${userId}表示获取配置文件中userId的值

在这里插入图片描述
访问成功!
当我们在配置文件中配了一个对象,且该对象很多属性时
在这里插入图片描述
我们再使用@value注解就会显得很吃力了,而且也很啰嗦。我们可以这样做,创建一个teacher类

@Component
@ConfigurationProperties(prefix="teacher")
public class Teacher {
	
	private String name;
	private String age;
	private String sex;
	private List<String> teachClassList;//所带班级
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public List<String> getTeachClassList() {
		return teachClassList;
	}
	public void setTeachClassList(List<String> teachClassList) {
		this.teachClassList = teachClassList;
	}
}

@Component创建一个teacher实例对象
@ConfigurationProperties(prefix=“teacher”)表示将配置文件中前缀为teacher下的属性按名称一一注入到该对象的属性中

然后在HelloController中添加如下代码

	@Autowired
	private Teacher teacher;
	@GetMapping(value="/hiTeacher")
	public Teacher hiTeacher() {
		return teacher;
	}

这段代码就不用解释了吧,使用Postman访问
在这里插入图片描述
是不是觉得不可思议,这么多的属性使用一个@ConfigurationProperties就解决了!
不知道小伙伴们有没有这样的经历,我们在工作中,一般会有多个环境来运行我们的项目,比如开发环境,测试环境,还有生产环境。而每个环境下的配置文件都不一样,这就导致我们每次打包到不同的环境时都需要更换配置文件,这样特别的麻烦,而且还容易出错。但是,如今我们有了springboot,完全不用担心。只需要在application.yml文件中配置一下你要使用的是哪个环境的配置文件就好了。现在我们来新建两个配置文件application-dev.yml和application-prod.yml
在这里插入图片描述
我们的配置文件application.yml这样写

spring:
  profiles:
    active:
    - dev

这就表示启用applicationa-dev.yml的配置,要使用application-prod.yml的配置只需将dev换成prod即可。
若有不足之处还望各位小伙伴多多指教!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值