这几天学ssm,发现太多了,决定总结一下注解的用法

Mybatis

Spring

一、自动装配:

首先在xml文件中需要引入注解支持

xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
<context:annotation-config/>

1.@Autowired        按照类型进行自动装配(ByType)

需要导入的包:spring-aop

个人的理解:

1.首先需要在spring-config.xml中注册要自动装配的类

<bean id="dog" class="com.kuang.pojo.Dog"/>
<bean id="cat" class="com.kuang.pojo.Cat"/>
<bean id="user" class="com.kuang.pojo.User"/>

2.然后在需要装配的私有字段,set方法上添加该注解,即可实现自动装配

public class User {@Autowiredprivate Cat cat;@Autowiredprivate Dog dog;
}

注意:1.该注解可以在没有Set方法的情况下对字段进行注入

2.字段名可以和注册的名字不一致,因为是按类型匹配

2.@Qualifier        在@Autowired上加上该注解,可以在有多个同类型注册的情况下选择使用哪一个

个人的理解:

1.与@Autowired配对使用,而且是用的时候需要赋值:@Qualifier(value="bean中注册的名字")

<bean id="dog1" class="com.kuang.pojo.Dog"/>
<bean id="dog2" class="com.kuang.pojo.Dog"/>
<bean id="cat1" class="com.kuang.pojo.Cat"/>
<bean id="cat2" class="com.kuang.pojo.Cat"/>
@Autowired
@Qualifier(value = "cat2")
private Cat cat;
@Autowired
@Qualifier(value = "dog2")
private Dog dog;

注意:1.只能和Autowired配对使用

二、自动配置Bean

需要引入注解支持

xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd

指定注解扫描com.kuang.pojo包下的注解

<context:component-scan base-package="com.kuang.pojo"/>

3.@Component        将被这个注解标注的类注册到bean中

个人理解:1.三步走,引入注解支持,指定被扫描的包,在该包下需要注册bean的类上标注

2.Component中需要传入参数,传入的参数即为bean中所注册的id

@Component("user")
// 相当于配置文件中 <bean id="user" class="当前注解的类"/>
public class User {public String name = "秦疆";
}

注意:1.不要忘了指定生效

4.@Controller:web层        与@Component等效,只不过用在不同层

5.@Service:service层        与@Component等效,只不过用在不同层

6.@Repository:dao层        与@Component等效,只不过用在不同层

7.@Value        可以在不用set方法的情况下对字段的值进行注入

个人理解:1.首先Value中需要传入值,用于给注解的字段进行赋值

@Component("user")
// 相当于配置文件中 <bean id="user" class="当前注解的类"/>
public class User {@Value("秦疆")// 相当于配置文件中 <property name="name" value="秦疆"/>public String name;
}

三、基于Java类进行配置

有了这个注解就可以不用再配置spring-config.xml文件了

1.@Configuration        标注在类上,代表这个类是一个配置类

2.@Bean                      与@Configuration配对使用,在类中的方法上使用,代表注册这个类中的方法到bean中

@Configuration  //代表这是一个配置类
public class MyConfig {@Bean //通过方法注册一个bean,这里的返回值就Bean的类型,方法名就是bean的id!public Dog dog(){return new Dog();}
}

注意:被标注@Bean的方法,方法的返回值就是bean的类型,方法名就是bean的id

开启注解支持<context:annotation-config>和指定注解扫描包<context:component-scan>的区别

前者是针对已经在xml中配置注册过的bean生效,后者是指定拿个地方的注解能自动配置bean

@Bean和@Component的区别

网上大体搜了一下概念,看下来感觉就是@Bean比@Component要更加灵活,因为一个类通过@Component只能注册一个bean,而@Bean可以通过创建多个方法来创建不同的bean,可能是这么一回事吧?

SpringMVC

1.@Controller和@RequestMapping

首先要声明在那个包下可以生效

<context:component-scan base-package="com.kuang.controller"/>

@Controller在类上标注,自动注册到Spring中

@RequestMapping在标注@Controller的类中的方法上标注,设置这个类的返回值为String

@RequestMapping("此处填写的地址为程序运行后,输入那个网址可以运行这段程序")

@Controller
public class ControllerTest2{//映射访问路径@RequestMapping("/t2")public String index(Model model){//Spring MVC会自动实例化一个Model对象用于向视图中传值model.addAttribute("msg", "ControllerTest2");//返回视图位置return "test";}}

注意:@RestController和@Controller的区别

@Controller下的方法是通过视图解析器跳转到html页面上的

@RestController return的就是字符串(类似于@ResponseBody)

2.@GetMapping和@PostMapping等

以get和post方法请求,get可以通过输入网址直接访问,post需要进行跳转

3.@RestController和@ResponseBody

@RestController是标注在类上的,使这个类的视图解析器都失效,String直接返回字符串而不是导向某个地址

@ResponseBody是标注在方法上的,使这个方法的视图解析器失效,String直接返回字符串而不是某个地址

4.@RequestParam

取别名

用法,在方法的形参前面署名,表示这是一个从前端传递来的参数@RequestParam(“目标名字”)

最好每个从前端获取的数据上都加上这个注解,代表这是一个从前端请求的数据

5.@PathVariable

在url中添加变量

如图所示,将url上拼接上id的值

【技术栈】【SSM】SMM的常用注解相关推荐

  1. java技术栈是什么意思?一次认全9大主流技术栈!

    Java技术栈是指一组在Java开发中广泛使用的技术和工具集合,包括Java编程语言.Java虚拟机.Java类库.Web开发框架.数据库.IDE等.Java技术栈广泛应用于企业级Web应用程序的开发 ...

  2. 这份2021Java程序员常用技术栈和工具清单,刷爆了朋友圈...

    点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 关注公众号后台回复pay或mall获取实战项目资料+视频 作为一枚Java程序员,需要掌握哪些技术和工具才能完成一个J ...

  3. 这份程序员常用技术栈和工具清单,刷爆朋友圈……

    基于Java的Web应用开发技术已成为目前Web开发的主流技术,作为一名Java程序员,到底要掌握什么技术才能完成一个JavaWeb项目呢? 小编和一位十年经历程序员要来这份Java程序员常用技术栈, ...

  4. 【博学谷学习记录】超强总结,用心分享|狂野架构师之比较常用的技术栈整合

    在今天的学习中,老师把当前比较流行的一些框架技术栈做了一个梳理,很多流行一时的的框架因为技术迭代或其他的一些原因已经泯然众人,我们这些程序员只有不断的学习新技术才能适应这个瞬息万变的职场.哎,有时候想 ...

  5. 自行走机器人系统常用的技术栈

    前言 由于就职于一家AI机器人及工业检测相关的公司,就对当前相关联的技术栈有一个大致的了解.本人是Java后端服务开发岗,之前互联网公司经历,但对机器人这块比较好奇,所有只做了相关的了解. 基础技术栈 ...

  6. python 开发常用的技术栈有哪些?

    前言 Python 开发常用的技术栈包括以下几个方面: Web 开发框架:Django.Flask.Tornado 等: 数据库连接和操作:SQLAlchemy.psycopg2.mysql-conn ...

  7. SSM框架之Spring MVC(二)常用注解说明

    一.常用注解 1.1RequestParam 1.1.1  使用说明 作用: 把请求中指定名称的参数给控制器中的形参赋值. 属性: value:请求参数中的名称. required:请求参数中是否必须 ...

  8. 大专java方向校招面试找工作知识点技术栈以及实习感受分享-简历分享

    大专java方向校招面试找工作知识点技术栈以及实习感受分享 专科生的Java学习以及校招面试 先说一下我的编程历程 开始求职之路 第一次求职 网上海投 第二次面试 第三次面试 学校招聘会 第四次面试 ...

  9. 后端基础入门技术栈简单小结(非常简单)

    后端基础入门技术栈简单小结(非常简单) 本文章同步更新于: 简书:https://www.jianshu.com/p/c8c6f10850e2 CSDN:https://blog.csdn.net/Z ...

最新文章

  1. 深度学习不是AI的未来
  2. Angel Borja博士教你如何撰写科学论文三:Writing the first draft of your science paper — some dos and don’ts
  3. 图片马可以直接连接吗_商标买来可以直接使用吗?
  4. 【2】Docker数据卷
  5. linux mysql跑高_linux 下如何查看mysql跑了哪些服务
  6. C#使用IHttpModule接口修改http输出的方法浅谈
  7. 38译码器verilog代码_Verilog设计实例(2)一步一步实现一个多功能通用计数器
  8. python中文版下载-python3.8.1汉化版
  9. wps怎么删除空白页?你学会了吗?
  10. 如何在IPv6下观看网络电视直播
  11. 龙卷风收音机android安卓版,龙卷风收音机
  12. 服务器先装系统还是先做热备,安装ibm服务器双机热备操作系统图文详细步骤.doc...
  13. Centos6.10系统迁移到新固态硬盘LVM
  14. 初学c语言写了个生辰八字算法,内容比较简单
  15. HBase原理–所有Region切分的细节都在这里了
  16. 【转载】Serverless 系列 (1): 云的诞生和基础设施外包
  17. 热带地区数据中心需要太阳能发电,而不是自然冷却
  18. GStreamer1.0 工具用法
  19. Hinton 最新研究:神经网络的未来是前向-前向算法
  20. 迁移wordpress_WordPress迁移变得容易

热门文章

  1. 黑马就业班(01.JavaSE Java语言基础-11.Java基础加强)——基础加强:Junit单元测试、反射、注解
  2. 生而为人,我很抱歉 ——《人间失格》
  3. 大数据常用文件格式介绍
  4. 撕掉代工标签,能否迎来芯片市场的“权力转移”?...
  5. 简单实用的Mac视频转换软件:UniConverter mac中文版
  6. Linux删除文件报no such file
  7. 怎样用计算机算屋面的坡度,屋顶坡度的表示方法是什么
  8. “希希敬敬对”团队——敏捷冲刺Alpha过程总结
  9. Android之主题皮肤实现
  10. 中国职业教育政策解读 | 职业教育系列报告(三)