SpringBoot

1.Spring 框架最早是通过 XML 配置文件的形式来描述 bean 与 bean 之间的关系的,随着 Java 业界研发技术和理念的转变,基于 Java 代码和 Annotation 元信息的描述方式也日渐兴盛(比如 @Autowired 和 @Inject)

 

2.任何一个标注了 @Configuration 的 Java 类定义都是一个 JavaConfig 配置类。

3.任何一个标注了 @Bean 的方法,其返回值将作为一个 bean 定义注册到 Spring 的 IoC 容器,方法名将默认成为该 bean 定义的 id。

 

4.@PropertySource 与 @PropertySources

@PropertySource 用于从某些地方加载 *.properties 文件内容,并将其中的属性加载到 IoC 容器中,便于填充一些 bean 定义属性的占位符(placeholder),当然,这需要 PropertySourcesPlaceholderConfigurer 的配合。

如果我们使用 Java 8 或者更高版本开发,那么,我们可以并行声明多个 @PropertySource:

@Configuration
@PropertySource("classpath:1.properties")
@PropertySource("classpath:2.properties")
@PropertySource("...")
public class XConfiguration{
    ...
}

@PropertySources({ @PropertySource("classpath:1.properties"), @PropertySource("classpath:2.properties"), ...})
public class XConfiguration{
    ...
}

 

@Import 与 @ImportResource

在 XML 形式的配置中,我们通过 <import resource="XXX.xml"/> 的形式将多个分开的容器配置合到一个配置中,在 JavaConfig 形式的配置中,我们则使用 @Import 这个 Annotation 完成同样目的:

@Configuration
@Import(MockConfiguration.class)
public class XConfiguration {
    ...
}

 

 Start pom

Spring Boot application starters 下面的应用程序starters是Spring Boot在org.springframework.boot组下提供的

名称    描述
spring-boot-starter    核心Spring Boot starter,包括自动配置支持,日志和YAML
spring-boot-starter-actuator    生产准备的特性,用于帮你监控和管理应用
spring-boot-starter-amqp    对”高级消息队列协议”的支持,通过spring-rabbit实现
spring-boot-starter-aop    对面向切面编程的支持,包括spring-aop和AspectJ
spring-boot-starter-batch    对Spring Batch的支持,包括HSQLDB数据库
spring-boot-starter-cloud-connectors    对Spring Cloud Connectors的支持,简化在云平台下(例如,Cloud Foundry 和Heroku)服务的连接
spring-boot-starter-data-elasticsearch    对Elasticsearch搜索和分析引擎的支持,包括spring-data-elasticsearch
spring-boot-starter-data-gemfire    对GemFire分布式数据存储的支持,包括spring-data-gemfire
spring-boot-starter-data-jpa    对”Java持久化API”的支持,包括spring-data-jpa,spring-orm和Hibernate
spring-boot-starter-data-mongodb    对MongoDB NOSQL数据库的支持,包括spring-data-mongodb
spring-boot-starter-data-rest    对通过REST暴露Spring Data仓库的支持,通过spring-data-rest-webmvc实现
spring-boot-starter-data-solr    对Apache Solr搜索平台的支持,包括spring-data-solr
spring-boot-starter-freemarker    对FreeMarker模板引擎的支持
spring-boot-starter-groovy-templates    对Groovy模板引擎的支持
spring-boot-starter-hateoas    对基于HATEOAS的RESTful服务的支持,通过spring-hateoas实现
spring-boot-starter-hornetq    对”Java消息服务API”的支持,通过HornetQ实现
spring-boot-starter-integration    对普通spring-integration模块的支持
spring-boot-starter-jdbc    对JDBC数据库的支持
spring-boot-starter-jersey    对Jersey RESTful Web服务框架的支持
spring-boot-starter-jta-atomikos    对JTA分布式事务的支持,通过Atomikos实现
spring-boot-starter-jta-bitronix    对JTA分布式事务的支持,通过Bitronix实现
spring-boot-starter-mail    对javax.mail的支持
spring-boot-starter-mobile    对spring-mobile的支持
spring-boot-starter-mustache    对Mustache模板引擎的支持
spring-boot-starter-redis    对REDIS键值数据存储的支持,包括spring-redis
spring-boot-starter-security    对spring-security的支持
spring-boot-starter-social-facebook    对spring-social-facebook的支持
spring-boot-starter-social-linkedin    对spring-social-linkedin的支持
spring-boot-starter-social-twitter    对spring-social-twitter的支持
spring-boot-starter-test    对常用测试依赖的支持,包括JUnit, Hamcrest和Mockito,还有spring-test模块
spring-boot-starter-thymeleaf    对Thymeleaf模板引擎的支持,包括和Spring的集成
spring-boot-starter-velocity    对Velocity模板引擎的支持
spring-boot-starter-web    对全栈web开发的支持,包括Tomcat和spring-webmvc
spring-boot-starter-websocket    对WebSocket开发的支持
spring-boot-starter-ws    对Spring Web服务的支持

 

 

Spring Boot的优缺点

1)优点

  • 快速构建项目。
  • 对主流开发框架的无配置集成。
  • 项目可独立运行,无须外部依赖Servlet容器。
  • 提供运行时的应用监控。
  • 极大地提高了开发、部署效率。
  • 云计算的天然集成。

2)缺点

  • 版本迭代速度很快,一些模块改动很大。
  • 由于不用自己做配置,报错时很难定位。
  • 网上现成的解决方案比较少。

 

@SpringBootApplication 是一个“三体”结构,实际上它是一个复合 Annotation:

三体”结构实际上指的就是这三个 Annotation:

  • @Configuration
  • @EnableAutoConfiguration
  • @ComponentScan

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值