sql 注射_基本注射/资格赛,范围
sql 注射
这是上周解决的DI / CDI基础知识的延续-在本文中,我将讨论基础注入,限定词和范围。
在上一个主题中,我们提供了有关DI / CDI概念的大量信息,我们还讨论了如何使用注释加载这些bean或类-这构成了对象的组成并创建了关于如何进行采样的示例。以编程方式声明它们。 在本文中,我们将在注入部分进行更多的介绍,即如何获取特定资源并将其注入另一个资源以供使用。
那么如何首先注入一个豆子呢?
基本注射
您如何注入豆?
- 使用@Inject <Java-Type> <variable>进行字段注入
- <Java-Type>可以是Java类或Java接口
public class MyGreeter {// Inject Greeting object for field injection@Inject Greeting greeting;public sayGreeting(String name){// You can then used the injected Greeting objectSystem.out.println(greeting.greet(name)); }
}
哪里可以注入豆子?
可以在“注入点”注入豆
- 领域
- 方法参数
方法可以是:
- 构造函数(对创建的不可变对象有用)>初始化程序
- 设置方法
- 制片人
- 观察者
public class MyGreeter {private Greeting greeting;// Use constructor method injection@Injectpublic MyGreeter(Greeting greeting) {this.greeting = greeting; }public sayGreeting(String name){System.out.println(greeting.greet(name)); }
}
资格赛
如果存在多种实现类型(接口和子类),则限定符用于分配特定的bean。 假设您有两个特定接口的候选对象(实现类):
- 界面是人
- 第1类是普通人
- 第2类是非正规人士
通过引入/创建自己的Qualifier批注,我们可以使用Qualifiers明确指定类的实现:
RegularPerson Qualifier批注:
NonRegularPerson限定符注释:
现在,我们需要创建一个实现类并将其标记到我们创建的Qualifier中。
RegularPersonImpl:
NonRegularPersonImpl:
注意:您可以具有尽可能多的限定符–请记住,限定符是用于将逻辑对象实现与其公共接口分开的。
现在已经设置了实现,现在我们可以注入类并使用其限定符。
在此示例中,您可以清楚地看到用法,通过引入Qualifier,开发人员可以通过注释明确指定实现类型。
在此处下载示例。
您可以利用预选赛做其他事情吗?
我将不进一步讨论限定词的其他用途,相反,我将让您检查以下示例,以尝试并探索:
- 多个预选赛
- 带有属性的限定词
- 具有多个属性的限定符
范围
为什么首先需要在对象上作用域? –对于Web应用程序,我们需要bean在用户与应用程序进行交互的整个过程中保持状态,例如,跨多个对服务器的请求。
开发人员可以分配给对象的作用域有5种类型:
- @Dependent(默认)
- 默认范围(如果未指定);
- @RequestScoped
- 在单个HTTP请求中用户与Web应用程序交互期间,将维护对象的状态。
- @SessionScoped
- 在多个HTTP请求之间用户与Web应用程序交互期间,将维护对象的状态。
- @ApplicationScoped
- 所有用户与Web应用程序交互中的共享状态。
- @ConversationScoped
- 会话上下文由应用程序明确划分
我不会在这里详细介绍,但我将为您提供可以运行的实际示例。 在此处下载项目。
- 依附
- 请求
- 届会
- 应用
- 会话
下一站:DI / CDI –前进
使用此新功能,您可以清楚地观察和想象通过简化许多设置Web应用程序的过程来提高开发人员的生产率–可以创建限定符以明确区分具有共同目标(按接口)的逻辑/业务Bean,进行范围界定让开发人员控制流程并管理对象的状态–简化了直接通过UI通过EL调用UI的Bean,使其更加简单明了。
请检查示例并自行尝试,最好检查一个实际示例,而不是仅仅阅读细节和概念。 请享用!
翻译自: https://www.javacodegeeks.com/2013/08/basic-injection-qualifiers-scope.html
sql 注射
sql 注射_基本注射/资格赛,范围相关推荐
- 【宋红康 MySQL数据库】【03】SQL概述_常见的数据库对象
持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库][03]SQL概述_常见的数据库对象 SQL概述 什么是SQL SQL背景知识 SQL分类 DDL(Data Defini ...
- sql 注射_令人惊讶的注射
sql 注射 所以,我欠吉姆道歉. 他编写了一个有效的模拟和JUnit测试,我在回顾中告诉他,我认为它没有达到他的预期. 当我错了时,这种情况对我来说就像是一个错误 . 称它为理想的意外副作用. 假设 ...
- sql 注射_只能在测试中注射吗?
sql 注射 本文是关于测试设计和可测试性的一些想法. 我们与我的儿子讨论了一些问题,他的儿子是Java的初级开发人员,目前在匈牙利的EPAM(我工作的同一家公司,但在另一家公司工作)受雇并学习. 本 ...
- 通达oa php冲突,通达OA某版本系统存在通用SQL注入(附注射技巧)
最近学习SQL注入 其实是通用的 只是洞主么有核实版本 还存在基于报错的注入 Office Anywhere 2008 网络智能办公系统 mysql+win+php 实例: http://219.13 ...
- java查看sql视图_数据库的查询与视图
第4章 数据库的查询和视图 4.1.1 选择列 通过SELECT语句的项组成结果表的列. ::= SELECT [ ALL |DISTINCT ] [ TOP n [ PERCENT ] [ WITH ...
- 结束下面sql块_如何执行超过100M的SQL脚本?
技术_菜鸟 https://www.cnblogs.com/hai-ping/p/3939150.html 最近遇到一个问题,在SQL Server的查询分析器里面执行一个超过100MB的数据库脚本, ...
- mysql中以下正确的sql是_总结MySQL中SQL语法的使用
--where子句操作符: where子句操作符 = 等于 <> 不等于(标准语法) != 不等于(非标准语法,可移植性差) < 小于 <= 小于等于 > 大于 > ...
- access 导入 txt sql语句_从零开始学习 MySQL 系列索引、视图、导入和导出
阅读本文大概需要 8 分钟 前言上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识.作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家会 ...
- 出生日期范围的Sql语句_【呕心总结】python如何与mysql实现交互及常用sql语句
9 月初,我对 python 爬虫 燃起兴趣,但爬取到的数据多通道实时同步读写用文件并不方便,于是开始用起mysql.这篇笔记,我将整理近一个月的实战中最常用到的 mysql 语句,同时也将涉及到如何 ...
最新文章
- CentOS7在防火墙开启与关闭以及端口操作
- 启动一个线程是用run()还是start()?
- SRM 591 div1 275
- 基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (补充篇)
- echarts 树图样式美化_echarts2 tree树图自定义显示缩放大小、位置
- VC 实现文件夹属性的获取与更改
- Tensorflow tf.keras.layers.LSTM
- php开发人脸识别流程,php使用face++实现一个简单的人脸识别系统
- 系统稳定性建设实践总结
- 谷歌地球 最新hosts_给我一个Google地球app,可以领略全球3D风情
- 计算机占cpu程序,电脑cpu占用过高怎么办 电脑进程CPU占用100%解决办法
- 架构师之路16年精选50篇_2011年精选
- 清理XCode缓存文件
- 关于java导出Excel 并设置密码权限
- Wi-Fi 6关键技术及产业进展
- 查看dg主备库同步情况
- 采样频率和带宽的关系_发送端测试的主力设备 - 实时示波器朝向高带宽高位数发展...
- Robots协议小记
- python替换pdf内容_如何编辑pdf文件,替换其数据?
- 0-180度移相电路设计