java spring框架 注解_spring框架之注解的使用
原标题:spring框架之注解的使用
今天是刘小爱自学Java的第122天。
感谢你的观看,谢谢你。
学习内容安排如下:
Spring注解的使用。
JavaWeb项目的搭建。
Spring的Web集成。
本来还计划学Spring的junit测试集成的,结果又没时间了。
一、Spring的注解
IoC容器是Spring的特色之一,可以使用它管理很多Bean,前几天我们都是将这些Bean配置在applicationContext.xml文件中的。
而注解的作用在于:用了注解之后,就不需要在xml文件中配置这些了 。
1开启注解
①开启spring的注解
context:annotation-config
让注解有效了,能够识别注解。
②配置注解扫描
context:component-scan
用来专门扫描含有@Component注解的类,自动将其作为bean。
base-package
要扫描包的路径,包含子包,com.liuxiaoai表示该包下的所有子包和类定义注解都有效.
注意:注解扫描配置的时候,会自动开启注解功能,也就是说有了②的话,①就不需要了。
如果是注解+XML组合使用,可以只开启①。
2注解的使用
①@Component注解
相当于将对象存放到spring容器中。
其中@Component有三个子注解:
@Controller用于标注控制层组件,web层。
@Service用于标注业务层,service层。
@Repository用于标注数据访问组件,dao层。
而@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
②@Autowired注解
将ProductDao注入到了ProductService
单独使用@Autowired ,表示按照类型注入,会到spring容器中查找ProductDao的类型,对应中class的属性值。
如果同类型有多个,可以使用@Autowired + @Qualifier表示按照名称注入。
会到spring容器中查找productDao名称,对应中id的属性值,比如:@Qualifier("productDao")
除此之外还有一种注解方法:
使用@Value("#{productDao}"),也就是Value注解加上spEL表达式,也可以。
3注解测试
通过测试我们能发现,调用service层代码,dao层代码也能被调用。
注意:上述代码中可没有实例化dao层对象。
其实无论是spring注解也好,还是配置xml也罢,都是省略new对象这个步骤。
将dao层和service层对象关联起来了,没有new对象实例化,也能调用dao层代码。
当然spring肯定不止这么简单,只不过目前来说还没有学到其它的知识点。
二、JavaWeb项目搭建
1配置一个JavaWeb项目
这个在以前我们就配置过好多遍了:
①设置打包方式
在pom文件中,使用packaging标签添加web工程的打包方式为war。
②编辑项目结构
快捷键Ctrl+Shift+Alt+S即可打开。
找到当前模块下的web文件,如果没有右击模块添加web,添加web目录,目录结构必须为:项目名\src\main\webapp
③添加web.xml文件
web.xml文件是在webapp下的WEB-INF路径下面。
④最终项目结构图
webapp、resources以及Java是在同一个层级目录的,都是在main路径下面。
其中关于依赖的引入,需要什么就从父工程中引入即可,在此就不详细说明了。
2配置Tomcat插件
以前是直接在idea中配置Tomcat,现在因为是maven工程,也可以使用Tomcat插件。
①配置Tomcat插件
同样地,通过父工程中的pom文件引入即可。
其中通过configuration标签,我们可以配置Tomcat的端口和路径。
②运行Tomcat
点击Tomcat7:run即可运行Tomcat。
为了更便捷地运行Tomcat,可以将其配置到idea菜单栏中:
三、Spring的Web集成
一样还是Java三层代码的编写。
1编写代码
①开启spring注解功能
这不用多说,刚学习了的。
②service层代码编写
将HelloService对象提交到spring容器中管理,同时注入HelloDao。
在方法中编写一条输出语句作为测试,并调用dao层的方法。
③dao层代码编写
将HelloDao对象提交到spring容器中管理,同时在方法中写一条输出语句作为测试。
④web层代码编写
通过注解开发创建一个HelloServlet。
以前我们都是直接new一个service层对应的对象,现在使用spring框架了,通过spring工厂获取即可。
2项目测试
启动Tomcat,并在浏览器上输入对应的路径(HelloServlet上的注解即为对应访问路径),访问服务器。
如果在idea控制台上会输出语句,证明该路径成功访问到了服务器,并且执行到了service层和dao层的代码。
最后
谢谢你的观看。
如果可以的话,麻烦帮忙点个赞,谢谢你。返回搜狐,查看更多
责任编辑:
java spring框架 注解_spring框架之注解的使用相关推荐
- spring框架介绍_Spring框架介绍
spring框架介绍 这是Spring框架和Spring核心概念的简介. 在本教程中,我们将介绍Spring Framework的主要优点和功能. 在随后的教程中,我们将学习有关Spring和Spri ...
- java spring多数据源配置文件_基于注解实现SpringBoot多数据源配置
1.功能介绍 在实际的开发中,同一个项目中使用多个数据源是很常见的场景.最近在学习的过程中使用注解的方式实现了一个Springboot项目多数据源的功能.具体实现方式如下. 2.在applicatio ...
- java风清扬简介_Spring 框架简介
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架. Spring ...
- java spring 是什么_Spring详解(一)------概述
本系列教程我们将对 Spring 进行详解的介绍,相信你在看完后一定能够有所收获. 1.什么是 Spring ? Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开 ...
- java spring配置类_spring 配置 Java配置类装配bean
https://www.cnblogs.com/chenbenbuyi/p/8457700.html 自动化装配的确有很大的便利性,但是却并不能适用在所有的应用场景,比如需要装配的组件类不是由自己的应 ...
- java spring redis订阅_spring中订阅redis键值过期消息通知
1.首先启用redis通知功能(ubuntu下操作): 编辑/etc/redis/redis.conf文件,添加或启用以下内容(过期通知): notify-keyspace-events Ex 或者登 ...
- spring security 注解_Spring框架使用@Autowired自动装配引发的讨论
原文首发于掘金 作者:walkinger 链接:https://juejin.im/post/5d4163ede51d4561f64a078b 问题描述 有同事在开发新功能测试时,报了个错,大致就是, ...
- data spring 指定时区_Spring 框架基础(05):Mvc架构模式,执行流程详解
本文源码:GitHub || GitEE 一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里面, ...
- java model类作用_SPRING框架中ModelAndView、Model、ModelMap区别及详细分析
注意:如果方法声明了注解@ResponseBody ,则会直接将返回值输出到页面. 首先介绍ModelMap[Model]和ModelAndView的作用 Model 是一个接口, 其实现类为Exte ...
最新文章
- ZT:成熟是一种明亮而不刺眼的光辉
- pack 内存对齐操作
- python SimpleHTTPServer 快速共享文件
- MySQL5.7更改用户名密码
- 打开软件就遍历桌面和D盘的软件名通过UDP广播的方式发出。服务器监听指定的端口可以获得文件夹名称。不会暴露自己的IP
- ubuntu进行apt-get时候出现Package ssh is not available, but is referred to by another package 错误...
- vue 中二维码的使用和工具比较
- 【Kibana】Kibana下Dev Tools操作ES命令持续积累
- 把本地的jar包打包到maven本地仓库里
- HDU 1117 免费馅饼 二维动态规划
- 关于spark写入文件至文件系统并制定文件名之自定义outputFormat
- 重新制作Docker镜像
- MySQL数据库索引优化实战分析
- 一个canvas的demo
- vba移动文件_你想要的爬虫、VBA系列教程这里都有!
- Linux下的mplayer播放器移植与使用
- java中cookie的有效时间设置
- mysql ( )_MYSQL (一)
- 什么是框架,框架的作用是什么?
- vscode 舒服的颜色字体
热门文章
- Shell 命令大全Xhell入门
- Pytorch(六) --处理高维特征数据
- linux查看ko信息,linux 查看信息命令
- TX2下编译qt程序步骤
- java什么是原生类_Java 基础 - 原生类型
- thinkphp python_ThinkPhp 5.0 服务器搭建问题总结
- gis中开始编辑之后显示空间参考_空间参考—帮助 | ArcGIS Desktop
- python web框架 多线程_python 简单web框架: Bottle
- 我的世界手机版服务器显示即将推出,我的世界手机版领域服即将开启 什么是领域服...
- 2015山东春考计算机分数排名,2015-2017年山东春季高考分数线.docx