专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

SpringBoot:SpringBoot初识(相关概念、新建项目)

1、简介

(1)出现的背景

  • javaee的开发需要笨重繁多的配置,开发效率低下,部署流畅复杂,第三方技术集成度大。springboot能够简化spring的开发,约定大于配置
  • 整合了spring技术栈
  • javaee开发的一站式解决方案

(2)优点

  • 快速创建独立运行的spring项目以及主流框架集成
  • 使用嵌入式的servlet容器,应用无需打成war包
  • struts自动依赖于版本控制
  • 大量的自动配置,简化开发,也可以修改默认值
  • 无需配置xml,无代码生成,开箱即可
  • 准生产环境的运行时应用监控
  • 与云计算的天然集成

(3)微服务

单体应用:

  • 开发部署简单,不牵涉到多个应用的互联。但是只要修改一处就要重新部署,还有日益增长的软件需求,使得应用过大。

微服务:

  • 与单体用用的单体复制部署到多个服务器来满足用户需求不同,微服务是把每一个功能元素放进一个独立的服务器中,是功能模块级别的复制,而不是整个应用。
  • 每一个功能元素都是一个可独立替换和独立升级的软件单元
  • 存在部署和运维较复杂的缺点
  • springboot快速构建一个应用、springcloud用于模块之间的互调、springcloud Data Flow分布式之间的流式计算批处理

2、新建SpringBoot项目

(1)新建一个maven的web工程

110_1.png

(2)在maven的配置文件中导入springboot的依赖

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.9.RELEASE</version>
      <type>pom</type>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>1.5.9.RELEASE</version>
    </dependency>

(3)编写主程序并启动SpringBoot应用:

//添加注解,标注一个主程序类,说明这是一个springboot应用
@SpringBootApplication(scanBasePackages = "pers")
public class HelloWorld {
    public static void main(String[] args) {
        //启动spring应用
        SpringApplication.run(HelloWorld.class,args);
    }
}

(4)书写controller层代码

@Controller
public class HelloController {
    @ResponseBody//
    @RequestMapping("/hello")
    public String hello(){
        return "hello world";
    }
}

@ResponseBody:这个类的所有方法返回的数据直接写给浏览器,如果是对象转换为json类型的数据

(5)运行主程序

110_2.png

可以看出,在springboot的项目中,不需要配置视图解析器、前端控制器,甚至连tomcat都不需要配置

3、将springboot项目打成jar包

(1)导入依赖

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <version>1.5.9.RELEASE</version>
    </dependency>

(2)运行生命周期函数

110_3.png

要确保maven的配置文件中的配置是生成jar包:

110_4.png

生成jar包成功:

110_5.png

(3)运行生成的jar包:在cmd中用java -jar命令运行

110_6.png

4、依赖

(1)父项目

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.9.RELEASE</version>
      <type>pom</type>
    </dependency>

来管理springboot应用里面的所有依赖,是springboot的版本仲裁中心,例如:导入它管理范围内的依赖是不需要写版本号的,因为里面蕴含所有的版本信息

(2)spring-boot-starter-web依赖

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>1.5.9.RELEASE</version>
    </dependency>

spring-boot-starter:springboot的场景启动器,帮我们导入了web模块正常运行所依赖的组件。根据不同的功能,可以选择springboot的不同启动器。因为springboot将所有的功能都抽取了出来,做成一个个的启动器,只需要在项目里面引入这些启动器,相关场景的所有依赖都会导入进来

5、主程序类

(1)@SpringBootApplication注解

@SpringBootApplication(scanBasePackages = "pers")
public class HelloWorld {
    public static void main(String[] args) {
        //启动spring应用
        SpringApplication.run(HelloWorld.class,args);
    }
}

@SpringBootApplication标注在某一个类上面后就说明这个类是springboot的主配置类,可以运行这个类的main方法来启动springboot应用

(2)查看SpringBootApplication源码:它是由一系类的注解组成的

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)

@SpringBootConfiguration:springboot的配置类,表示这是一个springboot的配置类

@EnableAutoConfiguration:开启自动配置功能。例如:包扫描等。在配置@SpringBootApplication注解的时候,默认情况是只扫描主类的包,因此在扫描其他包的时候需要添加参数

6、使用spring initializer快速创建Spring Boot项目

(1)新建项目

110_7.png

(2)输入相关参数

110_8.png

(3)选择需要的功能(这里只选择web功能)

110_9.png

(4)创建项目成功

110_10.png

能够正常访问:

110_11.png

(5)特点

主程序已经生成,只需要添加业务逻辑即可

目录结构:

110_12.png

文章永久链接:https://tech.souyunku.com/23215

未经允许不得转载:搜云库技术团队 » SpringBoot:SpringBoot初识(相关概念、新建项目)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们