微服务入门–1 搭建SpringBoot项目
框架简介
对于很多Spring框架的初学者来说,经常会因为其繁杂的配置文件而却步。而对于很多老手来说,每次构建项目总是会重复复制粘贴一些差不多的配置文件这样枯燥乏味的事,作为一名优秀的程序员或架构师,我们总是会想尽办法来避免这样的重复劳动,比如,通过Maven等构建工具来创建针对不同场景的脚手架工程,在需要新建项目时通过这些脚手架来初始化我们自定义的标准工程,并个人呢就需要做一些简单修改以达到简化原有配置剁成的效果。这样的做法虽然减少了工作量,但是这些配置依然大量散步在我们的工程中,大部分情况下我们并不会去修改这些内容,但为什么还要反复出现在我们的工程中呢?
Spring boot的出现可以有效改善这类问题,Spring boot的宗旨并非要重写Spring或是替代Spring,而是希望通过设计大量的自动化配置等方式来简化Spring原有样化的配置,使得开发者可以快速构建应用。
初始搭建
- 使用开发工具创建新的项目
- 通过官方的Spring Initalizr工具来产生基础项目。
- 访问http://start.spring.io/,该页面提供了以Maven或Gradle构建Spring Boot项目的功能。
点击NEXT填写Artifact Id… - 选择构建工具、Spring Boot版本、添加需要的依赖包
这里我选择了“Web”类别下的“Spring Web Starter”、“Template”类别下的“Thymeleaf”以及“SQL”类别下的“Spring Data JPA”和“Mysql Driver”。
点击NEXT,填写项目名称,完成项目搭建,至此,SpringBoot基础项目搭建就到此结束了。
搭建过程可能出现的问题
- 在构建应用时,找不到Spring Initializr,这时应该在settings->plugins寻找spring boot,找到之后安装重启即可。
- 添加依赖时无java web start 只有java web,此时勾选java web也可以,这是因为Springboot版本不一样导致。
编写DEMO
-
创建新的package,在新建包下面新建TestController类,使用Restful风格来实现代码。
-
启动应用
-
在启动时可能会出现DataSource没有配置,这是因为在pom中引入了mybatis-spring-boot-starter ,Spring boot默认会加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration类,DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean。因为工程中没有关于dataSource相关的配置信息,当spring创建dataSource bean因缺少相关的信息就会报错。
解决办法:
在Spring boot的启动引导类上增加@EnableAutoConfiguration(exclude= {DataSourceAutoConfiguration.class}),阻止Spring boot自动注入dataSource,当然了,之后配置数据源之后应该删除掉这个注解,让项目默认加载。
-
应用启动成功之后,通过浏览器访问http://localhost:8080/hello,我们可以看到返回了预期结果,Hello World。