【Spring Boot学习之一】Spring Boot简介
环境
Java1.8
Spring Boot 1.3.2
一、Spring Boot特点
1、使用java运行项目,内置tomcat,无需外部容器;
2、减少XML配置,使用properties文件和注解;
3、Spring Boot对各个Spring技术进行了封装,并不是产生新技术,方便使用了Spring;
趋势:面向服务架构(SOA)转向微服务架构,
4、Spring Cloud基于Spring Boot,Spring Cloud(HTTP+rest),基于Spring Boot中WEB组件(Spring MVC);
二、入门项目
1、搭建
new-->maven project
2、依赖
利用Maven继承依赖的特性,向上层级引入Spring Boot的其他依赖包。
(1)spring-boot-starter-parent作用
在pom.xml中引入spring-boot-start-parent,spring官方的解释叫什么stater poms,它可以提供dependency management,也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了,后面可以看到。
(2)spring-boot-starter-web作用
SpringWEB核心组件(springMVC + Spring)
(3)spring-boot-maven-plugin作用
如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。如果使用maven 的spring-boot:run的话是不需要此配置的。(我在测试的时候,如果不配置下面的plugin也是直接在Main中运行的。)
3、编写HelloWord服务
package com.wjy.controller; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @EnableAutoConfiguration
@RestController
public class HelloController { @RequestMapping("/hello")
public String hello() {
return "hello world";
} public static void main(String[] args) {
SpringApplication.run(HelloController.class, args);
} }
(1)@RestController
在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写Restful接口 相当于@Controller+@ResponseBody
(2)@EnableAutoConfiguration
作用在于让Spring Boot根据应用所声明的依赖来对Spring框架进行自动配置:
这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
(3)SpringApplication.run(HelloController.class, args) 标识为启动类
(4)@ResponseBody 用在方法上将返回内容转换成json格式
(5)@SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan。
作用:启动项目 整合常用注解 扫包作用(扫描当前同级包及其子包)
@ComponentScan默认情况下:它扫描所有类型(@Service,@Repository,@Component,@Controller),并且扫描范围是@ComponentScan注解所在配置类包及子包的类
4、启动
默认端口8080
(1)启动方式一 启动单个controller
package com.wjy.controller; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @EnableAutoConfiguration
@RestController
public class HelloController { @RequestMapping("/hello")
public String hello() {
return "hello world";
} public static void main(String[] args) {
SpringApplication.run(HelloController.class, args);
} }
(2)启动方式二 扫包启动一片controller
package com.wjy.base; import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan; @ComponentScan(basePackages="com.wjy.controller")
public class App { public static void main(String[] args) {
SpringApplication.run(App.class, args);
} }
浏览器访问验证:
【Spring Boot学习之一】Spring Boot简介的更多相关文章
- Spring Cloud 学习 之 Spring Cloud Eureka(源码分析)
Spring Cloud 学习 之 Spring Cloud Eureka(源码分析) Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 ...
- Spring Cloud 学习 之 Spring Cloud Eureka(搭建)
Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 文章目录 搭建服务注册中心: 注册服务提供者: 高可用注册中心: 搭建服务注册中心: ...
- Spring Cloud学习笔记--Spring Boot初次搭建
1. Spring Boot简介 初次接触Spring的时候,我感觉这是一个很难接触的框架,因为其庞杂的配置文件,我最不喜欢的就是xml文件,这种文件的可读性很不好.所以很久以来我的Spring学习都 ...
- Spring Boot学习笔记——Spring Boot与MyBatis的集成(项目示例)
1.准备数据库环境 # 创建数据库 CREATE DATABASE IF NOT EXISTS zifeiydb DEFAULT CHARSET utf8 COLLATE utf8_general_c ...
- spring cloud学习(六)Spring Cloud Config
Spring Cloud Config 参考个人项目 参考个人项目 : (希望大家能给个star~) https://github.com/FunriLy/springcloud-study/tree ...
- Spring 框架学习(1)--Spring、Spring MVC扫盲
纸上得来终觉浅,绝知此事要躬行 文章大纲 什么是spring 传统Java web应用架构 更强的Java Web应用架构--MVC框架 Spring--粘合式框架 spring的内涵 spring核 ...
- Spring Cloud 学习 (九) Spring Security, OAuth2
Spring Security Spring Security 是 Spring Resource 社区的一个安全组件.在安全方面,有两个主要的领域,一是"认证",即你是谁:二是& ...
- Spring框架学习03——Spring Bean 的详解
1.Bean 的配置 Spring可以看做一个大型工厂,用于生产和管理Spring容器中的Bean,Spring框架支持XML和Properties两种格式的配置文件,在实际开发中常用XML格式的配置 ...
- Spring框架学习02——Spring IOC 详解
1.Spring IOC的基本概念 IOC(Inverse of Control)反转控制的概念,就是将原本在程序中手动创建对象的控制权,交由Spring框架管理.当某个Java对象(调用者)需要调用 ...
- Spring Boot学习笔记---Spring Boot 基础及使用idea搭建项目
最近一段时间一直在学习Spring Boot,刚进的一家公司也正好有用到这个技术.虽然一直在学习,但是还没有好好的总结,今天周末先简单总结一下基础知识,等有时间再慢慢学习总结吧. Spring Boo ...
随机推荐
- IE haslayout 问题引起的常见 bug
http://www.qianduan.net/comprehensive-haslayout/ 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底 ...
- Go语言 - 包(package)
在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的.本文介绍了Go语言中如何定义包.如何导出包的内容及如何导入其他包. Go语言的包(package) 包介绍 包( ...
- windows node版本管理工具nvm
有时候,不同的项目需要使用不同的node版本.我们可以使用nvm管理不同的node版本.具体使用方法如下: 1.下载安装nvm 点击我下载nvm 解压下载的文件,双击nvm-setup.exe 直接下 ...
- jq 轮播图 转载-周菜菜
<style> li{list-style-type:none ; display:inline; width:90px; height:160px; float:left; } .pic ...
- AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
忘记网址了…… 问题: 分析思路与解决方法:
- The Ultimate Guide to handling JWTs on frontend clients (GraphQL)
转自:https://blog.hasura.io/best-practices-of-using-jwt-with-graphql/ hasura 团队关于jwt 的实践 JWTs (JSON We ...
- React渲染和事件处理
一.列表渲染 ①在列表中,绑定数组成员会直接把成员渲染 <div id="app"></div> <script src="node_mod ...
- UmiJS可插拔的企业级 react 应用框架,配合ant-design-pro使用
入门非常简单 # 安装 $ yarn global add umi # 或者 npm install -g umi # 新建应用 $ mkdir myapp && cd myapp # ...
- win10安装ubuntu双系统遇到的问题
安装过程学习了几个博客 Ubuntu 16.04与Win10双系统双硬盘安装图解:https://www.cnblogs.com/coxiseed/p/9945202.html?tdsourcetag ...
- Salt-Formulas的使用
Saltstack自0.17.x版本开始引进Formulas的概念,旨在通过简化State和集成数据来实现State的友好管理.根据SALT FORMULAS的官方文档,在完成手动添加formula目 ...