Spring中所有注解详细解析(全)
前言
注解有很多,而且功能也很多,谁用谁知道 但是这么多注解怎么记忆呢,其实只要记住主要常用的几个就可以 其他有个大概印象就好
由于项目以及框架还在使用中 如果有其他补充的注解可以在评论区补充
1. 声明bean的注解
声明bean的注解有四个,不过功能都差不多,只要记住一个也可以 下面讲解其四个的区别 一开始要在xml中配置扫描注解的组件 扫描被注解的类
<context:component-scanbase-package=”XXX”/>
@Component: 游戏中普通的注解 @Service :业务逻辑层以及Service层 @Controller: 外部层 @Repository :dao层即持久层
2. 注入bean的注解
主要有@Autowired、@Qualifier、@Resource以及@Value这四个 下面以代码的方式讲解其不同之处
接口实现类
@Repository(value = "userDaoImpl1") public class UserDaoImpl implements UserDao { @Override public void add() { System.out.println("dao add....."); } }
@Autowired:根据属性类型自动装配
@Autowired //根据类型进行注入 private UserDao userDao;
@Qualifier(value=" "):根据属性名称自动注入
@Autowired //根据类型进行注入 @Qualifier(value = "userDaoImpl1") //根据名称进行注入 private UserDao userDao;
@Resource:可根据属性类型或者名称注入
@Resource(name = "userDaoImpl1") //根据名称进行注入 private UserDao userDao;
@Value:注入普通类型的注入 注解不是对象类型的定义,可以是字符串等其他
@Value(value = "abc") private String name;
3. 配置类注解
-
@Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上) @Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上) @Configuration 声明当前类为配置类,其中内部组合了@Component注解,表明这个类是一个bean(类上) @ComponentScan 用于对Component进行扫描,相当于xml中的(类上) @WishlyConfiguration 为@Configuration与@ComponentScan的组合注解,可以替代这两个注解
4. springmvc注解部分
@RequestMapping 用于映射Web请求,通过访问路径和参数进行跳转访问