在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Spring Boot是每个Java的学习者和开发者所必须要熟练掌握的内容,为什么这么说呢?当然是由于它优雅而又清楚简单的优势决定的。本篇文章主要是面向新手小白的Spring Boot快速入门攻略,会带大家快速认识spring boot,然后介绍它的优势和快速入门的具体操作步骤,感兴趣的朋友赶紧一起来看看吧!
一、什么是Spring Boot?
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简单来讲,Spring Boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,Spring Boot整合了所有的框架。
二、为什么要使用Spring Boot?
其实原因就只有一个,优雅、清楚、简单优于笨拙、含糊、复杂,这就是Spring Boot的核心竞争力!
三、快速入门攻略
(一)maven构建项目
1、访问http://start.spring.io/
2、选择构建工具Maven Project、Spring Boot版本1.3.6以及一些工程基本信息,点击“Switch to the full version.”java版本选择1.7。
3、点击Generate Project下载项目压缩包
4、解压后,使用eclipse,Import -> Existing Maven Projects -> Next ->选择解压后的文件夹-> Finsh,OK done!
(二)项目结构介绍
一般来讲,Spring Boot的基础结构共三个文件:
src/main/java 程序开发以及主程序入口
src/main/resources 配置文件
src/test/java 测试程序
另外,spingboot建议的目录结果如下:
root package结构:com.example.myproject
com
+- example
+- myproject
+- Application.java
|
+- domain
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- controller
| +- CustomerController.java
|
1、Application.java 建议放到跟目录下面,主要用于做一些框架配置
2、domain目录主要用于实体(Entity)与数据访问层(Repository)
3、service 层主要是业务类代码
4、controller 负责页面访问控制
采用默认配置可以省去很多配置,当然也可以根据自己的喜欢来进行更改
最后,启动Application main方法,至此一个java项目搭建好了!
(三)引入web模块
1、pom.xml中添加支持web的模块:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
pom.xml文件中默认有两个模块:
spring-boot-starter :核心模块,包括自动配置支持、日志和YAML;
spring-boot-starter-test :测试模块,包括JUnit、Hamcrest、Mockito。
2、编写controller内容:
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
}
@RestController 的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了!
3、启动主程序,打开浏览器访问http://localhost:8080/hello,就可以看到效果了,就是这么很简单!
(四)如何做单元测试
打开的src/test/下的测试入口,编写简单的http请求来测试;使用mockmvc进行,利用
MockMvcResultHandlers.print()打印出执行结果。
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MockServletContext.class)
@WebAppConfiguration
public class HelloWorldControlerTests {
private MockMvc mvc;
@Before
public void setUp() throws Exception {
mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
}
@Test
public void getHello() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
}
}
(五)开发环境的调试
热启动在正常开发项目中已经很常见了吧,虽然平时开发web项目过程中,改动项目启重启总是报错;但springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
该模块在完整的打包环境下运行的时候会被禁用。如果你使用java -jar启动应用或者用一个特定的classloader启动,它会认为这是一个“生产环境”。
看完Spring Boot快速入门攻略,大家都学会使用Spring Boot快速搭建项目了吗?可能一些新手小白还是会遇到很多问题,不用担心,博学谷在线教育网站还有相关的视频资源,有学习需求的小伙伴可以在线观看。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
十二个Java程序员必须掌握的Java开发框架
十二个Java程序员必须掌握的Java开发框架有哪些?Java 开发应用很广泛,所以程序员就业行业和方向也很多,随着互联的发展,人工智能、大数据、区块链,很多Java 程序员选择Java Web/后端开发。然而程序员之前的区别还是很大的,如果想要拿高薪,作为一个程序员需要不断学习。
9888
2019-04-10 00:08:24
互联网寒冬之下学Java开发还有优势吗?
互联网行业发展前景并且不明朗,整个互联网都正处在消费互联网向产业互联网过渡的阶段,由于行业壁垒很难打破,从而导致目前大数据等新型技术的落地应用存在一定的困难,但是行业中对高级java开发的需要还是很大的。
9863
2019-08-08 09:50:17
abstract class 和 interface 有什么区别?
“abstract class 和 interface 有什么区别?”这个问题在Java基础的笔试题中是比较常见的。下面就是关于这个问题博学谷老师整理的答案。
7947
2019-08-14 10:19:51
Java垃圾回收器相关问题解答
相信很许多人在学习Java的时候,都没有搞清楚过Java垃圾回收器。因此本文主要讲述了Java垃圾回收器的定义、性能评估工具、回收算法等等内容,为大家全面解答垃圾回收器的相关问题。
5303
2019-08-20 15:55:44
学Java编程数学一定要很好吗?
数学好不好对于学Java编程没有特别的限制,编程要一定的逻辑思维能力,数学好说明逻辑思维能力强,对学好编程很有帮助,但对学编程有兴趣,即使数学不好但在学习编程的过程中会促使你去学好数学,两者相互促进。
4995
2020-10-21 14:47:43