• springboot入门详解


    1.  springboot的作用:

    相对一以往的搭建ssm和ssj来说我们搭建一个项目是比较复杂的,有很多配置文件要写,要配置spring核心xml和spring-mvc的核心xml,还有web.xml,这些配置文件配置起来比较复杂,而springboot相对来说就要简单很多了,springboot就是一款搭建服务环境和开发环境的框架,通过springboot可以简化搭建步骤,快速高效的进行开发。

    2.springboot使用注解的方式配置bean对象

    步骤:

    1.新建一个类:

    public class JavaConfigTest {
        @Test
        public void test()throws Exception{
            /**
             * 1.获取加载配置文件的容器,并将配置文件作为参数放入到容器中
             * 2.通过容器获取到bean对象
             */
            //通过applicationContext容器读取java类的配置文件
            ApplicationContext applicationContext = new AnnotationConfigApplicationContext(ApplicationConfig.class);
            //通过容器拿到bean对象(以字节码文件,反射的方式-MyBean.class)
            MyBean bean = applicationContext.getBean(MyBean.class);
            System.out.println(bean);
        }
    }

    2.使用java类的方式代替以前的xml文件配置,再类上面打上注解@Configuration注解,告诉spring这是一个配置类

    3.在方法上面打上注解@Bean,将方法返回的结果实例,配置为bean对象

    4.还可以使用扫描IOC组件的方式 ,在要配置为bean的类上面打上@componet,@service,@controller,@repository注解,再在配置类上面打上@componetScan

    这样在启动spring容器的时候,会加载配置类,根据注解读取扫描组件后,spring就知道要把对应的类配置为bean对象了

    @Configuration
    public class ApplicationConfig {
        @Bean
        public MyBean mybean(){
            return new MyBean();
        }
    }

    3.测试

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = ApplicationConfig.class)
    public class JavaConfigTest {
        @Autowired
        private MyBean myBean;
        @Test
        public void test()throws Exception{
            System.out.println(myBean);
        }
    
    }

    4.springboot搭建web项目

    步骤:

    1、创建一个项目,

     2、配置pom.xml文件

    <?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 http://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.0.5.RELEASE</version>
      </parent>
    
      <groupId>cn.itsource</groupId>
      <artifactId>springboot_hello</artifactId>
      <version>1.0-SNAPSHOT</version>
    
      <name>springboot_hello</name>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
      </properties>
    
      <dependencies>
    
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    
    </project>

    3.新建一个Example的类

    @RestController
    @EnableAutoConfiguration
    public class Example {
        @RequestMapping("/")
        String home() {
            return "Hello World!";
        }
        public static void main(String[] args) {
            SpringApplication.run(Example.class, args);
        }
    }

    4.运行Example中的main方法,启动服务

     

     5.浏览器访问

     6springboot的详解:

     1.tomcat怎么来的?
         内嵌tomcat ->
         通过 spring-boot-starter-web ->  spring-boot-starter-tomcat 导入了tomcat
     2.SpringApplication.run是怎么启动的
        用来启动SpringBoot应用 :

     ①.初始化工作:准备环境,打印baner,创建容器
     ②.加载项目代码完成自动配置
     ③. 打包项目到tomcat
     ④.启动taomcat

     3.web.xml,SpirngMvc.xml中的配置去哪儿了?
        自动配置
     4.spring-boot-starter-parent是干嘛的

         是SpringBoot的父工程,管理了很多的基础依赖,如果我们要用里面的依赖,直接导入,不写版本.

     5.spring-boot-starter-web是干嘛的

        用来集成web(SpringMvc),把web层需要的jar包都给你引入进来了,包括: SpringMvc相关的包,日志相关包,JSON相关包,自动配置包,tomcat包等等

     6.@RestController是干嘛的 :
              @Controller + @ResponseBody

     7.@EnableAutoConfiguration是干嘛

            开启自动配置 : 通过一个导入选择器  AutoConfigurationImportSelector 会负责从 spring.factories文件中加载一些自动配置类
            比如:前端控制器就通过一个 DispatcherServletAutoConfiguration 自动配置类完成,在这个类里面通过定义bean的方式定义了DispatcherServlet
            的实例对象.

     8.项目打包方式为什么是Jar
        SpringBoot默认打jar包 ,


    dependencies : 父工程的dependencies标签下面的jar包会被子模块直接继承使用
    dependencyManagement : 申明/管理依赖的 ,父工程的dependencyManagement标签下面的jar包默认子模块是用不了的,
     如果只模块要用这个标签里面的jar包得显示的写出来, 这个标签主要用来统一管理jar包的版本号.

  • 相关阅读:
    机器学习-分类算法-决策树,随机森林10
    机器学习-分类算法-模型选择与调优09
    机器学习-分类算法-精确率和召回率08
    机器学习-分类算法-朴素贝叶斯算法07
    机器学习-分类算法-K-近邻算法06
    java读取自定义配置文件并引用
    kafka发布消息报错LEADER_NOT_AVAILABLE
    Kettle位置参数(Argument)、命名参数(Parameter)、变量(Variable)
    kettle里的两个参数和一个变量
    如何在命令行下运行kettle的作业(job)和转换(transform)
  • 原文地址:https://www.cnblogs.com/19930909a/p/12093559.html
Copyright © 2020-2023  润新知