Skip to main content

spring-framework-patterns

Apply Spring Framework best practices: dependency injection, transaction management, AOP for CIA services

Informações da origem

Repositório
Hack23/cia
Última atividade na origem
1 de fevereiro de 2026 às 00:05
Idioma detectado do SKILL.md
inglês
Estrelas
241
Forks
56

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
spring-framework-patterns
description
Apply Spring Framework best practices: dependency injection, transaction management, AOP for CIA services
# Spring Framework Patterns Skill ## Purpose Apply Spring Framework best practices for dependency injection, transactions, and aspect-oriented programming. ## When to Use - ✅ Creating Spring services and components - ✅ Managing transactions - ✅ Implementing cross-cutting concerns - ✅ Configuring application context ## Dependency Injection Patterns ```java @Service public class PoliticianService { private final PoliticianRepository repository; private final AuditLogger auditLogger; // Constructor injection (preferred) public PoliticianService( PoliticianRepository repository, AuditLogger auditLogger) { this.repository = repository; this.auditLogger = auditLogger; } } ``` ## Transaction Management ```java @Service @Transactional(readOnly = true) public class VotingService { @Transactional public void recordVote(Vote vote) { voteRepository.save(vote); statisticsService.updateStats(vote); auditLogger.log("VOTE_RECORDED", vote.getId()); } } ``` ## Aspect-Oriented Programming ```java @Aspect @Component public class PerformanceMonitoringAspect { @Around("@annotation(Monitored)") public Object monitor(ProceedingJoinPoint joinPoint) throws Throwable { long start = System.currentTimeMillis(); try { return joinPoint.proceed(); } finally { long duration = System.currentTimeMillis() - start; log.info("Method {} took {}ms", joinPoint.getSignature().getName(), duration); } } } ``` ## References - Spring Framework: https://docs.spring.io/spring-framework/reference/ - ARCHITECTURE.md
Ver no GitHub