Leva você a um início rápido com Spring Boot em cinco minutos

Leva você a um início rápido com Spring Boot em cinco minutos

1. Introdução

A) Simplificar a estrutura de desenvolvimento de aplicativos do Spring; b) uma grande integração de toda a pilha de tecnologia do Spring; c) uma solução única para o desenvolvimento J2EE;

Vantagens:

1. Crie rapidamente projetos independentes de primavera em execução e integre com estruturas convencionais

2. Usando um contêiner de servlet embutido, o aplicativo não precisa ser empacotado em um pacote war

3. Inicia dependência automática e controle de versão

4. Um grande número de configurações automáticas para simplificar o desenvolvimento, e você também pode modificar os valores padrão

5. Configuração desordenada XML, sem geração de código, pronto para usar fora da caixa

6. Monitoramento de aplicativos em tempo de execução em ambiente de quase produção

7. Integração natural com computação em nuvem

2. Construir o ambiente

A) maven fornecido: para rotular os perfis maven, o arquivo de configuração settings.xml é adicionado

<profile>
  <id>jdk-1.8</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
  </activation>
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
  </properties>
</profile>

b) Configurações de ideias: configure o maven em sua ferramenta de ideias

Insira a descrição da imagem aqui

3. SpringBoot cria um projeto simples

Demanda: o navegador envia a solicitação de olá, o servidor aceita e processa a solicitação, uma string de resposta Hello World

A) Crie um projeto maven (jar)

B) Importar dependências relacionadas ao Spring Boot

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

C) Escreva um programa principal; inicie o aplicativo Spring Boot

//@SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
@SpringBootApplication
public class HelloWorldMainApplication {
    
    
    public static void main(String[] args) {
    
    
        // Spring应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}

D) Escrita relacionada ao controlador

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

E) Inicie o método principal no programa principal, digite o endereço do navegador para acessar (o servidor retornará "Hello World!")


F) Implementação simplificada: Esta aplicação pode ser marcada como um pacote jar e executada diretamente com o comando de java -jar ;

 <!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

4. Vá fundo no fundo do projeto springBoot

a) Arquivo POM

① Projeto pai

<!--SpringBoot项目依赖的的父项目-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>

<!--父项目再依赖的父项目如下,它是真正管理Spring Boot应用里面的所有依赖版本-->
<!--以后我们在导入依赖时,默认是不需要写版本号的(若不在dependencies里面管理的依赖,需要声明版本号)-->
<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-dependencies</artifactId>
  <version>1.5.9.RELEASE</version>
  <relativePath>../../spring-boot-dependencies</relativePath>
</parent>

② iniciador

O Spring Boot extrai todos os cenários funcionais em starters (starters) .Todas as dependências desses cenários relacionados ao starter precisam ser importadas para o projeto. Importe o iniciador da cena para a função desejada, por exemplo:spring-boot-starter-web

<dependency>
    <groupId>org.springframework.boot</groupId>
    <!--spring-boot-starter:spring-boot场景启动器;帮我们导入了web模块正常运行所依赖的组件;-->
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

b) Aula do programa principal, aula de entrada principal

//@SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
@SpringBootApplication
public class HelloWorldMainApplication {
    
    
    public static void main(String[] args) {
    
    
        // Spring应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}

@ SpringBootApplication (classe de configuração Spring Boot)

A anotação do aplicativo Spring Boot em uma determinada classe indica que esta classe é a classe de configuração principal do SpringBoot. O SpringBoot deve executar o método principal desta classe para iniciar o aplicativo SpringBoot. Verifique os detalhes desta anotação abaixo:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration//标注在某个类上,表示这是一个Spring Boot的配置类;
@EnableAutoConfiguration//开启自动配置功能
@ComponentScan(excludeFilters = {
     
     
      @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
      @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
     
     }//@SpringBootApplication注解

	//------------------------------------------------------------------------
    @Target({
     
     ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Configuration//代表配置类(全注解开发)== 配置文件
    public @interface SpringBootConfiguration {
     
     }//@SpringBootConfiguration注解


		//------------------------------------------------------------------------
        @Target({
     
     ElementType.TYPE})
        @Retention(RetentionPolicy.RUNTIME)
        @Documented
        @Component//配置类也是容器中的一个组件
        public @interface Configuration {
     
     //@Configuration注解
            String value() default "";
        }

@ EnableAutoConfiguration ( ativa a função de configuração automática)

Antes de precisarmos configurar o conteúdo, Spring Boot nos ajuda a configurar automaticamente; @ EnableAutoConfiguration diz ao SpringBoot para ativar a função de configuração automática; para que a configuração automática possa ter efeito, consulte os detalhes desta anotação abaixo:

@AutoConfigurationPackage//自动配置包
@Import(EnableAutoConfigurationImportSelector.class)//Spring的底层注解@Import,是将主配置类(@SpringBootApplication标注的类)的所在包及下面所有子包里面的所有组件扫描到Spring容器
public @interface EnableAutoConfiguration {
     
     }

Quando o Spring Boot é iniciado, ele obtém os valores especificados por EnableAutoConfiguration de META-INF / spring.factories no classpath e importa esses valores para o contêiner como classes de configuração automática, e as classes de configuração automática entram em vigor e ajude-nos com o trabalho de configuração automática; No passado, precisávamos configurar as coisas por nós mesmos, a classe de configuração automática nos ajudou (pode-se dizer que o oficial do springBoot fez essas tarefas), a solução geral de integração J2EE e a configuração automática estão todas incluídas spring-boot-autoconfigure-1.5.9.RELEASE.ja

5) Use Spring Initializer para criar rapidamente um projeto Spring Boot

① IDEIA: Use Spring Initializer para criar um projeto rapidamente

Os IDEs suportam o uso do assistente de criação de projeto do Spring para criar rapidamente um projeto Spring Boot, selecionar o módulo de que precisamos, o assistente criará um projeto Spring Boot na Internet e o projeto Spring Boot gerado padrão;

- 主程序已经生成好了,我们只需要我们自己的逻辑
- resources文件夹中目录结构
  - static:保存所有的静态资源; js css  images;
  - templates:保存所有的模板页面;(Spring Boot默认jar包使用嵌入式的Tomcat,默认不支持JSP页面);可以使用模板引擎(freemarker、thymeleaf);
  - application.properties:Spring Boot应用的配置文件;可以修改一些默认设置;

Acho que você gosta

Origin blog.csdn.net/weixin_45496190/article/details/107140300
Recomendado
Clasificación