对ssm框架里面的一些常用注解的理解
@Componcnt :作用就是把当前类对象存入spring容器中
属性:value 用于指定bean的id 当我们不写的时候默认就是当前类名,并且首字母要小写
----------------------------------------------------------------------------------
@Controller 一般用在表现层
@Service 一般用在业务层
@Repository 一般用在持久层
他们三个是spring 框架为我们提供的注解,使我们的三层对象更加的清晰
-------------以上四个注解都是用来创建对象的------------------------------------
用于注入数据的
他的作用就是和在xml配置文件中的bean标签中写一个<property>标签的作用是一样的
@Autowired
作用:自动按照类型注入,只要容器中有唯一一个bean对象类型和要注入的变量类型匹配,就可以成功注入
位置:变量或者方法上
细节:set方法就不需要必须的了
@Qualifier
作用:按照类中注入的基础上再按照名称注入。给类成员注入时不能单独使用 要和@Autowired一起使用
属性: value 用于指定bean的id
@Resource
作用:直接按照bean的id注入 可以独立使用
· 属性:name用于指定bean的id
以上三个都只能注入其他bean类型的数据,基本的string类型的不能进行注入 ;集合类型的只能用xml注入
-----------------------------------------------------------------------------------------------------------------------
用于改变作用范围的
作用就是在bean标签中使用scope属性实现的功能是一样的
scope
作用:用于指定bean的作用范围
属性: value 指定范围取值 singleton(单例) prototype(多例)
-----------------------------------------------------------------------------------------------------------------------
和生命周期有关的
作用就是和在bean标签中使用init-method和destroy-methode的作用一样
@PostConstruct 初始化方法
@PreDestroy 销毁方法
----------------------------------------------------------------------------------------------------------------------------
在service中
@Service 的作用就是创建对象自动注入到spring容器中 代表在底层创建一个bean节点
@Transactional 的作用就是 事务操作 在需要事务管理的地方加@Transactional 注解。@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。
@Autowired
自动按照类型注入,只要容器中有唯一一个bean对象类型和要注入的变量类型匹配,就可以成功注入
项目启动 全局扫描包!扫描带有注解的地方,找到@Service 将创建好的对象自动注入到spring容器当中,然后 再通过@Autowired注入 调用里面的方法。 controller调用service层写了@Service而 service调用mapper层,mapper层没有写@Service是因为在springMVC.xml 里面第七步配置了 扫描mapper
对ssm框架里面的一些常用注解的理解的更多相关文章
- Spring框架系列(七)--Spring常用注解
Spring部分: 1.声明bean的注解: @Component:组件,没有明确的角色 @Service:在业务逻辑层使用(service层) @Repository:在数据访问层使用(dao层) ...
- SSM框架—Spring AOP之基于注解的声明式AspectJ(Demo)
项目结构 XML <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...
- SSM框架——实现分页和搜索分页
登录|注册 在路上 在路上,要懂得积累:在路上,要学会放下:我在路上!Stay hungry,Stay foolish. 目录视图 摘要视图 订阅 [公告]博客系统优化升级 ...
- maven springMVC SSM框架中 出现的406 (Not Acceptable)
首先,需要清楚,http state 406代表什么意思: 406是HTTP协议状态码的一种,表示无法使用请求的特性来响应请求的网页.一般指客户端浏览器不接受所请求页面的MIME类型. 出现这样的错误 ...
- SpringMVC--从理解SpringMVC执行流程到SSM框架整合
前言 SpringMVC框架是SSM框架中继Spring另一个重要的框架,那么什么是SpringMVC,如何用SpringMVC来整合SSM框架呢?下面让我们详细的了解一下. 注:在学习SpringM ...
- SSM框架之SpringMVC(3)常用注解
SpringMVC(3)常用注解 1. RequestParam注解 1.作用:把请求中指定名称的参数传递给控制器中的形参赋值 2.属性: 1.value:请求参数的每次 2.required ...
- SSM框架之Mybatis(7)延迟加载、缓存及注解
Mybatis(7)延迟加载.缓存及注解 1.延迟加载 延迟加载: 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据.延迟加载也称懒加载. **好处:**先从单表查询,需要时再从关联表去关 ...
- SSM框架——以注解形式实现事务管理
上一篇博文<SSM三大框架整合详细教程>详细说了如何整合Spring.SpringMVC和MyBatis这三大框架.但是没有说到如何配置mybatis的事务管理,在编写业务的过程中,会需要 ...
- SSM框架中的注解,配置和控制器相关笔记
常规SSM实例 探索SSM理论的前提,应该是在对框架基础的运作方式有一定了解,以下是个人Android后台项目,用SSM框架快速搭建,以下是代码,主要 观察结构. 代码结构: model实体类 Ida ...
随机推荐
- OpenSSL 安装 (Linux系统)
OpenSSL 编译安装 操作系统:CentOS 7 OpenSSL Version: openssl-1.1.1d.tar.gz OpenSSL下载地址为:https://www.openssl.o ...
- Mybatis-plus中如何排除非表字段的三种方式
1.transient关键字 2.使用静态变量(static) 3.TableField(exit=false) 这三种方式可以在使用的过程中,是这个对象中的属性不被序列化.(直接被忽略)
- centos安装安全狗5步就能完成
安全狗是为服务器开发的一款服务器管理软件,客户的服务器是centos 64位,我们就来看看如何安装吧.首先必须得有root账号权限,不然下面的步骤可能都无法执行.随ytkah一起来操作吧 1.下载安全 ...
- zzulioj - 2558 数字的差值
首先感谢抱抱熊dalao的题解,提供了一种比较简单的思路.[抱抱熊dalao的题解](https://note.youdao.com/ynoteshare1/index.html?id=52f087d ...
- 【数位DP】【P4127】[AHOI2009]同类分布
Description 给出两个数 \(a,~b\) 求出 \([a~,b]\) 中各位数字之和能整除原数的数的个数. Limitations \(1 \leq a,~b \leq 10^{18}\) ...
- C程序获取命令行参数
命令行参数 命令行界面中,可执行文件可以在键入命令的同一行中获取参数用于具体的执行命令.无论是Python.Java还是C等等,这些语言都能够获取命令行参数(Command-line argument ...
- Python 和 Flask 设计 RESTful API
#!flask/bin/python from flask import Flask, jsonify from flask import make_response app = Flask(__na ...
- 远程windows
1. 起因 因为经常用teamviewer,所以断定我是商业用户,不允许我用了.想买一个授权,结果太贵了,1700多.使用了很多其他的,向日葵卡顿,有的窗口点不到,vnc慢,效果差,卡顿,还收费,等等 ...
- bind 安装 和配置(master/slave)
一,软件安装 #sudo yum -y install bind 二,配置 # vi /etc/named.conf // // named.conf // // Provided by Red H ...
- IDEA-Maven的Dependencies中出现红色波浪线
解决方法:移除相关依赖,再重新添加即可 情况及具体解决方法如下:1.在Maven Project中 Dependencies 出现红色波浪线 2.查询本地仓库:jar包已存在 3.解决方法:3.1.从 ...