spring boot 学习之路1(简单入门)
来源:互联网 发布:mac系统删除照片 编辑:程序博客网 时间:2024/06/16 15:21
spring Boot(我理解就是springMVC的一个替代品,封装的更狠的一个框架)是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。
那么spring boot 的特点有哪些呢
- 为基于Spring的开发提供更快的入门体验
- 开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求。
- 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。
- Spring Boot并不是不对Spring功能上的增强,而是提供了一种快速使用Spring的方式。
下面我们来学习spring boot 环境的配置,顺便来开发第一个spring boot 的hello world
我是通过maven来构建的(Gradle也可以,但是我不会)
首先创建一个一般的Maven项目,我是通过idea的开发工具来开发的,工具随意。
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!--spring-boot-starter:核心模块,包括自动配置支持、日志和YAML spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--引入Web模块,需添加spring-boot-starter-web模块:--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 添加热启动配置(方便在开发调试时修改代码后自动重新启动) --> <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></project>
首先是增加了<parent>
增加父pom比较简单,而且spring-boot-starter-parent
包含了大量配置好的依赖管理,在自己项目添加这些依赖的时候不需要写<version>
版本号。
使用父pom虽然简单,但是有些情况我们已经有父pom,不能直接增加<parent>
时,可以通过如下方式:
1 <dependencyManagement> 2 <dependencies> 3 <dependency> 4 <!-- Import dependency management from Spring Boot --> 5 <groupId>org.springframework.boot</groupId> 6 <artifactId>spring-boot-dependencies</artifactId> 7 <version>1.2.3.RELEASE</version> 8 <type>pom</type> 9 <scope>import</scope>10 </dependency>11 </dependencies>12 </dependencyManagement>
在pom.xml中我已经把热部署插件也添加上了,这个就不详细介绍了。不理解可以百度一下,
添加以后,通过mvn spring-boot:run
启动就支持热部署了。
配置到这就配置的差不多了下面就是看看程序怎么运行,先创建一个启动类,放在根目录下(不然会报错的)
我创建的启动类是:
1 package com; 2 3 import org.mybatis.spring.annotation.MapperScan; 4 import org.springframework.boot.SpringApplication; 5 import org.springframework.boot.autoconfigure.SpringBootApplication; 6 7 @SpringBootApplication 8 @MapperScan("com.huhy.web.mapper") 9 public class DemoApplication {10 11 public static void main(String[] args) {12 SpringApplication.run(DemoApplication.class,args);13 }14 }
controller 随意写诶,注意那几个注解就行
1 package com.huhy.web.controller; 2 3 import com.huhy.web.entity.User; 4 import org.springframework.ui.ModelMap; 5 import org.springframework.web.bind.annotation.RequestMapping; 6 import org.springframework.web.bind.annotation.RestController; 7 8 /** 9 * Created by hhy_0 on 2017/7/7.10 */11 @RestController12 public class HelloController13 {14 @RequestMapping("/hello")15 public String index(){16 17 return "Hello World";18 }19 20 @RequestMapping("/")21 public String index(ModelMap map) {22 // 加入一个属性,用来在模板中读取23 map.addAttribute("host", "http://blog.didispace.com");24 25 // return模板文件的名称,对应src/main/resources/templates/index.html26 return "index";27 }28 @RequestMapping("/getUser")29 public User getUser() {30 User user = new User();31 user.setId("12");32 user.setName("hhy");33 user.setAge(21);34 return user;35 }36 37 }
运行启动类就会看到启动信息
我的是这样的
最后几行有端口号,然后打浏览器访问就行了
到这,简单的spring boot 已经可以跑起来了。
spring boot 学习之路2(注解介绍)
- spring boot 学习之路1(简单入门)
- Spring boot简单入门学习
- Spring Boot学习之路一:入门
- Spring-Boot学习(1)-----Spring-Boot入门
- Spring Boot简单入门之Hello Word
- Spring Boot 入门学习(1)
- spring boot----简单入门
- Spring学习之boot(1)
- spring boot 入门学习
- spring boot 入门学习
- spring boot入门学习
- Spring Boot入门学习
- Spring Boot学习入门篇(二)--使用Spring Boot
- spring-boot 学习之路
- Spring Boot学习总结(1)——Spring Boot入门
- spring boot jpa简单入门
- 微服务构建:Spring Boot入门学习(1)
- Spring Boot入门学习(0)
- 用友UAP_STUDIO65开发环境配置
- 浅谈 java 反射机制
- IPsec_VPN实现技术【转载】
- mysql的日期函数介绍
- IPv4子网掩码回顾
- spring boot 学习之路1(简单入门)
- ★会用这两键,你就是电脑高手了
- spring boot 学习之路2(注解介绍)
- Android学习笔记十四之RelativeLayout相对布局
- MyBatis Generator详解(转载)
- 十类经典office实用技巧
- spring boot 学习之路3( 集成mybatis )
- Socket简单入门例子
- 培训界最大的互联网企业【推荐】