注解开发详解
2017-09-08 15:03
183 查看
Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。
* 在applicationContext.xml中加入:<!-- 该 BeanPostProcessor 将自动对标注 @Autowired 的 Bean 进行注入 -->
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
Spring 通过一个 BeanPostProcessor 对 @Autowired 进行解析,所以要让 @Autowired 起作用必须事先在 Spring 容器中声明 AutowiredAnnotationBeanPostProcessor Bean。
同理在bean中:
Public class Inspur{
Private Soft soft;
@Autowired
Public void setSoft(Soft soft){
this.soft=soft;}
}
当 Spring 容器启动时,AutowiredAnnotationBeanPostProcessor 将扫描Spring 容器中所有 Bean,service,当发现 Bean,service 中拥有@Autowired 注释时就找到和其匹配(默认按类型匹配)的 Bean,service,并注入到对应的地方中去。
java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。
在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,比如一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作中被传输,这些信息对应的变量就可以加上transient关键字。
3.@Entity @Table @Column @Id
@Entity注释指名这是一个实体Bean,@Table注释指定了Entity所要映射带数据库表,
其中@Table.name()用来指定映射表的表名。如果缺省@Table注释,系统默认采用类名作为映射表的表名。
实体Bean的每个实例代表数据表中的一行数据,行中的一列对应实例中的一个属性。
@Column注释定义了将成员属性映射到关系表中的哪一列和该列的结构信息
如果类名与表名,列名与字段名相同,@Table 和@Column(name=.. 可以不写
@Id注释指定表的主键
4.@component @Repository @Service @Controller
如果 Web 应用程序采用了经典的三层分层结构的话,最好在持久层、业务层和控制层分别采用 @Repository、@Service 和 @Controller 对分层中的类进行注释,而用 @Component 对那些比较中立的类
977a
进行注释。
控制层:
业务层:
持久层:
5.@RequestMapping
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。Requestmapping一共有6个属性,
value:指定请求的实际地址;
method:指定请求的method类型, GET、POST、PUT、DELETE等;
params: 指定request中必须包含某些参数值是,才让该方法处理;
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求;
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
在这里执行查询下属用户控制层时,路径就是context+”service/organ/findxsuser”
6.@RequestBody @ResponseBody
@RequestBodyi) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;
ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。
@ResponseBody
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
相关文章推荐
- JAX-WS开发webservice接口的注解的应用和注解的详解
- spring中AOP 注解开发示例详解
- JAX-WS开发webservice接口的注解的应用和注解的详解
- redis注解开发详解
- hibernate注解开发,注解详解
- JAX-WS开发webservice接口的注解的应用和注解的详解
- springmvc教程--注解开发基础详解
- 实战开发中springmvc常用注解标签详解
- SpringBoot开发详解(二)--SpringBoot的配置文件以及注解
- J2EE开发 Spring MVC配置详解(非注解方式和注解方式)
- JAX-WS开发webservice接口的注解的应用和注解的详解
- JAX-WS开发webservice接口的注解的应用和注解的详解
- Spring4.X + Spring MVC + Mybatis3 零配置应用开发框架搭建详解(4) - Scheduled注解实现任务调度
- JAX-WS开发webservice接口的注解的应用和注解的详解
- Spring学习(1):控制反转(IoC)和依赖注入(DI)的详解以及注解(annotation)开发入门案例
- spring中AOP 注解开发示例详解
- JAX-WS开发webservice接口的注解的应用和注解的详解
- JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试
- Android 注解开发 ButterKnife使用详解及教程
- SpringBoot开发详解(二)--SpringBoot的配置文件以及注解