邹瑞20201214

总结

注解

常用注解

1.用于创建对象的

相当于:

@Component

作用:把资源让 spring 来管理。相当于在 xml 中配置一个 bean。

属性: value:指定 bean 的 id。如果不指定 value 属性,默认 bean 的 id 是当前类的类名。首字母小 写。

@Controller @Service @Repository

它们三个注解都是针对一个 @Component 的衍生注解,他们的作用及属性都是一模一样的。 他们只不过是提供了更加明确的语义化。

@Controller:一般用于表现层的注解。

@Service:一般用于业务层的注解。

@Repository:一般用于持久层的注解。

2.用于注入数据的

@Autowired

作用: 自动按照类型注入。当使用注解注入属性时,set 方法可以省略。它只能注入其他 bean 类型(spring中 有的)。当有多个类型匹配时,使用要注入的对象变量名称作为 bean 的 id,在 spring 容器查找,找到 了也可以注入成功。找不到就报错。

@Qualifier

作用: 在自动按照类型注入的基础之上,再按照 Bean 的 id 注入。它在给字段注入时不能独立使用,必须和 @Autowired 一起使用;但是给方法参数注入时,可以独立使用。 属性: value:指定 bean 的 id。

@Resource

作用: 直接按照 Bean 的 id 注入。 属性: name:指定 bean 的 id。

@Value

作用: 注入基本数据类型和 String 类型数据的 属性: value:用于指定值

3.用于改变作用范围的:

@Scope

作用: 指定 bean 的作用范围。 属性: value:指定范围的值。 取值:singleton prototype request session globalsession

mybatis中注解

@Results 注解:代替的是标签,该注解中可以使用单个@Result 注解,也可以使用@Result 集合

​ @Results({@Result(),@Result()})或@Results(@Result())

​ @Result 注解:代替了标签和标签

属性介绍:

​ id 是否是主键字段 column 数据库的列名

​ property 需要装配的属性名

​ one 需要使用的@One 注解(@Result(one=@One)())

​ many 需要使用的@Many 注解(@Result(many=@many)())

​ @One 注解(一对一):代替了标签,是多表查询的关键,在注解中用来指定子查询返回单一对象

​ 属性介绍:

​ select 指定用来多表查询的 sqlmapper

​ fetchType 会覆盖全局的配置参数 lazyLoadingEnabled

​ 使用格式:

​ @Result(column=" ",property="",one=@One(select=""))

​ @Many 注解(多对一):代替了标签,是是多表查询的关键,在注解中用来指定子查询返回对象集合

​ 注意:聚集元素用来处理“一对多”的关系。需要指定映射的 Java 实体类的属性,属性的 javaType

​ 一般为 ArrayList)但是注解中可以不定义;

​ 使用格式:

​ @Result(property="",column="",many=@Many(select=""))

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1