SpringBoot

1.概念
官网地址: https://spring.io/
1.1介绍
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者。
2013年,Pivotal团队开始研发SpringBoot。
2014年4月,发布全新开源的轻量级框架的第一个SpringBoot版本。
原博文:https://www.sohu.com/a/286995880_684445
1.2 特点
为什么要学习SpringBoot?
SpringBoot是为了简化Spring应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程
未接触SpringBoot之前,搭建一个普通的WEB工程往往需要花费30分钟左右,如果遇到点奇葩的问题耽搁的时间会更长一点,但自从用了SpringBoot后,真正体会到什么叫分分钟搭建一个WEB,让我拥有更多的时间跟我的小伙伴们唠嗑了。使用SpringBoot后发现一切是如此的简单(还记得被JAR包,xml支配的恐惧吗,如今都可以说 good bye)
在传统的一些框架中(SSH、SSM、Servlet/JSP) 虽然功能很强大但是配置起来太麻烦了,相比python或者php ,Java就略显臃肿,主要问题集中在两点:

  1. 复杂的配置文件:
    项目之间各种配置文件铺天盖地,在开发的过程中占用了大量的时间,并且需要做这些配置文件进行维护, 整个项目感觉特别复杂,并且Java代码和配置文件之间的切换开发,给程序人员带来很大的负担。
  2. 各种依赖比较混乱:
    主要问题就是版本冲突,不同技术的版本需要我们知道哪些版本存在冲突问题,一旦使用错误就需要重新再去下载库进行依赖。
    而Spring Boot简化了基于Spring的应用开发,只需要一个”run”就创建了一个独立的、生产级别的Spring应用,Spring boot为Spring平台及第三方提供了开箱即用的设置(默认设置的包就是启动器starter),这样我们就可以简单的开始。Spring Boot主张,用最少的配置做更多的事。如果我们创建一个Java应用,并使用java -jar启动,就能得到一个生产级别的web工程。
    特点:
    创建独立的 Spring 应用程序
    直接嵌入Tomcat、Jetty或Undertow(无需部署WAR文件)
    提供自以为是的“入门”依赖项以简化您的构建配置
    尽可能自动配置 Spring 和 3rd 方库
    提供生产就绪功能,例如指标、运行状况检查和外部化配置
    完全不需要代码生成,也不需要 XML 配置
    SpringBoot = Spring+SpringMVC
    2.项目搭建
    2.1目录结构
  • src
    • -main
    • -java
      • -package
        #主函数,启动类,运行它如果运行了 Tomcat、Jetty、Undertow 等容器
        –SpringbootApplication
        -resouces
        #存放静态资源 js/css/images 等
      • statics
        #存放 html 模板文件
      • templates
        #主要的配置文件,SpringBoot启动时候会自动加载
        application.yml/application.properties
      • application.yml
        #测试文件存放目录
        -test
        #pom.xml 文件是Maven构建的基础,里面包含了我们所依赖JAR和Plugin的信息
      • pom
<?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.5</version>        
    <relativePath/> <!-- lookup parent from repository -->    
</parent>
<!-- 项目信息 -->
<groupId>com.its</groupId>    
<artifactId>HelloSpringBoot</artifactId>    
<version>0.0.1-SNAPSHOT</version>    
<name>HelloSpringBoot</name>    
<description>HelloSpringBoot</description>
<!-- 属性配置 -->
<properties>        
<java.version>1.8</java.version>    
</properties>
<!-- 依赖信息 -->    
<dependencies>
<!-- SpringBoot web工程依赖 -->        
<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>

2.1 自定义Banner
SpringBoot启动的时候我们可以看到如下内容,这一块其实是可以自定义的哦,而且在 2.X 版本中,它支持的格式从文本扩展到banner.txt、banner.jpg、banner.gif、banner.jpeg等等,只需要在resouces目录下添加指定命名的文件即可
2.2 查看SpringBoot默认提供的Bean

package com.its;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import java.util.Arrays;
@SpringBootApplication
public class HelloSpringBootApplication {    
       public static void main(String[] args) {                
             SpringApplication.run(HelloSpringBootApplication.class, args);   
       }   
        @Bean    
        public CommandLineRunner commandLineRunner(ApplicationContext ctx) {        
           return args -> {            
              System.out.println("来看看 SpringBoot 默认为我们提供的 Bean:");            
              String[] beanNames = ctx.getBeanDefinitionNames();            
              Arrays.sort(beanNames); 
              Arrays.stream(beanNames).forEach(System.out::println);       
           };   
        }
}                

2.3手动注入bean

//注入一个bean
@Bean
public Student student(){
      return new Student("张三");
}

运行查看是否注入
控制层可以注解读取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值