spring注解使用

@Repository:用来dao层,扫描到后生成的对象的id为当前类的简单类名并且第一个字母小写
@Service:用来业务层,扫描到后生成的对象的id为当前类的简单类名并且第一个字母小写
@Controller:用来控制层,扫描到后生成的对象的id为当前类的简单类名并且第一个字母小写
@Component:在不确定当前类属于哪一层时使用,扫描到后生成的对象的id为当前类的简单类名并且第一个字母小写

@Resource:首先按照名称查找,如果找到则注入成功,如果没有找到则按类型查找,找到一个注入成功,找到多个报异常。
@Autowire:首先按照名称查找,如果找到则注入成功,如果没有找到则按类型查找,找到一个注入成功,找到多个报异常。

@Resource(name=“xx”):只按照名称查找,找到则注入成功,找不到注入失败
@Autowire @Qualifier(name=“xx”):只按照名称查找,找到则注入成功,找不到注入失败

@PostConstruct//指定在对象实例化后自动调用的方法,类上xml配置中的init-method属性
@PreDestroy //在对象销毁前自动调用的方法,类上xml配置中的destroy-method属性

@Scope(“singleton”) //默认是单例模式
@Scope(“prototype”)
@Lazy:如果使用单个类,没有被其它类调用则可以直接产生懒加载行为。
如果类之间存在多层调用关系,则只有最顶层的类上加上了懒加载注解,其下的类上没有加上懒加载注解则其下的类是立即加载,
如果加上了懒加载注解则产生懒加载,如果顶层类上没有加载懒加载注解,则只在底层类上加上懒加载注解无效。

原文地址:https://www.cnblogs.com/wangjincai/p/13225360.html