springboot的介绍_springboot官网

springboot的介绍_springboot官网Springboot入门介绍一、Spring框架概述1.1什么是SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作《ExpertOne-On-OneJ2EEDevelopmentandDesign》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的Ja…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Springboot入门介绍

一、Spring框架概述

1.1 什么是Spring

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但是Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合性等方面从Spring中获益。

1.2 Spring是如何简化Java开发的

为了降低Java开发的复杂性,Spring采用了以下4种关键策略:

1、基于POJO的轻量级和最小侵入性编程;

2、通过依赖注入(DI)和面向接口实现松耦合;

3、基于切面(AOP)和惯例进行声明式编程;

4、通过切面和模版减少样式代码;

 

二、SpringBoot简介

2.1什么是SpringBoot

Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。

2.2、SpringBoot四个主要特性

1SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的MavenGradle构建中;

2、自动配置:SpringBoot的自动配置特性利用了Spring4对条件化配置的支持,合理地推测应用所需的bean并自动化配置他们;

3、命令行接口:(Command-line-interface, CLI):SpringBootCLI发挥了Groovy编程语言的优势,并结合自动配置进一步简化Spring应用的开发;

4Actuatir:它为SpringBoot应用的所有特性构建一个小型的应用程序。但首先,我们快速了解每项特性,更好的体验他们如何简化Spring编程模型。

2.3 SpringBoot开发的具体好处

回顾我们之前的 SSM 项目,搭建过程还是比较繁琐的,需要:

1、配置web.xml,加载springspring mvc

2、配置数据库连接、配置spring事务

3、配置加载配置文件的读取,开启注解

。。。

配置完成之后部署tomcat 调试

而使用 Spring Boot 来开发项目则只需要非常少的几个配置就可以搭建起来一个 Web 项目,并且利用 IDEA 可以自动生成生成,这简直是太爽了

华丽的分割线—————————————————————————————————-

三、使用IDEA快速搭建SpringBoot项目

1file->new project 在弹出的窗口选择Spring Initializr

springboot的介绍_springboot官网

2、修改项目信息

springboot的介绍_springboot官网

3、选择版本及项目需要的依赖

springboot的介绍_springboot官网

4、最终目录结构

springboot的介绍_springboot官网

 

项目结构还是看上去挺清爽的,少了很多配置文件,我们来了解一下默认生成的有什么:

  • EurekaServerApplication 一个带有 main() 方法的类,用于启动应用程序
  • EurekaServerApplicationTests:一个空的 Junit 测试了,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文
  • application.properties:一个空的 properties 文件,可以根据需要添加配置属性
  • pom.xml Maven 构建说明文件
  •  

四、项目简单介绍及helloworld编写

4.1、写一个helloWorld接口

@RestController
@RequestMapping("/")
public class HelloWorldController {
    @RequestMapping("hello")
    public String index() {
        return "Hello World";
    }
}

@RestController 注解: 该注解是 @Controller @ResponseBody 注解的合体版

 

4.2、单元测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class ServiceAuthApplicationTests {
   private MockMvc mvc;
   @Before
   public void setUp() {
      mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
   }
   @Test
   public void contextLoads() throws Exception {
                mvc.perform(MockMvcRequestBuilders.get("/hello").accept(

        MediaType.APPLICATION_JSON))
            .andExpect(MockMvcResultMatchers.status().isOk())
            .andDo(MockMvcResultHandlers.print())
            .andReturn();
   }
}

 

4.3pom文件介绍

<?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.test</groupId>
    <artifactId>springboot</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>



    <name>spring-cloud-demo</name>

    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.18.BUILD-SNAPSHOT</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>

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

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>

        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>


    <pluginRepositories>

        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>

        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

</project>
 

这个标签是在配置 Spring Boot 的父级依赖

有了这个,当前的项目才是 Spring Boot 项目,spring-boot-starter-parent 是一个特殊的 starter ,它用来提供相关的 Maven 默认依赖,使用它之后,常用的包依赖就可以省去 version 标签。

 

4.4、启动类介绍(*Application

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

@SpringBootApplicationspringBoot的核心注解注解: 该注解是@Configuration@EnableAutoConfiguration@ComponentScan 注解的合体版

 

4.5. properties介绍

springBoot 使用一个全局的配置文件 application.properties application.yml,放置在【src/main/resources】目录

springboot的介绍_springboot官网

Tomcat 默认端口设置为 9090 ,并将默认的访问路径从 / 修改为 /test 时,使用 properties 文件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190476.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Android虚拟机连接网络

    Android虚拟机连接网络点击查看

  • cefsharp播放视频_flash播放器手机版

    cefsharp播放视频_flash播放器手机版原生CefSharp组件缺少FlashPlayer,实现内置浏览器功能时,不支持播放flash。若想使用flash播放功能,我们需要在初始化CefSharp组件时,加载flash播放插件,并设置支持flash播放。Chrome浏览器内核的flash插件文件为pepflashplayer.dll,将pepflashplayer.dll文件放在程序运行目录下,加载flash插件的C#代码如下:v…

  • R语言建立回归分析,并利用VIF查看共线性问题的例子「建议收藏」

    R语言建立回归分析,并利用VIF查看共线性问题的例子「建议收藏」使用R对内置longley数据集进行回归分析,如果以GNP.deflator作为因变量y,问这个数据集是否存在多重共线性问题?应该选择哪些变量参与回归?答:##查看longley的数据结构str(longley)##’data.frame’:  16obs.of  7variables:##  $GNP.deflator:num  8388.588

  • docker(4)解决pull镜像速度缓慢「建议收藏」

    docker(4)解决pull镜像速度缓慢「建议收藏」前言上一篇讲到pull镜像,但是pull镜像的时候下拉的速度实在感人,有什么解决办法吗?我们只需将docker镜像源修改为国内的将docker镜像源修改为国内的:在/etc/docker/d

  • leetcode链表问题_反转一个单链表

    leetcode链表问题_反转一个单链表给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例 1:输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5]示例 2:输入:head = [5], left = 1, right = 1输出:[5] 提示:链表中节点数目为 n1 <= n <= 500-500

  • fileinput的使用

    fileinput的使用BootstrapFileInput中文API整理这段时间做项目用到bootstrapfileinput插件上传文件,在用的过程中,网上能查到的api都不是很全,所以想着整理一份比较详细的文档,方便自己今后使用,也希望能给大家带来帮助,如有错误,希望大家积极指正。一、    引入文件二、    初始化设置:$(“#uplo

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号