1)IoC
//控制反转
@Component ->通用
@Repository ->持久
@Service ->业务
@Controller ->控制
//依赖注入
@Autowired
2)AOP
@Aspect ->代理类
@Pointcut ->切点
@Around ->环绕通知
@Before ->前置通知
@After ->后置通知
@AfterReturning ->返回通知
@AfterThrowing ->异常通知
注意:AOP注解默认不启用 -> 自动启动
3)Spring事务管理
注解
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
@Transactional(propagation=Propagation.REQUIRED) -> 注解到业务方法上
注意:默认事务管理不自动开启
<tx:annotation-driven transaction-manager="transactionManager"/>
业务设置事务管理后 环绕通知业务归属同一事务
4)Spring任务调度Quartz
注解
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.14.RELEASE</version>
</dependency>
@Service("taskService")
public class TaskService {
@Scheduled(cron="* * * * * ?")
public void hello(){
System.out.println("Hello Quartz\t"+DateTimeUtils.getLocalDateTime());
}
}
注意:调度任务默认不开启 -> <task:annotation-driven/>
Spring Framework 提供了基于注解的编程模型,这允许开发者通过注解声明类、方法和字段,以便实现依赖注入、事务管理等。以下是Spring框架中常用的一些注解:
核心注解
@Autowired: 自动注入依赖。可以用在构造器、字段、setter方法上。@Qualifier: 当有多个同类型的bean时,用于指定注入哪一个。@Component: 声明一个类为Spring组件,使Spring能够扫描并注册它。@Service: 声明服务层组件。@Repository: 声明数据访问层组件。@Controller: 声明控制层组件。@Configuration: 声明一个类作为配置类,可以用来替代XML配置文件。@Bean: 在配置类中,声明一个bean。@Scope: 指定bean的作用范围(如单例、原型)。@Value: 用于注入属性文件的值、表达式的值或直接注入固定的值。
Web 相关注解
@RequestMapping: 映射HTTP请求到控制器的处理方法。@GetMapping,@PostMapping,@PutMapping,@DeleteMapping,@PatchMapping: 分别用于处理HTTP的GET, POST, PUT, DELETE和PATCH请求。@RequestParam: 获取请求参数。@PathVariable: 获取URI模板变量的值。@RequestBody: 获取请求体,通常用于POST或PUT请求。@ResponseBody: 指示方法返回的对象,应该作为HTTP响应体返回。@RestController: 声明一个控制器,其中的方法都以@ResponseBody方式处理。
事务相关注解
@Transactional: 声明事务边界。可以用在类或者方法级别。
Spring Boot 相关注解
@SpringBootApplication: 开启Spring的组件扫描和自动配置。@EnableAutoConfiguration: 开启Spring Boot的自动配置。@SpringBootTest: 用于测试,提供完整的应用程序上下文。
条件相关注解
@Profile: 指定某些环境下才能注册的bean。@Conditional: 满足特定条件时才会创建一个或多个bean。
其他常用注解
@Lazy: 延迟初始化bean。@Required: 用于bean属性的setter方法上,表示必须在配置时设置属性值。@Order: 定义组件的加载顺序。@Primary: 当有多个同类型的bean时,优先选择使用带有@Primary注解的bean。
这些注解大致覆盖了Spring的核心功能,但Spring实际上还有更多的注解来满足特定的需求,比如集成JMS、JPA、WebSockets等。开发者应该根据实际的应用场景选择合适的注解。
本文详细介绍了Spring框架中的关键注解,包括IoC(控制反转)的@Component、@Repository、@Service、@Controller以及依赖注入的@Autowired。接着讲解了AOP(面向切面编程)的@Aspect、@Pointcut及各种通知类型。还涉及了Spring事务管理的@Transactional注解和如何启用。最后提到了Spring任务调度Quartz的使用,并指出需要手动开启。这些注解简化了Spring应用的开发和维护工作。
2202

被折叠的 条评论
为什么被折叠?



