2026/4/18 8:02:37
网站建设
项目流程
黄岛做网站哪家好,重庆綦江网站制作公司哪家专业,wordpress 导入图片,看免费的视频的软件app1. Slf4j 作用Slf4j 是 Lombok 提供的注解#xff0c;用于自动生成日志对象。作用自动生成一个名为 log 的静态 final 日志对象#xff08;类型为 Logger#xff09;无需手动写 private static final Logger log LoggerFactory.getLogger(类名.class);使用示例不使用 Slf4j…1. Slf4j 作用Slf4j 是 Lombok 提供的注解用于自动生成日志对象。作用自动生成一个名为 log 的静态 final 日志对象类型为 Logger无需手动写 private static final Logger log LoggerFactory.getLogger(类名.class);使用示例不使用 Slf4j传统方式import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UserService { private static final Logger log LoggerFactory.getLogger(UserService.class); public void test() { log.info(这是一条日志); log.error(错误日志); } }使用 Slf4j简化方式import lombok.extern.slf4j.Slf4j; Slf4j public class UserService{ public void test(){ log.info(这是一条日志); //直接用log,无需手动创建 log.error(错误日志); } }日志级别log.trace() - 跟踪信息log.debug() - 调试信息log.info() - 一般信息log.warn() - 警告信息log.error() - 错误信息2. RequestMappingRequestMapping 是 Spring MVC 的注解用于将请求 URL 映射到控制器方法。作用定义请求路径与处理方法的映射关系可指定请求方法GET、POST、PUT、DELETE 等可指定请求参数、请求头等条件使用示例基本用法Controller RequestMapping(/user) public class userController{ RequestMapping(/login) public Stirng login{ return login; } RequestMapping(value/register,methodRequestMethod.POST) public String register{ return register; } }指定请求方法RequestMapping(value /info, method RequestMethod.GET) // 只接受 GET 请求 public String getInfo() { return info; } // 或者使用更简洁的注解 GetMapping(/info) // 等同于上面的写法 PostMapping(/create) // 等同于 RequestMapping(method RequestMethod.POST) PutMapping(/update) // 等同于 RequestMapping(method RequestMethod.PUT) DeleteMapping(/delete) // 等同于 RequestMapping(method RequestMethod.DELETE)指定请求参数RequestMapping(value/search,paramskeyword) //必须有keyword参数 public String search(){ return result; }常用属性value / path请求路径method请求方法GET、POST 等params请求参数条件headers请求头条件produces响应内容类型如 application/jsonconsumes请求内容类型3. Autowired 和 Resource 区别两者都用于依赖注入但来源、默认策略和使用场景不同。对比表特性AutowiredResource来源Spring 框架JDKJSR-250 标准默认注入方式按类型byType按名称byName找不到时的处理抛出异常可用 requiredfalse 避免抛出异常支持支持 Qualifier 指定名称支持 name 属性指定名称使用场景Spring 项目推荐更通用不依赖 Spring详细说明AutowiredSpring 注解默认按类型注入Service public class userService{ // Spring 会查找类型为 UserMapper 的 Bean Autowierd private UserMapper userMapper; }按名称注入需要配合 QualifierService public class UserService{ //如果有多个UserMapper实现需要指定名称 Autowired Qualifier(userMapperImpl) //指定Bean名称 privarte UserMapper userMapper; }允许为空避免启动失败Autowired(requiredfalse) //如果找不到Bean,不会报错 private UserMapper userMapper;构造函数注入推荐方式Service public class UserService{ private final UserMapper userMapper; Autowired //Spring4.3可以忽略 public UserService(UserMapper userMapper){ this.userMapperuserMapper; } }ResourceJDK 注解默认按名称注入Service public class UserService { // 先按名称 userMapper 查找找不到再按类型查找 Resource private UserMapper userMapper; }指定名称注入Service public class UserService { Resource(name userMapperImpl) // 明确指定 Bean 名称 private UserMapper userMapper; }按类型注入需要指定 typeResource(type UserMapper.class) // 按类型注入 private UserMapper userMapper;实际使用建议推荐使用 AutowiredSpring 项目按类型注入更直观支持构造函数注入更安全避免循环依赖使用 Resource需要按名称注入希望代码不依赖 Spring但实际还是 Spring 容器管理最佳实践Service public class UserService { // 推荐使用构造函数注入无需 AutowiredSpring 4.3 private final UserMapper userMapper; private final RedisTemplateString, Object redisTemplate; public UserService(UserMapper userMapper, RedisTemplateString, Object redisTemplate) { this.userMapper userMapper; this.redisTemplate redisTemplate; } }总结Slf4jLombok 注解自动生成日志对象简化日志代码RequestMappingSpring MVC 注解映射请求路径到处理方法Autowired vs ResourceAutowired 默认按类型注入Spring 推荐Resource 默认按名称注入JDK 标准两者功能相似但注入策略不同