引言
最近发现了一本书,特别适合spring入门者使用,书名叫《JavaEE开发的颠覆者:Spring Boot实战》,笔者就是入门者,为了尽快入门,也为了记录一些常用的知识点,笔者会花一个月到两个月的时间更新书本里的常用知识点。
这期进行对spring boot和spring 常用的一些注解做简单介绍,后期的文章会逐渐进行细化说明
spring生态
Spring发展很迅速,现在已经不是单纯的web开发,已经形成了各式各样的框架使用于各类型的项目,用于提高开发效率,降低开发难度,Spring的生态圈很大,大的无法想象,下面介绍几种常用的:
- Spring boot: 使用默认开发配置实现快速开发。
- Spring XD: 用来简化大数据应用开发。
- Spring Cloud: 为分布式系统开发提供工具集。
- Spring Data: 对主流的关系型和NoSql数据库支持。
- Spring Integration: 通过消息机制对企业集成模式(EIP)的支持。
- Spring Batch: 简化及优化大量数据的批处理操作。
- Spring Security: 通过认证和授权保护程序。
- Spring HATEOAS: 基于HATEOAS原则简化REST服务开发。
- Spring Social: 与社交网络API(如 Facebook、新浪微博等)的集成。
- Spring AMQP: 对基于AMQP的消息支持。
- Spring Mobile: 提供对手机设备检测的功能,给不同的设备返回不同的页面支持。
- Spring for Android: 主要提供在Android上的Restful Api开发。
- Spring Web Flow: 基于Spring MVC提供基于想到流程式的web开发。
- Spring Web Services: 提供基于协议优先的SOAP/WEB服务。
- Spring LDAP: 简化使用LDAP服务开发。
- Spring Session: 提供一个API实现来管理用户回话信息。
spring boot
而本文将介绍的Spring Boot是最常用的开发,它致力于零XML配置使用默认的开发配置实现快速开发,但是零XML配置真的就合适么,不一定,很多通过代码进行的繁琐配置,说不定用xml一行就能搞定,所以笔者一般选择应用的基础配置(如数据库配置)等用xml,业务配置(比如一个业务接口)用注解进行配置。
常用的注解
声明Bean注解:
1. @Component 声明组件,没有明确角色。
2. @Service 业务逻辑层(service 层使用)。
3. @Repository 在数据访问层(dao层使用)。
4. @Controller 在展示层之前使用(MVC)。
注入Bean的注解:
@Autowired: Spring 提供的注解。
我们平时也只用了这一个注入Bean的注解。
配置类注解:
@Configuration 声明当前类是一个配置类,相当于一个spring的xml文件,它和@Bean配合使用。
@Bean注解在方法上,声明当前方法的返回值为一个Bean。