谈谈Spring注解有哪些以及开发要点
首先要明白Spring使用注解代替xml配置文件可以简化配置,极大提高了开发的效率。
关于注解
-
原始注解:(主要是替代<Bean>标签的配置就是IOC操作)
这四个注解的功能相同,不同的名称主要是为了区分Spring管理对象。
注解名称 | 作用 |
---|---|
@Component | 在类上用于实例化Bean |
@Controller | 在控制层类上用于实例化Bean |
@Service | 在service层类上用于实例化Bean |
@Repository | 在dao层类上用于实例化Bean |
这些注解主要替代文件注入的书写(DI操作)
注解名称 | 作用 |
---|---|
@Autowired | 使用在字段上用于根据类型依赖注入 |
@Qualifier | 结合@Autowired一起使用用于根据名称进行依赖注入 |
@Resource | 相当于@Autowired+@Qualifier,先按照名称进行注入,后按照类型注入 |
@Value | 注入普通属性(属性值注入) |
这些注解是替代spring核心配置生命周期的配置
注解名称 | 作用 |
---|---|
@Scope | 标注Bean的作用范围(单例,双例模式) |
@PostConstruct | 使用在方法上标注该方法是Bean的初始化方法 |
@PreDestroy | 使用在方法上标注该方法是Bean的销毁方法 |
-
spring注解配置类注解
注解名称 | 作用 |
---|---|
@Configuration | 指定当前类是一个 Spring 配置类,(相当于创建spring.xml并引入头文件)当创建容器时会从该类上加载注解 |
@ComponentScan | 用于指定 Spring 在初始化容器时要扫描的包。作用是指定哪个包及其子包下的Bean需要进行扫描以便识别使用注解配置的类、字段和方法 |
@Bean | 使用在方法上,标注将该方法的返回值存储到 Spring 容器中 |
@PropertySource | 用于加载.properties 文件中的配置 |
@Import | 用于导入其他配置类 |
开发要点
-
合理使用注解:
注解虽然简化了配置,但过度使用或滥用注解会增加代码的复杂性和维护难度。应根据实际需求合理选择和使用注解。 -
保持一致性:
在项目中保持注解使用的一致性,例如统一使用构造函数注入或字段注入,避免混用。 -
注意注解的作用域:
注解的作用域(如类级别、方法级别、字段级别)应根据实际需求选择,避免不必要的注解。 -
配置文件与注解结合:
- 对于一些复杂的配置,可以结合 XML 配置文件和注解,以实现更灵活的配置管理。
- 通过合理使用 Spring 注解,可以大大提高开发效率和代码的可读性,同时保持系统的灵活性和可维护性。