• SpringBoot简介及第一个应用


    一、Spring时代变换 

      1. Spring1.x 时代

      Spring初代都是通过xml文件配置bean,随着项目的不断扩大,繁琐的xml配置,混乱的依赖关系,难用的bean装配方式,由此衍生了spring2.x时代的变化

      2. Spring2.x时代

      随着JDK 1.5带来的注解支持,Spring2.x可以使用注解对Bean进行声明,注入和装配,简化了xml的配置和bean的装配;

      旧时代Spring的最佳实践:

      2.1、  应用的基本配置用xml,比如:数据源、资源文件等;

      2.2、  业务开发用注解,比如:Service中注入bean等;

      3、Spring3.x, 4.x时代

      Spring3.x,4.x和Spring boot都推荐使用自动配置的方式,即免去了很多注解和xml配置,通过Spring自动识别,自动完成配置的方式,来简化项目的开发。

    二、SpringBoot的诞生

      随着动态语言Ruby,Groovy,Scala,Node.js的流行(什么是动态语言,即无需编译即可运行的语言,相比之下,Java属于静态语言),Java繁多的配置,复杂的部署流程和第三方技术集成的难度愈发变大。

      在此背景下,SpringBoot诞生了,虽然仍旧属于静态语言的一种,但是它倡导“习惯优于配置”(即使项目中存在繁多配置,但已经内置了一个习惯的配置,让用户无需手动配)的理念,得到了很多开发者的支持,因为可以摆脱复杂的部署流程使应用快速的跑起来。

      使用SpringBoot可以快速的创建一个独立运行的不依赖于任何容器(一个Jar包即是一个服务,内嵌Serverlet容器)的项目,减少开发过程中的配置,提高项目交付的效率。

      SpringBoot的优缺点:

      (1)快速构建开发项目

      (2)对主流框架的无配置集成

      (3)项目可独立运行,无需依赖外部Serverlet容器

      (4)提供运行时的监控

      (5)极大提高了开发,部署效率

      (6)与云计算的天然集成

    三、第一个SpringBoot应用

      1、设置spring boot的parent 

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
    </parent>

      说明:Spring boot的项目必须要将parent设置为spring boot的parent,该parent包含了大量默认的配置,大大简化了我们的开发。

      2、导入SpringBoot的Web支持

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

      3、添加SpringBoot的插件 

    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.0.3.RELEASE</version>
    <executions>
    <execution>
    <goals>
    <goal>repackage</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
    </plugins>
    </build>

      4、编写第一个SpringBoot支持的Web程序

    @Controller
    @SpringBootApplication
    @Configuration
    public class HelloApplication {
        
        @RequestMapping("hello")
        @ResponseBody
        public String hello(){
            return "hello world!";
        }
        
        public static void main(String[] args) {
            SpringApplication.run(HelloApplication.class, args);
        }
    
    }

      代码说明:

      (1)@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置。;

      (2)@Configuration:这是一个配置Spring的配置类;

      (3)@Controller:标明这是一个SpringMVC的Controller控制器;

      (4)main方法:在main方法中启动一个应用,即:这个应用的入口;

      5、出现如下运行日志和浏览器验证结果如下即为成功

      

       

     四、SpringBoot的页面重定向

    @Controller
    class IndexController {
    
        @RequestMapping("/")
        public String index() {
            return "forward:/someIndex.jsp";
        }
    }
    
    @Configuration
    public class DefaultView extends WebMvcConfigurerAdapter{
        @Override
        public void addViewControllers( ViewControllerRegistry registry ) {
            registry.addViewController( "/" ).setViewName( "forward:/yourpage.html" );
            registry.setOrder( Ordered.HIGHEST_PRECEDENCE );
            super.addViewControllers( registry );
        } 
    }
  • 相关阅读:
    ceph概述
    docker网络
    ceph部署
    K8s集群搭建(二)
    K8s架构
    K8s集群搭建(一)
    Kubernetes介绍
    虚拟化网络管理(二)
    virt-manager创建虚拟机
    C#中TransactionScope的使用方法和原理
  • 原文地址:https://www.cnblogs.com/jiyukai/p/9278522.html
Copyright © 2020-2023  润新知