SpringBoot笔记——入门案例解析
2018-05-28 16:24
495 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hql007/article/details/80437190
上一篇笔记,写了一个SpringBoot的入门案例,这篇笔记对案例做一个分析。
[/ol]
在pom.xml添加spring-boot-starter-jdbc和驱动包定义 阅读更多
- SpringBoot的简单介绍:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。可以轻松的创建独立运行的程序,非常容易构建独立的服务组件,是实现分布式架构、微服务架构利器。
SpringBoot的特点(优点)
- 内置Tomcat,可以直接部署,而不依赖外部Tomcat
- 简化MAVEN配置,提供一系列工具包集合
- spring-boot-starter-web(包含内置tomcat、mvc、restful)
- spring-boot-starter-jdbc(包含tomcat-jdbc连接池、spring-jdbc功能、JdbcTemplate)
- spring-boot-starter-aop(包含Spring AOP)
- spring-boot-starter-test(包含Spring test测试框架)
- spring-boot-starter-parent(包含spring boot底层通用设置和功能)
- spring-boot-starter(包含ioc、自动配置、日志功能)
- 自动配置Spring组件(重要特点)
- 采用Java配置替代了XML配置(完全取消了XML配置形式)
SpringApplication.run()方法启动Boot应用程序,创建Spring容器对象,如果有内置Tomcat会自动启动,并返回ApplicationContext。@SpringBootApplication注解标记开启了SpringBoot中组件扫描、自动配置、组件定义功能。@SpringBootApplication标记包含以下子标记:
[ol][li]@ComponentScan(组件扫描) @EnableAutoConfiguration (自动配置)[/li]@SpringBootConfiguration (组件定义)等价于@Configuration,内部还支持扫描功能。
@SpringBootConfiguration/@Configuration (组件定义)
可以将Java创建的组件对象放入到Spring容器对象中。 一般采用@Configuration+@Bean组合使用。@Configuration public class DataSourceConfiguration { @Bean//将返回对象放入Spring容器中,id名为方法名 public MyDataSource myDs(){ MyDataSource ds = new MyDataSource(); return ds; } @Bean(name="ds")//将返回对象放入Spring容器中,id名为ds public MyDataSource myDs1(){ MyDataSource ds = new MyDataSource(); return ds; } }等价于之前XML定义部分
<beans> <bean id="myDs" class="cn.xdl.bean.MyDataSource"/> <bean id="ds" class="cn.xdl.bean.MyDataSource"/> </beans>
@ComponentScan(组件扫描)
可以按指定或默认包路径扫描组件,将对象放入Spring容器中。package cn.xdl; import org.springframework.context.annotation.ComponentScan; //@ComponentScan(basePackages="cn.xdl.dao")//扫描cn.xdl.dao包下组件 @ComponentScan//扫描当前包及子包下组件 public class MyComponentScan { }等价于之前XML定义
<context:component-scan base-package="cn.xdl"/>提示:也可以扫描带有@Configuration注解标记的组件(内部含有@Component标记)。
@EnableAutoConfiguration (自动配置)
开启自动扫描注解,会自动加载spring-boot-autoconfigurer.jar中的META-INF/spring.factories文件,文件中定义了大量的Configuration组件(自动配置组件)。org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\ org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration,\ org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration,\ org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\原理:boot底层提供了大量自动配置组件,替代原有xml中定义(@Configuration+@Bean)。
- 基于自动配置获取dispatcherServlet对象 在pom.xml添加spring-boot-starter-web定义
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
开启自动配置,创建Spring容器,使用id=dispatcherServlet获取package cn.xdl; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @EnableAutoConfiguration//启用自动配置 public class MyAutoConfiguration { } public static void main(String[] args) { ApplicationContext ac = SpringApplication.run(MyAutoConfiguration.class, args); Object obj = ac.getBean("dispatcherServlet"); System.out.println(obj); }
- 基于自动配置获取dataSource和jdbcTemplate对象
在pom.xml添加spring-boot-starter-jdbc和驱动包定义 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency>
spring.datasource.username=SCOTT spring.datasource.password=TIGER spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE spring.datasource.dirverClassName=oracle.jdbc.OracleDriver在开启自动配置,创建Spring容器,使用DataSource、jdbcTemplate做id获取
public static void main(String[] args) { ApplicationContext ac = SpringApplication.run(MyAutoConfiguration.class, args); Object obj = ac.getBean("dataSource"); System.out.println(obj); obj = ac.getBean("jdbcTemplate"); System.out.println(obj); }
在pom.xml添加spring-boot-starter-jdbc和驱动包定义 阅读更多
相关文章推荐
- 超详细的Spring Boot入门笔记
- 超详细的Spring Boot入门笔记
- Spring boot入门实例 简易登录(精通Spring+4.x++企业应用开发实战 学习笔记二)
- Spring boot入门,整合mybatis开发案例
- 笔记--Spring Boot中解析yml配置 注入到对象
- Spring Boot入门小案例
- springboot心得笔记-入门
- 【spring boot笔记】 springboot 使用第三方json解析
- 超详细的Spring Boot入门笔记(总结)
- Spring Boot 学习笔记1——原理入门
- Spring Boot 学习笔记(一)——入门
- SpringBoot入门案例
- SpringBoot 整合 SpringData 入门案例(一)
- springboot 入门-框架解析(二)
- imooc很有意思的springBoot入门教程笔记
- 入门整合案例(SpringBoot+Spring-data-elasticsearch) ---- (指定分词器)
- SpringBoot-邮件发送 入门案例
- 5.1 入门整合案例(SpringBoot+Spring-data-elasticsearch) ---- good
- IntelliJ IDEA 中开发springboot之入门案例(HelloWorld)
- 【2018版】最新最全的SpringBoot 2.0入门视频课程——笔记