2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
@RequiredArgsConstructor toteuttaa rakentajan lisäyksen
@Autowired
ja@Resource
huomautus@Autowired
@Autowired
Se on Spring-kehyksen tarjoama huomautus, ja sitä käytetään riippuvuuksien automaattiseen kokoamiseen.@Autowired
private ISysUserService userService;
@Resource
@Resource
Se on Java EE:n tarjoama huomautus, ja Spring tukee sitä myös riippuvuuksien automaattiseen kokoamiseen.@Resource
private ISysUserService userService;
@RequiredArgsConstructor
@RequiredArgsConstructor
on Lombokin tarjoama huomautus, joka luo kaikki automaattisestifinal
Kentän rakentaja.@RequiredArgsConstructor
@RestController
@RequestMapping("/system/user")
public class SysUserController extends BaseController {
private final ISysUserService userService;
private final ISysRoleService roleService;
private final ISysPostService postService;
private final ISysDeptService deptService;
private final ISysUserPostService userPostService;
// 构造函数由 Lombok 自动生成,注入所有 final 字段
}
@Autowired
ja@Resource
)@RequiredArgsConstructor
Tätä taakkaa voidaan keventää.@Autowired
@RestController
@RequestMapping("/system/user")
public class SysUserController extends BaseController {
@Autowired
private ISysUserService userService;
@Autowired
private ISysRoleService roleService;
@Autowired
private ISysPostService postService;
@Autowired
private ISysDeptService deptService;
@Autowired
private ISysUserPostService userPostService;
// 其他代码
}
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/user")
public class SysUserController extends BaseController {
private final ISysUserService userService;
private final ISysRoleService roleService;
private final ISysPostService postService;
private final ISysDeptService deptService;
private final ISysUserPostService userPostService;
// 其他代码
}
Tällä konstruktoriinjektiomenetelmällä ei vain voida parantaa koodin kestävyyttä ja ylläpidettävyyttä, vaan myös Springin riippuvuuslisäyksen ominaisuuksia ja Lombokin yksinkertaistetun koodin etuja voidaan hyödyntää paremmin.
Spring's Constructor Injection_spring Constructor Injection-CSDN-blogi
Konstruktoriinjektiota käytettäessä ei tarvitse lisätä ylimääräisiä huomautuksia, sinun tarvitsee vain antaa rakentaja. Kevät tunnistaa rakentajasi automaattisesti ja suorittaa riippuvuusruiskeen.
@RestController
@RequestMapping("/system/user")
public class SysUserController extends BaseController {
private final ISysUserService userService;
private final ISysRoleService roleService;
private final ISysPostService postService;
private final ISysDeptService deptService;
private final ISysUserPostService userPostService;
// 自己编写构造函数
public SysUserController(ISysUserService userService,
ISysRoleService roleService,
ISysPostService postService,
ISysDeptService deptService,
ISysUserPostService userPostService) {
this.userService = userService;
this.roleService = roleService;
this.postService = postService;
this.deptService = deptService;
this.userPostService = userPostService;
}
}
Esimerkkikoodi
package com.example.demo.controller;
import com.example.demo.service.ISysUserService;
import com.example.demo.service.ISysRoleService;
import com.example.demo.service.ISysPostService;
import com.example.demo.service.ISysDeptService;
import com.example.demo.service.ISysUserPostService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/system/user")
public class SysUserController {
private final ISysUserService userService;
private final ISysRoleService roleService;
private final ISysPostService postService;
private final ISysDeptService deptService;
private final ISysUserPostService userPostService;
// 构造函数注入
public SysUserController(ISysUserService userService,
ISysRoleService roleService,
ISysPostService postService,
ISysDeptService deptService,
ISysUserPostService userPostService) {
this.userService = userService;
this.roleService = roleService;
this.postService = postService;
this.deptService = deptService;
this.userPostService = userPostService;
}
// 你的控制器方法
}
Tässä esimerkissä ei tarvitse käyttää ylimääräisiä huomautuksia konstruktorin merkitsemiseen, Spring tunnistaa ja lisää riippuvuuden automaattisesti. (Virhettä ei tietenkään ilmoiteta, jos se on merkitty, mutta vain @Autowired voidaan käyttää, eikä @Resoucea voida käyttää.@Resource
Huomautuksia käytetään tyypillisesti kenttä- tai setterimenetelmän ruiskuttamiseen)
@Autowired
huomautus, joka määrittää selkeästi käytettävän rakentajan.Esimerkkikoodi (useita rakentajia)
package com.example.demo.controller;
import com.example.demo.service.ISysUserService;
import com.example.demo.service.ISysRoleService;
import com.example.demo.service.ISysPostService;
import com.example.demo.service.ISysDeptService;
import com.example.demo.service.ISysUserPostService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/system/user")
public class SysUserController {
private final ISysUserService userService;
private final ISysRoleService roleService;
private final ISysPostService postService;
private final ISysDeptService deptService;
private final ISysUserPostService userPostService;
// 使用 @Autowired 明确指定使用哪个构造函数
@Autowired
public SysUserController(ISysUserService userService,
ISysRoleService roleService,
ISysPostService postService,
ISysDeptService deptService,
ISysUserPostService userPostService) {
this.userService = userService;
this.roleService = roleService;
this.postService = postService;
this.deptService = deptService;
this.userPostService = userPostService;
}
// 另一个构造函数
public SysUserController(ISysUserService userService) {
this.userService = userService;
this.roleService = null;
this.postService = null;
this.deptService = null;
this.userPostService = null;
}
// 你的控制器方法
}
Tässä esimerkissä, koska konstruktoreita on useita, sinun on käytettävä @Autowired
Huomautuksia, jotka määrittävät selkeästi, mitä konstruktoria Spring käyttää riippuvuuden lisäämiseen.