掌握Java Spring注解,轻松提升开发效率

Java Spring 注解(Annotations)是 Spring 框架中用于简化配置增强代码可读性的元数据标记。它们通过声明式编程替代传统 XML 配置,让开发者直接在 Java 类或方法上定义行为(如依赖注入、事务管理、组件扫描等)。以下是 Spring 注解的核心分类及典型示例:


🌟 一、核心注解(定义与装配 Bean)

注解作用示例代码片段
@Component通用注解,标记一个类为 Spring Bean(自动扫描并装配)@Component public class UserService {...}
@Controller标记 MVC 控制器(@Component 的特化)@Controller public class UserController {...}
@Service标记业务逻辑层组件(@Component 的特化)@Service public class OrderService {...}
@Repository标记数据访问层(DAO)组件,自带异常转换(如 SQLExceptionDataAccessException@Repository public class UserDaoImpl {...}
@Autowired自动注入依赖(按类型匹配),可用于构造器/字段/Setter 方法@Autowired private UserDao userDao;
@Qualifier@Autowired 配合,按名称指定注入的 Bean@Autowired @Qualifier("mysqlDao") private DatabaseDao dbDao;
@Bean在配置类中声明方法返回的对象为 Bean(用于第三方库集成)@Configuration
public class AppConfig {
  @Bean public DataSource dataSource() { ... }
}
@Configuration标记类为配置类(替代 XML),包含 @Bean 定义@Configuration
@ComponentScan("com.example")
public class AppConfig { ... }
@ComponentScan配置自动扫描的包路径(发现 @Component 等注解)@ComponentScan(basePackages = "com.example.services")

🔄 二、作用域与生命周期

注解说明
@Scope定义 Bean 作用域(如 singletonprototype
@PostConstruct初始化方法(Bean 创建后执行)
@PreDestroy销毁方法(Bean 销毁前执行)

🌐 三、Web 开发注解(Spring MVC)

注解用途
@RequestMapping映射 HTTP 请求到控制器方法(支持 RESTful 路径)
@GetMapping简化 GET 请求映射(@RequestMapping(method=GET) 的快捷方式)
@PostMapping映射 POST 请求
@ResponseBody将方法返回值直接写入 HTTP 响应体(如返回 JSON/XML)
@RestController@Controller + @ResponseBody(适用于 REST API)
@PathVariable从 URL 路径中提取变量
@RequestParam从请求参数中获取值
@RequestBody将 HTTP 请求体解析为对象(如 JSON → Java 对象)

⚙️ 四、事务与 AOP

注解功能
@Transactional声明式事务管理(标注方法/类,自动开启提交/回滚)
@EnableAspectJAutoProxy启用 AspectJ 自动代理(支持 @Aspect 注解)
@Aspect定义切面类(包含通知和切点)
@Before/@AfterAOP 通知类型(方法执行前/后执行)

🔧 五、条件化配置(Spring Boot 扩展)

注解说明
@ConditionalOnClass当类路径存在指定类时生效
@Profile根据激活的 Profile 加载配置(如 dev/prod

💡 关键特点

  1. 取代 XML 配置
    如用 @ComponentScan 替代 <context:component-scan>
  2. 运行时生效
    注解由 Spring 容器在启动时解析并应用。
  3. 组合注解
    Spring Boot 的 @SpringBootApplication = @Configuration + @ComponentScan + @EnableAutoConfiguration
  4. 可扩展性
    支持自定义注解(如 @MyCustomAnnotation)结合 Spring 元注解(如 @Component)。

:Spring Boot 在核心注解基础上提供了更多自动化配置注解(如 @EnableAutoConfiguration),进一步简化开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码的余温

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值