SpringBoot初学
1.1. 什么是Spring Boot
随着动态语言的流行,JAVA的开发显得格外的笨重:繁多的配置,低下的开发的效率,复杂的部署流程以及第三方技术集成难度大。在上述环境下,SpringBoot应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性得配置)得理念让你的项目快速运行起来。使用SpringBoot很容易创建一个独立运行(运行jar,内嵌Servet容器),准生产级别的基于Spring框架的项目,使用SpringBoot你可以不用或者只需要很少的Spring配置。
1.2. SpringBoot的优缺点
优点:
(1)快速构建项目
(2)对主流开发框架的无配置集成
(3)项目可独立运行,无需外部依赖Servlet容器
(4)提供运行时的应用监控
(5)极大地提高了开发,部署效率
(6)与云计算的天然的集成
1.3. 快速入门
设置spring boot的parent
org.springframework.boot spring-boot-starter-parent 1.5.6.RELEASE
说明:Spring boot的项目必须要将parent设置为spring boot的parent,该parent包含了大量默认的配置,大大简化了我们的开发。
导入spring boot的web支持
org.springframework.boot spring-boot-starter-web
编写第一个Spring Boot的应用
@Controller
@SpringBootApplication
@Configuration
public class test1{
@RequestMapping("hello")
@ResponseBody
public String hello(){
return "hello world!";
}
public static void main(String[] args) {
SpringApplication.run(test1.class, args);
}
}
代码说明:
1、@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置。;
2、@Configuration:这是一个配置Spring的配置类;
3、@Controller:标明这是一个SpringMVC的Controller控制器;
4、main方法:在main方法中启动一个应用,即:这个应用的入口;
启动应用
在Spring Boot项目中,直接run Java Application运行。
测试
打开浏览器,输入地址:
SpringBoot的核心
入口类和@SpringBootApplication
Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。
该注解主要组合了以下注解:
1.@SpringBootConfiguration:这是Spring Boot项目的配置注解,这也是一个组合注解:
在Spring Boot项目中推荐使用@ SpringBootConfiguration替代@Configuration
2.@EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项:如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC
3.@ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。
关闭自动配置
如果不需要Spring Boot自动配置,想关闭某一项的自动配置,该如何设置? 比如:不想自动配置Redis,想手动配置。
当然了,其他的配置就类似了。
全局配置文件
Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。
1.修改tomcat的端口为8088
重新启动应用,查看效果:
2.修改进入DispatcherServlet的规则为:*.html
测试:
Starter pom
Spring Boot的自动配置的原理
Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器。
Maven下载源码
通过 dependency:sources 该命令可以下载该项目中所有的依赖的包的源码。
源码分析
org.springframework.boot.SpringApplication:
由此可见,读取该配置文件来加载内容。
举例:Redis的自动配置
org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration是Redis的自动配置。
内容:
条件注解
到此SpringBoot第一篇初学完成!谢谢观看。