1构建系统
springboot强烈建议你使用支持dependency management能被消费和发布的仓库。springboot强烈建议你使用maven和gradle,这里我们使用maven。
2结构化代码
包规范:springboot建议遵循Java使用的命名规范比如:(com.example.pro).
定位应用程序主类,一般建议在root package,在其他包的根路径上。
代码结构示例图
主类上你可以使用@SpringBootApplication 注解,如果你不想用这个注解你也可以用
3配置类
springboot倾向于Java-based的配置风格。springboot一般建议你的主要资源配置是一个单独的@Configuration配置类。一般定义在主方法上作为主配置。
4自动配置
springboot基于引入的依赖自动配置你的spring应用。比如说如果HSQLDB在你的classpath,你不需要手动配置任何数据库链接,springboot在内存上自动配置一个内存数据库。
1自动配置是非入侵式的。
2禁用具体的自动配置类,比如你可以排除数据源自动配置
5spring Beans 和依赖注入(DI)
你可以自由的使用spring技术定义你的beans和注入它们的依赖。我们一般建议使用构造方法注入你的依赖,然后使用@ComponentScan查找它。
@Autowired也可以注入依赖
6使用@SpringBootApplication
@SpringBootApplication // same as @SpringBootConfiguration @EnableAutoConfiguration
// @ComponentScan
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
这个结构非强制性的,你可以选择替换这个注解,下面这个例子你可能不想使用component 浏览或者configuration 属性浏览在你的应用。
@SpringBootConfiguration(proxyBeanMethods = false)
@EnableAutoConfiguration
@Import({ SomeConfiguration.class, AnotherConfiguration.class })
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
7运行你的应用
1在你idea上运行
2运行一个被打包的应用
$ java -jar target/myapplication-0.0.1-SNAPSHOT.jar
或者远程运行
$ java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n \
-jar target/myapplication-0.0.1-SNAPSHOT.jar
3使用maven 插件
mvn spring-boot:run
你可能想使用MAVEN_OPTS操作你的系统环境变量
$ export MAVEN_OPTS=-Xmx1024m
4热部署