本文介绍: Boot可以很容易地创建独立的、基于Spring的生产级应用程序可以直接运行”。第三方库采取了一种固执己见的看法,这样你就可以最小的麻烦开始。Spring Boot应用程序需要最少的Spring配置

1、简介

 Boot可以很容易地创建独立的、基于Spring的生产级应用程序可以“直接运行”。第三方库采取了一种固执己见的看法,这样你就可以最小的麻烦开始。Spring Boot应用程序需要最少的Spring配置

2、特性

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

2,使编码变得简单,SpringBoot采用 JavaConfig的方式对Spring进行配置,并且提供了大量的注解极大提高工作效率比如@Configuration和@bean注解结合基于@Configuration完成扫描基于@bean注解返回值注入IOC容器

3.自动配置:SpringBoot自动配置特性利用了Spring对条件配置支持合理地推测应用所需的bean自动化配置他们

4.使部署变得简单,SpringBoot内置三种Servlet容器,Tomcat,Jetty,undertow.我们需要一个Java的运行环境可以跑SpringBoot的项目了,SpringBoot的项目可以打成一个jar包。

3、简单搭建

3.1、创建maven项目

点击create

3.2、 导入依赖


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

并且刷新一下

3.3、 创建启动

package com;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

 3.4、创建控制

package com.controller;


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello(){
        System.out.println(" 访问成功!");
        return "hello world";
    }
}

3.5、运行启动main方法

 3.6、运行成功后访问localhost:8080/hello

SpringBoot内部已经约定会自动递归扫描启动类(@SpringBootApplication注解的类)所在的包,所以启动类必须放在包级别较高的位置
 

SpringBoat中内嵌tomcat,所以main启动时,其实是启动了内嵌tomcat
main方法:把当前项目打成jar包,发布内嵌tomcatwebapps下,并修改server.xml配置文件通过启动命令启动。
 

dependencyManagement:依赖管理
它只负责定义版本号,进行版本管理,不负责导入依赖jar包。但当我们真的引入对应依赖时候,就不需要再写版本号了。
SpringBoat中有很多starter启动器。每一个其实就相当于一个项目包,这里面依赖了很多其它的项目包。我们需要引入starter,其它的依赖也跟着引引入进来。
starterweb: .SpringMVC所需要jar包。

@SpringBootApplication 是—个组合注解,里面主要包含以下三个注解:
 

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
        excludeFilters = {@ComponentScan.Filter(type = FilterType.CUSTOM,
                classes = {TypeExcludeFilter.class}
        ) ,@ComponentScan.Filter(
                type = FilterType.CUSTOM,
                classes = {AutoConfigurationExcludeFilter.class}
        )}
)

@SpringBootConfiguration

  1. 它只是@Configuration注解的派生注解;

  2. 它与@Configuration注解的功能一致;

  3. 只不过@SpringBootConfiguration是springboot的注解,而@Configuration是spring的注解。

@Configuration 可以理解为一个Configuration就是对应的一个Spring的xml版的容器;(beans
    @Component
    @Bean
    是两种使用注解来定义bean方式
        @Component(和@Service和@Repository用于自动检测使用路径扫描自动配置bean注释类和bean之间存在隐式的一对映射(即每个类一个bean)。
        @Bean用于显式声明单个bean,而不是让Spring像上面那样自动执行它。它将bean的声明与类定义分离,并允许您精确地创建和配置bean。
        @Bean则常和@Configuration注解搭配使用
            @Configuration
            public class WebSocketConfig {
                @Bean
                public Student student(){
                    return new Student();
                }
            }                     
        都可以使用@Autowired或者@Resource注解注入
    @Bean注解告诉Spring这个法将返回一个对象这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例逻辑
    两者的区别
        如果想将第三方的类变成组件,你又没有没有源代码,也就没办法使用@Component进行自动配置,这种时候使用@Bean就比较合适了。        
        另外@Bean注解的方法返回值是对象,可以在方法中为对象设置属性

@EnableAutoConfiguration

帮助SpringBoot应用将所有符合条件的@Configuration配置都加载当前SpringBoot,并创建对应配置类的Bean,并把该Bean实体交给IoC容器进行管理

@ComponentScan: 扫描被@Component (@Service,@Controller)注解的 bean,注解默认扫描该类所在的包下所有的类。

4、打包

打包插件

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

加之前 

加入

双击

进入target目录

 

 启动后别关闭窗口

浏览器访问

5、热部署

1、引入依赖

  <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional>
                <scope>true</scope>
            </dependency>

 

运行后

ctrl + f9 进行热刷新 

原文地址:https://blog.csdn.net/qq_67832732/article/details/134681340

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_34992.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

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