>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring》、《Spring Cloud Alibaba微服务开发零基础入门到实操》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 29328 个阅读者 刷新本主题
 * 贴子主题:  ssm(mybatis+spring+springmvc)常用注解 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2019-08-18 18:52:02     消息  查看  搜索  好友  邮件  复制  引用

                                            

ssm(mybatis+spring+springmvc)常用注解

mybatis中常用注解

@Insert:实现新增

@Update:实现更新

@Delete:实现删除

@Select:实现查询

@Result:实现结果集封装

@Results:可以与@Result 一起使用,封装多个结果集

@ResultMap:实现引用@Results 定义的封装

@One:实现一对一结果集封装

@Many:实现一对多结果集封装

@CacheNamespace:实现注解二级缓存的使用

spring中常用注解

@Component

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

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

@Controller@Service@Repository

他们三个注解都是@Component的衍生注解,他们的作用及属性都是一模一样的。

他们只不过是提供了更加明确的语义化。

@Controller:

一般用于表现层的注解。

@Service

一般用于业务层的注解。

@Repository

一般用于持久层的注解。

细节:如果注解中有且只有一个属性要赋值时,且名称是 value, value 在赋值是可以不写。

@Autowired

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

@Qualifier

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

2.属性:value:指定 bean 的 id。

@Resource(不是Spring的注解,是jdk自带的注解)

1.作用:直接按照 Bean 的 id 注入。它也只能注入其他 bean 类型。

2.属性:name:指定 bean 的 id。

@Autowired + @Qulifier = @Resource

@Value

1.作用:注入基本数据类型和 String 类型数据的

2.属性:value:用于指定值。

@Scope

一般不配置,采用默认的单例

1.作用:指定 bean 的作用范围。

2.属性:

value:指定范围的值。

取值: singleton(Spring默认的) prototype request session globalsession

@Configuration

1.作用:用于指定当前类是一个 spring 配置类, 当创建容器时会从该类上加载注解。 获取容器时需要使用AnnotationApplicationContext(有@Configuration 注解的类.class)。

2.属性:value:用于指定配置类的字节码

@ComponentScan

1.作用:用于指定 spring 在初始化容器时要扫描的包。 作用和在 spring 的 xml 配置文件中的:<context:component-scan base-package=“com.itheima”/>是一样的。

2.属性:basePackages:用于指定要扫描的包。和该注解中的 value 属性作用一样。

@Bean

1.作用:该注解只能写在方法上,表明使用此方法创建一个对象,并且放入 spring 容器。

2.属性:name:给当前@Bean 注解方法创建的对象指定一个名称(即 bean 的 id)。

@PropertySource

1.作用:用于加载.properties 文件中的配置。例如我们配置数据源时,可以把连接数据库的信息写到properties 配置文件中,就可以使用此注解指定 properties 配置文件的位置。

2.属性:value[]:用于指定 properties 文件位置。如果是在类路径下,需要写上 classpath:

@Import

1.作用:用于导入其他配置类,在引入其他配置类时,可以不用再写@Configuration 注解。 当然,写上也没问题。

2.属性:value[]:用于指定其他配置类的字节码。

@Aspect

表示当前类是一个切面类

@Aspect(切面)  = 通知(增强的方法) + 切入点(需要被增强的方法)

@Pointcut

切入点

@Before

前置通知

@AfterReturning

后置通知

@AfterThrowing

异常通知

@After

最终通知

@Around

环绕通知

注意点:AOP使用这五种通知注解时,执行顺序会有变化,所以不推荐采用通知注解

@Transactional

在service层使用此注解相当于配置了事务支持

     spring注解小结:    

@Component=@Controller=@Servcie=@Repository
@Autowired + @Qualifier = @Resource (JDK自带)
@Value
@Scope
@Bean 外部jar里的类
@Configuration 替代 bean.xml
@ComponentScan 替代 <context:component-scan base-package=””>
@Import 引入其他配置类(子配置类)
@PropertySources(“classpath:db.properties”) 引入属性文件
@EnableTransactionManagement  纯注解开启事务的支持  <tx:annotation-driven ... />
@EnableAspectJAutoProxy        纯注解开启aop的支持  <aop:aspectj-autoproxy />

junit
@RunWith(SpringJUnit4ClassRunner.class)  替换junit里面的main方法(运行器)
@ContextConfiguration(classes= SpringConfiguration.class) (指定配置类)
@ContextConfiguration(locations = "classpath:bean.xml")  (指定配置文件的路径)

AOP的注解
@Aspect
@Before @AfterReturning @AfterThrowing @After @Around
@Pointcut

springmvc中常用注解

@RequestMapping

作用:用于建立请求 URL 和处理请求方法之间的对应关系。请求路径

@RequestParam

1.作用:把请求中指定名称的参数给控制器中的形参赋值。

2.属性:

value: 请求参数中的名称。

required:请求参数中是否必须提供此参数。 默认值: true。表示必须提供,如果不提供将报错。

@RequestBody

1.作用:用于获取请求体内容。直接使用得到是 key=value&key=value…结构的数据。实现将 controller 方法返回对象转换为 json 响应给客户端。

get 请求方式不适用。

2.属性:required:是否必须有请求体。默认值是:true。当取值为 true 时,get 请求方式会报错。如果取值为 false, get 请求得到是 null。

@PathVaribale

1.作用:用于绑定 url 中的占位符。 例如:请求 url 中 /delete/{id}, 这个{id}就是 url 占位符。

url 支持占位符是 spring3.0 之后加入的。是 springmvc 支持 rest 风格 URL 的一个重要标志。

2.属性:

value: 用于指定 url 中占位符名称。

required:是否必须提供占位符。    

spring mvc原理图

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
   文字描述:

1、用户发送请求至前端控制器DispatcherServlet
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、处理器映射器根据请求url找到具体的处理器,并返回给 DispatcherServlet。
4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
5、执行处理器(Controller,也叫后端控制器)。
6、Controller执行完成返回ModelAndView
7、HandlerAdapter将controller执行结果ModelAndView返回给 DispatcherServlet
8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器
9、ViewReslover解析后返回具体View
10、DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
11、DispatcherServlet响应用户


                                                                                                            
----------------------------
原文链接:https://blog.csdn.net/lihuanlin93/article/details/83420935

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-03-04 10:21:55 重新编辑]
  Java面向对象编程-->Java语言的基本语法和规范
  JavaWeb开发-->Servlet技术详解(Ⅲ)
  JSP与Hibernate开发-->持久化层的映射类型
  Java网络编程-->RMI框架
  精通Spring-->创建综合购物网站应用
  Vue3开发-->Vue CLI脚手架工具
  Redis 超详细总结笔记
  从零开始手写 spring ioc 框架,深入学习 spring 源码
  微服务架构模型
  使用Spring MVC多次读取请求Request Body的内容
  springmvc处理异步请求的示例
  Spring MVC异常处理机制
  POJO与JavaBean与SpringBean的概念与区别
  Redis solr一二事 - 在spring中使用jedis 连接调试单机redi...
  Spring Cloud构建微服务架构的服务注册与发现
  Redis用作消息队列
  【Web服务开发】基于Java开发代驾定位系统,2天完成脚手架
  kubernetes 中的资源
  Zabbix后端存储ES的优化实践
  一份Spring Boot核心知识清单
  MyBatis解析和运行原理
  更多...
 IPIP: 已设置保密
楼主      
该用户目前不在线 nihaota 
  
威望: 0
级别: 新手上路
魅力: 1315
经验: 1315
现金: 2944
发文章数: 243
注册时间: 0001-01-01
 消息  查看  搜索  好友  邮件  复制  引用


讨债公司
发文章时间 2022-10-28 20:54:07
 IPIP: 已设置保密 1 楼     
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。