spring boot入门学习

spring boot 入门基础

  • 前言
    • 什么是spring boot?
    • 为什么要用spring boot?
    • spring boot的常用注释有哪些?
      • Controller层
        • @RequestMapping详解
      • 配置相关
    • 自动配置
    • 一个简单的demo实践
      • idea如何新建spring boot项目?

前言

微服务这个概念最近比较火,像我们平时工作中如果想要开发一些小工具的话,技术上选型也要以轻量级、微服务为优先考虑。而传统的spring架构还是比较繁琐的,各种配置文件,这个时候我们就需要spring boot这个新框架来帮忙了。

什么是spring boot?

Spring Boot是一款简化新Spring应用的初始搭建以及开发过程的新框架。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

为什么要用spring boot?

它可以大大简化新Spring应用的初始搭建以及开发过程,能够使用内嵌的Tomcat, Jetty or Undertow等,不需要部署war,零代码生成和零XML配置,自动装配spring等等。

spring boot的常用注释有哪些?

Controller层

注解 含义
@RequestMapping 用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径
@RequestParam 匹配前台传来的参数给注解参数。比如下面前台传来的是id,匹配到id参数上
@ResponseBody 表示该方法的返回结果直接写入HTTP response body中,直接返回json数据
@Controller 将类注册为Bean
@RestController @Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直接填入HTTP响应体中
@CrossOrigin 注解在类上,解决跨域名调用问题

@RequestMapping详解

RequestMapping注解有六个属性,用一段代码详细说明

@RestController
@RequestMapping("account")
public class Account {
    public Logger logger = LoggerFactory.getLogger(Account.class);
    @Autowired
    private AccountMapper accountMapper;

//value:指定请求的实际地址,method:指定请求的method类型,GET、POST、PUT、DELETE等;
@RequestMapping(value = "/getAllAccount", method = RequestMethod.GET)
//或者含有变量
@RequestMapping(value="/owners/{ownerId}", method=RequestMethod.GET)  
public String findOwner(@PathVariable String ownerId, Model model) { //省略...}
//方法仅处理request Content-Type为“application/json”类型的请求
@RequestMapping(value = "/pets", method = RequestMethod.POST, consumes="application/json")
//指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
@RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, produces="application/json")
//仅处理请求中包含了名为“myParam”,值为“myValue”的请求
@RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, params="myParam=myValue")  
//仅处理request的header中包含了指定“Refer”请求头和对应值为“http://www.baidu.com/”的请求;
@RequestMapping(value = "/pets", method = RequestMethod.GET, headers="Referer=http://www.baidu.com/")  

配置相关

注解 含义
@SpringBootApplication 包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文
@Configuration 等同于spring的XML配置文件
@ComponentScan 组件扫描,可自动发现和装配一些Bean。
@ImportResource 加载xml配置文件
@AutoWired 自动导入依赖的bean
@Component 不属于持久层、业务层和控制层的组件类用@Component标注
@Value 通过在application.properties配置com.account.user=mike,然后通过 @Value("${com.account.user}")可以引用进来

自动配置

spring boot自动化配置的Bean提供了300多个属性,用于调整设置,只要在环境变量、Java系统属性、JNDI、命令行或者属性文件里面进行指定就可以了。
eg:在application.properties配置

spring.datasource.url=jdbc:mysql://xx:3306/dbName
spring.datasource.username=admin
spring.datasource.password=admin
spring.datasource.driverClassName=com.mysql.jdbc.Driver
server.port=8081

一个简单的demo实践

idea如何新建spring boot项目?

新建project-添加spring initializr项目-添加依赖web
spring boot入门学习_第1张图片
非常简单的一个demo,然后访问http://127.0.0.1:8080/hello就能看到输出结果。

@RestController
public class HelloController {

    @RequestMapping(value = "/hello",method = RequestMethod.GET)
    public String hello(){
        return "hello , world!!!";
    }
}

你可能感兴趣的:(编程语言)