手把手初认Springboot2

Springboot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Springboot是Spring中的一个成员,可以简化Spring,SpringMVC的核心是IOC容器

使用Springboot开发效率高。

Springboot特点

  1. 独立运行的 Spring 项目

Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令“ java–jar xx.jar” 即可运行。

可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

  1. 内嵌 Servlet 容器

Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),应用无需打成 WAR 包 。

  1. 提供 starter 简化 Maven 配置

Spring Boot 提供了一系列的“starter”项目对象模型(POMS)来简化 Maven 配置。

  1. 提供了大量的自动配置

Spring Boot 提供了大量的默认自动配置,来简化项目的开发,开发人员也通过配置文件修改默认配置。

尽可能自动配置Spring容器

  1. 自带应用监控

Spring Boot 可以对正在运行的项目提供监控。

  1. 无代码生成和 xml 配置

Springboot特性

    遵循习惯优于配置的原则。使用springboot我们只需要很少的配置,大多数使用默认配置即可

    内嵌servlet容器,降低了对环境的要求,可用命令直接执行项目

    项目快速搭建。springboot尽可能自动配置spring以及第三方库,帮助开发者快速搭建spring框架,可无需配置的自动整合第三方框架

    提供各种starter简化Maven配置。springboot提供了一系列的starter用来简化maven依赖。如:常用的spring-boot-starter-web、spring-boot-starter-tomcat等

    独立运行spring项目。springboot可以以jar包的形式进行独立运行,使用java -jar xx.jar 就可以成功运行项目,无需部署war文件

    可以完全不使用xml配置,只需要自动配置和Java config

    应用监控(SpringBootActuator)

XML与JavaConfig

Spring使用XML作为容器配置文件,在3.0后加入了JavaConfig,使用java类做配置文件使用。

JavaConfig

JavaConfig:是Spring提供使用java类配置容器(代替XML配置。配置Spring IOC容器的纯Java方法。

JavaConfig类可以创建java对象,把java对象放入spring容器中(注入)。

可以使用面向对象方式,一个配置类可以继承配置类,可以重写方法。

避免了繁琐的XML配置

注解:@Configuration 、 @Bean

@Configuration:表示这个类作为配置文件使用

@Bean:声明对象,把对象注入到IOC容器中。

XML配置文件配置与JavaConfig配置注入IOC容器

pojo类

public class Student {

    private String name;

    private int age;

    private String sex;
       //get+set+toString
}

分别使用XML配置与JavaConfig配置方式将Student对象注入IOC容器

XML配置文件配置

springConfig.xml



    

    

    

测试类

@Test

public void test01(){

    ApplicationContext applicationContext =new ClassPathXmlApplicationContext("springConfig.xml");

    Student student = applicationContext.getBean("student", Student.class);

    System.out.println(student.toString());

}

JavaConfig配置@Configuration

/**

 * @Configuration注解:表示该类作为配置文件使用。用来配置IOC容器。

 * 使用@Configuration注解后SpringConfig类,代替springConfig.xml

 */

@Configuration

public class SpringConfig {

    /**

     * 创建方法其返回值为对象,加入@Bean注解后,对象就注入到IOC容器中

     */
       //未使用@Bean注解来指定Bean的名字则默认为方法名

    @Bean

    public Student createStudent(){

        Student st1 =new Student();

        st1.setName("李四");

        st1.setAge(20);

        st1.setSex("男");

        return st1;

    }

}

测试类

@Test

public void test02(){

    ApplicationContext aC =new AnnotationConfigApplicationContext(SpringConfig.class);

    Student createStudent = aC.getBean("createStudent", Student.class);

    System.out.println(createStudent.toString());

}

手把手初认Springboot2_第1张图片

使用@bean注解指定名称

@Bean(name ="Student001")

 手把手初认Springboot2_第2张图片

引入@ImportResource

@ImportResource作用:导入其他xml配置文件,等同于

等同于在xml中使用import

@ImportResource的使用

@ImportResource(value ="classpath:applicationContext.xml")

 

手把手初认Springboot2_第3张图片

@PropertyResource注解

手把手初认Springboot2_第4张图片

@PropertyResource注解是读取properties属性配置文件,类似于在xml配置文件中的



@PropertyResource注解的使用

在resources目录下创建properties文件,使用key=value格式提供数据

手把手初认Springboot2_第5张图片

创建类

@Component("jdbc")

public class Jdbc {

  @Value("${jdbc.driver}")

  private String  driver;

  @Value("${jdbc.url}")

  private String  url;

  @Value("${jdbc.user}")

  private String  user;

  @Value("${jdbc.password}")

  private String  password;

  //get + set + toString

}

SpringConfig配置

@ComponentScan({"com.qgs.pojo"})

@PropertySource(value = "classpath:jdbc.properties")

 手把手初认Springboot2_第6张图片

测试类

@Test

public void test02(){

    ApplicationContext aC =new AnnotationConfigApplicationContext(SpringConfig.class);

    Jdbc jdbc = aC.getBean("jdbc", Jdbc.class);

    System.out.println(jdbc.toString());

}

创建SpringBoot项目的方式

使用Spring提供的初始化器,向导创建springboot项目

DIEA使用国外地址:

https://start.spring.io

DIEA使用国内地址

https://start.springboot.io

手把手初认Springboot2_第7张图片

手把手初认Springboot2_第8张图片

 手把手初认Springboot2_第9张图片

浏览器构建项目

手把手初认Springboot2_第10张图片

手把手初认Springboot2_第11张图片

IDEA导入包

手把手初认Springboot2_第12张图片

使用Maven构造SpringBoot项目





    4.0.0

    

        org.springframework.boot

        spring-boot-starter-parent

        2.7.10

         

    

    org.example

    springboot004

    1.0-SNAPSHOT
    

        8

        8

        UTF-8

    
    

        

            org.springframework.boot

            spring-boot-starter-web

        

        

            org.mybatis.spring.boot

            mybatis-spring-boot-starter

            2.3.0

        
        

            org.springframework.boot

            spring-boot-devtools

            runtime

            true

        

        

            com.mysql

            mysql-connector-j

            runtime

        

        

            org.springframework.boot

            spring-boot-starter-test

            test

        

    
    

        

            

                org.springframework.boot

                spring-boot-maven-plugin

            

        

    

如有错误请指正,谢谢

你可能感兴趣的:(spring,java,spring,boot)