首页 > 其他分享 >springboot入门

springboot入门

时间:2023-05-25 12:34:24浏览次数:42  
标签:springboot spring boot springframework Spring org 入门

1. 介绍  7

SpringBoot是Spring中的一个成员, 可以简化Spring,SpringMVC的使用。 他的核心还是IOC容器。

1.1 特点:  7

Create stand-alone Spring applications

创建spring应用

Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)

内嵌的tomcat, jetty , Undertow 

Provide opinionated 'starter' dependencies to simplify your build configuration

提供了starter起步依赖,简化应用的配置。   比如使用MyBatis框架 , 需要在Spring项目中,配置MyBatis的对象 SqlSessionFactory , Dao的代理对象在SpringBoot项目中,在pom.xml里面, 加入一个 mybatis-spring-boot-starter依赖

Automatically configure Spring and 3rd party libraries whenever possible

尽可能去配置spring和第三方库。叫做自动配置(就是把spring中的,第三方库中的对象都创建好,放到容器中, 开发人员可以直接使用)

Provide production-ready features such as metrics, health checks, and externalized configuration

提供了健康检查, 统计,外部化配置

Absolutely no code generation and no requirement for XML configuration

不用生成代码, 不用使用xml,做配置

使用 spring boot 提供的初始化器。 向导的方式,完成 spring boot 项目的创建: 使用方便。

2. 创建Spring Boot项目 9

2.1 第一种方式, 使用Spring提供的初始化器, 就是向导创建SpringBoot应用

使用的地址: https://start.spring.io

springboot入门_springboot

springboot入门_spring_02

选择依赖

springboot入门_spring_03

最后创建项目,设置项目的目录位置

2.1.1 Spring Boot 项目目录结构   10

springboot入门_spring_04

起步依赖

springboot入门_maven_05

2.1.2 还有一种方式  12

网址https://start.springboot.io/

浏览器配置好springboot,然后下载,再导入idea中

springboot入门_springboot_06

2.2 第二种方式,使用 springboot 提供的初始化器, 使用的国内的地址   11

国内地址: https://start.springboot.io

创建项目的步骤同上第二种方式,使用 springboot 提供的初始化器, 使用的国内的地址 

国内地址: https://start.springboot.io

创建项目的步骤同上

springboot入门_maven_07

2.3  第三种方式 使用 maven 向导创建项目    13

创建一个普通 maven 项目

springboot入门_maven_08

添加 gav

springboot入门_maven_09

点击 finish 创建,完成项目创建。

修改项目的目录

springboot入门_maven_10

添加 Spring Boot 依赖

springboot入门_springboot_11

springboot入门_maven_12

创建启动类:加入@SpringBootApplication 注解

springboot入门_spring_13

3. 基于springboot的web例子  14

代码在course2_4中

pom.xml

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.11</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.bjpowernode</groupId>
    <artifactId>course2_4</artifactId>
    <version>1.0.0</version>

    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
<!--        web的起步依赖,springmvc功能-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>


HelloSpringBoot

package com.bjpowernode.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

//基于springboot的web例子  14
@Controller
public class HelloSpringBoot {

    @RequestMapping("/hello")
    @ResponseBody//是为了让返回值String当作数据来用而不是视图
    public String helloSpringBoot(){
        return "欢迎使用SpringBoot框架";
    }
}

Application

package com.bjpowernode;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

springboot入门_springboot_14

4. 直接的使用  15

@SpringBootApplication : @SpringBootApplication 是 一 个 复 合 注 解 , 是 由

@SpringBootConfiguration, @EnableAutoConfiguration ,@ComponentScan 联合在一起组成的。

@SpringBootConfiguration : 就 是 @Configuration 这 个 注 解 的 功 能 , 使 用

@SpringBootConfiguration 这个注解的类就是配置文件的作用。

@EnableAutoConfiguration:开启自动配置, 把一些对象加入到 spring 容器中。

@ComponentScan:组件扫描器, 扫描注解,根据注解的功能,创建 java bean,给属性赋值等等。组件扫描器默认扫描的是 @ComponentScan 注解所在的类, 类所在的包和子包。

4.1 @SpringBootConfiguration  15

说明:使用了@SpringBootConfiguration注解标注的类,可以作为配置文件使用的,可以使用Bean声明对象,注入到容器

@Configuration
public @interface SpringBootConfiguration {
    @AliasFor(
        annotation = Configuration.class
    )
    boolean proxyBeanMethods() default true;
}

4.2 @EnableAutoConfiguration  15

启用自动配置, 把java对象配置好,注入到spring容器中。例如可以把mybatis的对象创建好,放入到容器中

4.3 @ComponentScan   15

@ComponentScan 扫描器,找到注解,根据注解的功能创建对象,给属性赋值等等。默认扫描的包: @ComponentScan所在的类所在的包和子包。

标签:springboot,spring,boot,springframework,Spring,org,入门
From: https://blog.51cto.com/u_15784725/6346560

相关文章

  • scrapy:快速入门
    1.安装2.项目创建与运行3.项目组织架构4.工作原理5.案例-百度首页创建爬虫的项目【scrapystartproject项目的名字】注意:项目的名字不允许使用数字开头也不能包含中文创建爬虫文件要在spiders文件夹中去创建爬虫文件【cd项目的名字\项目的名字\sp......
  • apifox接口测试管理工具快速入门
    更多内容,欢迎来到我的个人博客==http://blog.devilwst.top==安装apifox官网apifox文档使用初识创建并使用项目可以创建分组,创建子分组相知:设置前缀及公共请求头在使用接口前先创建环境可以先设置前缀url设置公共请求头甚至可以设置cookie等,这样每一个使用该环境的接口请求时都......
  • 动力节点Docker实战入门教程(2)Docker镜像
    根据B站上动力节点的最新版Docker教程整理了学习笔记,持续更新中~3Docker镜像3.1镜像基础3.1.1镜像简介镜像是一种轻量级、可执行的独立软件包,也可以说是一个精简的操作系统。镜像中包含应用软件及应用软件的运行环境。具体来说镜像包含运行某个软件所需的所有内容,包括代码、库、......
  • Springboot @Value注解
    配置文件test:name:123list:1,2,3aa:userInfoServiceImpl.merChantNoController:@Value("${test.name}")publicStringname1;//输出123@Value("#{'${test.list}'}")publicList<Object>list;//输出[1,2,3]......
  • 【操作系统入门到成神系列 七】Linux 内核 VS Window 内核
    ......
  • MQTT入门DEMO(Java语言)
    目录快速开始准备下载及安装第一次安装EMQX第一次运行EMQX客户端代码快速开始准备MQTT简介EMQX简介下载及安装第一次安装EMQX版本选择EMQX支持多种操作系统,请选择合适您的版本下载。下载地址:https://www.emqx.io/cn/downloads#broker在MicrosoftWindows下安装目前EMQX......
  • 入门爬虫示例-爬取豆瓣短评
    群里有个小妹妹,让我帮她写的代码,好像是作业什么的。花了几分钟看了一下,随便写写,分享给有需要的童鞋,我用python3写的,实现的功能就是:爬取豆瓣短评,然后将数据写入本地的excel表格,数据大概有,电影名称,评分,评论人数,短评四项,稍微修改下也可以爬取其他数据。这属于入门学习的爬虫,博客里的......
  • PLSQL开发工具入门基本操作指引
    完整的PLSQL开发工具基础操作,建议跟随练习一遍即可熟悉。目录:第1章 用PLSQL连接Oracle数据库第2章 在PLSQL中编写SQL语句并执行第3章 在PLSQL中查看数据库表结构第4章 PLSQL中SQL语句的注释方法第5章 对查询结果进行修改、插入行、删除行并保存第6章 对查询结果进行排......
  • SpringBoot 出现 Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘
    问题点1:如果Content-Type设置为“application/x-www-form-urlencoded;charset=UTF-8”无论是POST请求还是GET请求都是可以通过这种方式成功获取参数,但是如果前端POST请求中的body是Json对象的话,会报上述错误。请求中传JSON时设置的Content-Type如果是application/json或者tex......
  • Mybatis中,SpringMVC中,SpringBoot项目中,出现There is no getter for property named 'x
    现象:Thereisnogetterforpropertynamed'xxxxxx'报错原因:其实说起原因有很多种,百度上都有很详细的说明,其中最重要也是经常发生的就是mapper.xml与是对应的实体类匹配不上导致错误发生,而我报错的原因是从mapper接口中向xml传入参数的时候,传入的是实体类对象,只有这一个参数,而在......