目录
SpringBoot框架
SpringBoot开发
SpringBoot工具集
SpringBoot配置文件
SpringBoot Bean组件定义
SpringBoot组件扫描
SpringBoot自动配置
SpringBoot总结

SpringBoot框架

SpringBoot框架是对原有Spring框架做的封装,用于简化Spring程序搭建和开发过程。
    SpringBoot完全采用Java配置,取消了XML定义
    SpringBoot提供内置的Tomcat,可以打成jar包
    SpringBoot提供了自动配置功能,能自动创建DataSource、JdbcTemplate、DispatcherServlet、RedisTemplate、MongoTemplate等
    SpringBoot提供了便于引入的工具集,web、jdbc、aop、test等
    SpringBoot配置文件application.properties或application.yml

入门案例

创建maven project,在pom.xml导入web包

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

在src\main\resources创建application.properties

server.port=8888 

编写HelloController

@RestController public class HelloController {      @GetMapping("/hello")     public Object say(){         return "Hello SpringBoot";     }      @GetMapping("/hello1")     public Object say1(){         Map<String, Object> data = new HashMap<String, Object>();         data.put("msg", "SpringBoot");         data.put("name", "XDL");         return data;     }  } 

编写RunBoot启动类

@SpringBootApplication public class RunBoot {      public static void main(String[] args) {         SpringApplication.run(RunBoot.class, args);     }  } 

SpringBoot开发
SpringBoot工具集

在pom.xml导入jar包时常用以下工具集
    spring-boot-starter //ioc core、autoconfig、yaml
    spring-boot-starter-parent
    spring-boot-starter-web //mvc、restful、tomcat
    spring-boot-starter-test //junit、test
    spring-boot-starter-jdbc //jdbc、datasource
    spring-boot-starter-aop //aop
    spring-boot-starter-data-redis //redis、springdata
    spring-boot-starter-data-mongodb //mongodb、springdata
    spring-boot-starter-data-jpa //spring data
    spring-boot-starter-thymeleaf //thymeleaf

SpringBoot配置文件

SpringBoot支持properties和yml两种格式,约定名application。

    application.properties

    key=value server.port=8888 spring.datasource.username=scott spring.datasource.password=tiger 

    application.yml

    具有层次结构。

    server:  port: 8888 spring:  datasource:   username: scott   password: tiger 

启动类

启动SpringBoot程序的类,带有一个main方法启动。

@SpringBootApplication public class RunBoot {      public static void main(String[] args) {         SpringApplication.run(RunBoot.class, args);     } } 

SpringApplication.run(RunBoot.class, args)启动运行机制.
    首先判断应用类型,是Web类型、WebService类型、非Web类型
    根据不同应用类型加载不同环境参数
    加载启动Banner
    创建出不同类型的ApplicationContext容器对象
    向Spring容器加载组件,例如Bean、Listener
    启动Listener组件、任务Runner功能

@SpringBootApplication标记功能

@SpringBootApplication是一个综合标记,由以下功能标记构成
    @SpringBootConfiguration-->@Configuration //Bean组件定义
    @EnableAutoConfiguration //自动配置功能
    @ComponentScan //组件扫描功能

SpringBoot Bean组件定义

@SpringBootConfiguration具有组件配置功能,可以将指定的Bean组件对象放入Spring容器。使用方法如下:
1.引入spring-boot-starter工具集

2.编写配置类,使用@SpringBootConfiguration+@Bean标记

//@SpringBootConfiguration @Configuration public class RunBoot {      @Bean//将返回的DeptDao对象放入Spring容器中,默认方法名作为id名 ,等价于<bean id="" class="">     public DeptDao deptDao(){         DeptDao deptDao = new DeptDao();         return deptDao;     }        } 

3.基于配置类创建Spring容器对象

public static void main(String[] args) {     ApplicationContext ac =          SpringApplication.run(RunBoot.class, args);     Object obj1 = ac.getBean("deptDao"); } 

4.可以使用@Import将其他配置类导入主启动类RunBoot中

@SpringBootConfiguration//开启了Bean组件定义功能 @Import({DaoConfiguration.class})//导入其他@Configuration配置类 public class RunBoot {     //... ... } 

提示:如果程序中出现多个同类型的Bean对象,可以使用@Primary指定默认注入对象。

SpringBoot组件扫描

SpringBoot通过@ComponentScan标记开启组件扫描功能。默认扫描当前包及子包组件。也可以指定basePackages属性。

//@ComponentScan(basePackages={"cn.xdl.service"})//<context:component-scan base-package=""> @ComponentScan//默认扫当前包及子包组件 public class RunBoot { } 

在组件前面追加@Controller、@Service、@Component、@Repository标记。

通过RunBoot实例化SpringBoot容器,加载组件。

ApplicationContext ac =          SpringApplication.run(RunBoot.class, args); Object obj4 = ac.getBean("deptService");     System.out.println(obj4); 

SpringBoot自动配置

SpringBoot提供了大量的配置组件,这些配置组件已创建出常用对象,例如DataSource、JdbcTemplate等。

在启动类前,追加@EnableAutoConfiguration标记,可以开启自动配置功能。
    1.在启动类前追加@EnableAutoConfiguration开启自动配置(加载spring-boot-autoconfigure-2.0.5.RELEASE.jar下META-INF/spring.factories文件定义的组件)
    2.在pom.xml添加对应工具包(spring-boot-starter-jdbc、ojdbc6)

    3.在application.properties定义参数
        spring.datasource.username=SCOTT
        spring.datasource.password=123456
        spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
        #spring.datasource.driverClassName=

    4.创建SpringBoot容器,获取使用dataSource、jdbcTemplate对象

    ApplicationContext ac =      SpringApplication.run(RunBoot.class, args); DataSource ds = ac.getBean("dataSource",DataSource.class); System.out.println(ds.getConnection()); JdbcTemplate template =      ac.getBean("jdbcTemplate",JdbcTemplate.class); System.out.println(template); 

SpringBoot总结

更多推荐

Spring框架(十四)SpringBoot框架+SpringBoot开发+SpringBoot总结