myJavaSE

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包的版本号.

posted on 2019-12-24 21:05  myJavaSE  阅读(395)  评论(0编辑  收藏  举报

导航