springboot的介绍_springboot web

springboot的介绍_springboot webSpringboot入门介绍一、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 web

2、修改项目信息

springboot的介绍_springboot web

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

springboot的介绍_springboot web

4、最终目录结构

springboot的介绍_springboot web

 

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

  • 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 web

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

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

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

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

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

(0)


相关推荐

  • tomcat docbase(fpga版本管理)

    TOMCAT的配置文件Server.XML里有一句:指定应用目录,其他参数先不说,聊聊appBase。1、appBase=”webapps“,这是默认值,代表:d:\tomcat\webapps这样的路径,谓之根目录;根目录下的ROOT目录,代表默认的主目录。访问:http://localhost:8080默认找d:\tomcat\webapps\ROOT下的文件(前提是没有d…

  • intellij idea 激活码[免费获取]

    (intellij idea 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlML…

  • es7学习笔记 cpu负载不均衡、超长fullGC、大量400报错[通俗易懂]

    es7学习笔记 cpu负载不均衡、超长fullGC、大量400报错[通俗易懂]ElasticSearch负载不均衡现象:往es7集群中推数时,发生如下情况接口出现很多400 发现集群中某台机器cpu被怼爆 发生fullGC产生400报错的原因是es7做了熔断优化,当jvm内存使用超过阈值,为了避免丑陋的oom,会直接限流并抛出EsRejectedExecutionException。我们强硬的关掉了这个配置,因为我们的推数有失败重试。产生fullGC是因为一个bulk批处理的数据量太大,我们一个文档1.5M,800个文档作为一批,两个线程并行推,jvm内

  • python test suite_vue进度条插件

    python test suite_vue进度条插件前言在我们进行自动化测试的时候,用例往往是成百上千,执行的时间是几十分钟或者是小时级别。有时,我们在调试那么多用例的时候,不知道执行到什么程度了,而pytest-sugar插件能很好解决我们的痛点。

  • virsh命令杂记[通俗易懂]

    virsh命令杂记[通俗易懂]关机virshshutdowndomain开机virshstartdomain查看virsh的snapshot的帮助virshhelpsnapshotSnapshot(helpkeyword‘snapshot’):snapshot-createCreateasnapshotfromXMLsna

  • jar war ear_什么时候用jar包与war包

    jar war ear_什么时候用jar包与war包war是web的一个模块,其中需要包括WEB-INF,可以直接运行。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的。它们都是压缩的包,拿Tomcat来说,将war文件包放置它的\webapps\目录下,启动Tomcat,这个包可以自动进行解压,也就是你的web目录,相当于发布。  war包:一般是做好一个web应用后,通常是网站,打成包部署到容…

发表回复

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

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