今天介绍一些特性,上一章,我们说了下基础的内容,今天学习一些特性或者一些配置。
在学习springboot之前如果使用过spring +springmvc的那是最好不过了。
@RestController
@EnableAutoConfiguration
@ComponentScan
public class Main {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Main.class, args);
}
}
如果你将这个启动类放在默认的包目录下,那么
使用@ComponentScan 就可扫描所有子目录下的组件,包括@controller@service等等
@EnableAutoConfiguration使用默认配置来进行启动应用,文档中建议使用自己写的@Configuration来写自己的配置,逐步替换默认的配置。
@RestController和@RequestMapping这个就是再springmvc常用的申明rest服务的controller和url映射。
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})内部可以排除一些自动配置的内容,也可以使用名字qualified粒度进行排除。
或者也可以使用
@SpringBootApplication替代
// same as @Configuration @EnableAutoConfiguration @ComponentScan
感觉spring最近虽然增加了很多注解,减少了一些代码,但是实际上功能并没有什么改变。
maven mvn install //之后会生成一个war包或者一个jar包
java -jar target/myproject-0.0.1-SNAPSHOT.jar //来运行
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar target/myproject-0.0.1-SNAPSHOT.jar //设置一些参数
mvn spring-boot:run //在maven中运行
介绍一下yaml格式的配置,现在这种配置比properties的格式增加了分组,更加直观
//YAML
environments:
dev:
url: http://dev.bar.com
name: Developer Setup
prod:
url: http://foo.bar.com
name: My Cool App
//properties
environments.dev.url=http://dev.bar.com
environments.dev.name=Developer Setup
environments.prod.url=http://foo.bar.com
environments.prod.name=My Cool App
------------------------------------------
这里一周没更新,看了文档好久,发现全是配置类的东西,写教程也就无从讲起,等我看完文档。再写一个专门通过配置实现程序各种特性的文章吧~