// 传统方式 public class UserService {

private UserRepository userRepository = new UserRepository();
}
// Spring方式 @Component public class UserService {

private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
@Aspect @Component public class LoggingAspect {
@Before("execution(* com.example.service.*.*(..))")
public void logMethodCall(JoinPoint joinPoint) {
System.out.println("调用方法: " + joinPoint.getSignature().getName());
}
}
@Controller @RequestMapping("/products") public class ProductController {
@Autowired
private ProductService productService;
@GetMapping
public String listProducts(Model model) {
model.addAttribute("products", productService.findAll());
return "products/list";
}
@PostMapping
public String createProduct(@Valid Product product, BindingResult result) {
if (result.hasErrors()) {
return "products/new";
}
productService.save(product);
return "redirect:/products";
}
}
