@Component
@Component:是Spring中用于描述Bean类的一个注解。用于告诉Spring这个类的实例由Spring创建,当此对象由Spring创建和管理时,默认会将对象存储到池(Bean池)中。
@Controller
public class GoodsController {
}
@SpringBootTest
@SpringBootTest:该注解用于告诉spring框架,此测试类交给spring管理。
@SpringBootTest
public class GoodsDaoTest {
}
@Autowired和@Qualifier
@Autowired:该注解描述属性时,用于告诉spring框架要为此属性注入一个值。其基本规则是:
- 首先,要检测容器中是否有与属性或方法参数类型匹配的对象,假如有并且只有一个则直接注入。
- 其次,假如检测到有多个,还会按照@Autowired描述的属性或方法参数名查找是否有名字匹配的对象,有则直接注入,没有则抛出异常。
- 最后,假如我们有明确要求,必须要注入类型为指定类型,名字为指定名字的对象还可以使用@Qualifier注解对其属性或参数进行描述(此注解必须配合@Autowired注解使用)。
@Qualifier:该注解就是对其属性或参数进行描述。
@Autowired
@Qualifier("weakCache")
private Cache cache;
@Lazy
@Lazy:该注解用于描述类,其目的是告诉spring框架此类支持延迟加载,通常会配合单例作用域使用。
@Lazy
public class GoodsController {
}
@Scope
@Scope:该注解是Spring中用于定义Bean对象作用域的一个注解,其常用的值有:
singleton | prototype |
---|---|
整个内存有一份Bean实例,此实例何时创建与类的延迟加载特性配置有关,此实例创建以后,生命周期会由spring框架管理 | 每次获取都会创建新实例,此实例会在需要时创建与lazy特性无关,这个实例创建以后,不会交给spring管理,spring可以对其初始化,但不负责销毁。 |
@Scope("singleton")
public class GoodsController {
}
@PostConstruct
@PostConstruct:该注解用于描述bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行(是对象创建以后的初始化)
@PostConstruct
public void init() {
System.out.println("init()");
}
@PreDestroy
@PreDestroy:该注解用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前执行(当作用域为prototype时,此方法不会执行)。
@PreDestroy
public void close() {
System.out.println("close()");
}
@Mapper
@Mapper:该注解是由MyBatis框架中定义的一个描述数据层接口的的注解(所有的注解只起到一个描述性的作用),用于告诉Spring框架此接口的实现由mybatis创建,并将其实现类对象存储到spring容器。
@Mapper
public interface GoodsDao {
}
@Param
@Param:该注解用于将括号内的参数进行引用
int deleteObjects(@Param("ids")Integer... ids);
@Controller
@Controller:该注解用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了
@Controller
public class GoodsController {
}
@RequestMapping
@RequestMapping:该注解用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestMapping("findAll")
public String findAll(Model model) {
List<User> lists = goodsService.findAll();
model.addAttribute("list", lists);
return "goods";
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。