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 文件

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网络通信常见加密剖析[通俗易懂]

    网络通信常见加密剖析[通俗易懂]系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学

    2022年6月2日
    56
  • JAVA中json转Map,jsonArray转List集合,List集合转json

    JAVA中json转Map,jsonArray转List集合,List集合转json在写代码时,经常会遇到各转类型之间互相转换,比如json转换为Map,jsonArray转List集合,List集合转json,现在整理一个工具类,方便日后查阅。importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importorg.apac

    2022年6月23日
    27
  • 深度图可视化

    深度图可视化之前一直以为深度图应该是黑灰色的,不清楚为什么还有彩色的深度图,直到今天才知道原来这是深度图可视化。专门写篇博客纪念一下!灰黑色的图片人眼很难识别出其中的物体,感知深度的变化。所以才需要可视化,下面是几种颜色空间:…

    2022年4月25日
    47
  • react项目实战教程(react项目实战)

    文章目录项目实战前的准备工作项目实战一.搭建项目的基本页面及外层路由1-1配置基本页面1-2配置路由1-3需要最外层去渲染路由视图1-4需要配置内层App路由1-5路由的懒加载二.利用Antd实现组件2-1使用Antd的Layout进行布局2-2可以设计个Logo2-3实现左侧的菜单展示2-4实现左侧的小图标2-5实现点击菜单切换总结需要下载的组件项目实战前的准备工作React基础…

    2022年4月12日
    39
  • 【万字长文】 Vue全家桶从入门到实战,超详细笔记整理 ( 一 ) (建议收藏)

    【万字长文】 Vue全家桶从入门到实战,超详细笔记整理 ( 一 ) (建议收藏)笔记根据B站编程不良人视频整理,视频链接:【编程不良人】VUE全家桶入门到实战,学VUE看这个就够了,已完结!基于企业最流行Vue实战技术,需要md格式笔记的可以私信我。目录1、Vue引言2、Vue入门2.1、下载Vuejs2.2、Vue第一个入门应用3、v-text和v-html3.1、v-text3.2、v-html3.3、v-text和v-html对比4、vue中事件绑定(v-on)4、vue中事件绑定(v-on)4.1、绑定事件基本语法4.2、Vue中事件的简化语法4.3、Vue事件函数.

    2025年7月8日
    3
  • 五大优秀的数据库设计工具[通俗易懂]

    五大优秀的数据库设计工具[通俗易懂]数据库的设计主要是针对一个特定的个环境,为了能够满足有效的数据存储和处理等要求,需要构造最优的数据库模式来建立数据库及其对应系统。数据库设计时根据用户的需求,在特定的数据库管理系统上设计和建立数据库的过程,是软件系统开发过程中的关键技术之一。在数据库领域内,通常把使用数据库的各类系统统称为数据库应用系统。数据库设计的目的是把软件系统中大量的数据按一定的模型组织起来,以实现方便、及时地存储、维护和检索等功能,是软件系统开发和建设的关键和重要组成部分之一,因此数据库设计往往比较复杂,最佳设计不可能一蹴而就,需

    2022年7月27日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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