Spring Boot 是一套基于 Spring 框架的微服务框架。从本质上讲;Spring Boot
又不是一个框架,它就是一些库的集合,maven 或者 gradle 项目导入相应依赖即
可使用 Spring Boot,而且无需自行管理这些库的版本。在面向服务开发的分布式
应用系统中,各个业务都被分为一个个的子业务系统;而 Spring Boot 为开发这
些微小型子业务系统提供了极大的便利。
缺点:打包后修改项目内容不方便只能整体更新;如果遇到 spring boot 官方
不支持的组件那么必须手动整合比较麻烦。
@SpringBootApplication是一个符合注解其中@EnableAutoConfiguration能实现自动配置的原理就是:SpringFactoriesLoader从classpath中搜寻所有META-INF/spring.fatories文件,并将其中Key[org.springframework.boot.autoconfigure.EnableAutoConfiguration]对应的Value配置项通过反射的方式实例化为对应的标注了@Configuration的JavaConfig形式的IoC容器配置类,然后汇总到当前使用的IoC容器中。
依赖
//JDK版本
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
</dependencies>
编写引导类Application
/**
* 如果是spring boot工程则必须在启动引导类上添加
* SpringBootApplication 是一个组合注解
* 组合了ComponentScan 会扫描当前包和其子包下的spring 注解
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
/*SpringApplication springApplication = new SpringApplication(Application.class);
springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);*/
}
}
添加设置信息 \resources\application.properties
修改内嵌 tomcat端口号;默认为 8080
server.port=8888
自定义配置项
url=http://www.it.cn
配置 activeMQ服务器信息
spring.activemq.broker-url=tcp://192.168.12.168:61616
Controller
@RequestMapping("/test")
@RestController
public class HelloController {
@Value("${url}")
private String url;
@Autowired
private Environment environment;
@GetMapping("/hello")
public String sayHello(){
System.out.println("url = " + url);
return "Hello SpringBoot. url = " + environment.getProperty("url");
}
}