魔术桌
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • Library - Maven - SpringFramework 6 - 注解

文章摘要: 摘要内容。

标记为Bean对象 - 在class上定义

@Component

  • 标记为普通的类,并注册为Bean。可手动设置注册(添加)到IoC容器中时的名字,例如:@Component("userDao")

@Controller

  • 标记为“控制层”的类,并注册为Bean。例如:@Controller("userDao")

@Service

  • 标记为“业务逻辑层”的类,并注册为Bean。例如:@Service("userDao")

@Repository

  • 标记为“数据访问层”的类,并注册为Bean。例如:@Repository("userDao")

@DependsOn

  • 修改注册顺序,例如:@DependsOn("userDao"),将会在该对象后面加载(即依赖该对象)

@Lazy

  • 懒加载,是否在被调用时才将bean加载到IoC容器中。

注册对象 - 在Java配置类中使用

@Configuration

@Bean

@Inport

依赖注入

@Autowired

  • 注入对象类型,告诉通过构造方法实例化时使用哪个构造方法,默认会根据类型去容器中找(byType),如果找到了多个会在根据名字找(byName)。

@Qualifier

  • 手动指定在IoC容器中bean对象的名字,作为传入的数据,例如:@Qualifier("userDao")

请求URL路径映射

  • 在类和方法上使用。
  • 指定请求的URL路径绑定到该“类”或“方法”上。

@RequestMapping()

  • 请求路径映射,写在Controller的类名上或方法上

参数

  • value:请求URL映射。
  • method:请求方式。
  • params:设置请求参数,是否“必须传值”和“默认值”。params={"<参数名>=123", !"<参数名>", ...}。
  • headers:设置请求头参数。
  • consumes:请求的内容类型必须为指定值。

案例

@Controller
@RequestMapping("/user")   // 指定请求的URL路径绑定到该“类对象”或“方法”上。
public class UserController {

    @RequestMapping(value="/login", method=RequestMethod.POST)   // 指定请求的URL路径绑定到该“类对象”或“方法”上。
    public void login(String name) {

    }
        @RequestMapping(value="/logon", params = {"name=小明"})   // 指定请求的URL路径绑定到该“类对象”或“方法”上。
    public void logon(String name) {

    }
}

请求参数映射

  • 在方法/函数上使用。

@RequestParam

  • @RequestParam(value, required, defaultValue):GET请求,接收普通的URL中的数据。

@PathVariable

  • @PathVariable(value, required, defaultValue):GET请求,接收REST风格的URL中的数据。

@RequestBody

  • @RequestBody:POST请求,body请求体里面的数据,如JSON。

@RequestHeader

  • @RequestHeader(value, required, defaultValue):获取HTTP协议的请求头中的参数。

@CookieValue

  • @CookieValue(value, required, defaultValue):获取cookie中的值。

参数

  • value:手动指定传入的实参名称,默认值是Java形参名称一样。
  • required:是否必须传入值,true必须传值<默认>、false允许为空。
  • defaultValue:默认值,当参数为null时自动设置为默认值。建议使用包装类。

案例

@Controller
public class AdminController {
    // 普通的URL
    // URL:http://127.0.0.1:8080/web/logon?id=123&name=小明
    // 手动指定请求url绑定到该方法
    @RequestMapping("/logon")
    // GET请求,接收普通的URL中的数据,并手动指定传入的实参名称与java形参名称绑定
    public void logon(@RequestParam("id") String id, @RequestParam("name") String name) {
    }

    // REST风格的URL
    // URL:http://127.0.0.1:8080/web/logon/123/小明
    // 手动指定请求url绑定到该方法,通过`{}`占位符绑定
    @RequestMapping("/login/{id}/{name}")
    // GET请求,接收REST风格的URL中的数据,并手动指定传入的实参名称与java形参名称绑定
    public void login(@PathVariable("id") String id, @PathVariable("name") String name) {
    }
}

请求数据

  • 在成员变量和方法上定义。

@Value

  • 注入基本类型,一般用于读取配置文件、手动传入具体参数。例如:@Value("小明")、@Value("${mysql.password}")

@Required

  • 适用于bean属性setter方法显式赋值或自动注入值。

响应数据

  • 写在方法上。

@ResponseBody

响应数据

bean对象的回调函数

  • 在方法上定义。

@PostConstruct

  • 初始化回调,创建时执行方法。

@PreDestroy

  • 销毁时回调,销毁前执行该方法。
更新时间: 2025/11/16 17:17