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类是非正规人士

c_diagram_person

通过引入/创建自己的Qualifier批注,我们可以使用Qualifiers明确指定类的实现:

RegularPerson Qualifier批注:

p_qualifier

NonRegularPerson限定符注释:

non_reg_qualifier

现在,我们需要创建一个实现类并将其标记到我们创建的Qualifier中。

RegularPersonImpl:

regular_impl

NonRegularPersonImpl:

non_reg_impl

注意:您可以具有尽可能多的限定符–请记住,限定符是用于将逻辑对象实现与其公共接口分开的。

现在已经设置了实现,现在我们可以注入类并使用其限定符。

展示

在此示例中,您可以清楚地看到用法,通过引入Qualifier,开发人员可以通过注释明确指定实现类型。

在此处下载示例。

您可以利用预选赛做其他事情吗?

我将不进一步讨论限定词的其他用途,相反,我将让您检查以下示例,以尝试并探索:

  • 多个预选赛
  • 带有属性的限定词
  • 具有多个属性的限定符

范围

为什么首先需要在对象上作用域? –对于Web应用程序,我们需要bean在用户与应用程序进行交互的整个过程中保持状态,例如,跨多个对服务器的请求。

开发人员可以分配给对象的作用域有5种类型:

  • @Dependent(默认)
    • 默认范围(如果未指定);
  • @RequestScoped
    • 在单个HTTP请求中用户与Web应用程序交互期间,将维护对象的状态。
  • @SessionScoped
    • 在多个HTTP请求之间用户与Web应用程序交互期间,将维护对象的状态。
  • @ApplicationScoped
    • 所有用户与Web应用程序交互中的共享状态。
  • @ConversationScoped
    • 会话上下文由应用程序明确划分

我不会在这里详细介绍,但我将为您提供可以运行的实际示例。 在此处下载项目。

  • 依附
  • 请求
  • 届会
  • 应用
  • 会话

下一站:DI / CDI –前进

使用此新功能,您可以清楚地观察和想象通过简化许多设置Web应用程序的过程来提高开发人员的生产率–可以创建限定符以明确区分具有共同目标(按接口)的逻辑/业务Bean,进行范围界定让开发人员控制流程并管理对象的状态–简化了直接通过UI通过EL调用UI的Bean,使其更加简单明了。

请检查示例并自行尝试,最好检查一个实际示例,而不是仅仅阅读细节和概念。 请享用!

参考: 基本注射/资格赛,我们的JCG合作伙伴 Alvin Reyes在Alvin“ Jay” Reyes博客博客上的范围。

翻译自: https://www.javacodegeeks.com/2013/08/basic-injection-qualifiers-scope.html

sql 注射

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机二级web题目(9.1)--综合选择题3

前些天发现了一个巨牛的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;无广告&#xff0c;忍不住分享一下给大家。&#xff08;点击跳转人工智能学习资料&#xff09; 1下列叙述中正确的是(D)。 A、栈是"先进先出"的线性表 B、队列是"…

java小程序 2048_微信小程序之游戏2048

主要用来锻炼逻辑思维能力image.png可以选模式image.png这里面主要解决的问题是&#xff1a;1.判断滑动方向//在滑动块级绑定滑动开始和滑动结束的方法很原始的方法&#xff0c;startFn时保存开始的(x,y),endFn时保存结束的(x1,y2),根据这四个参数 判断方向&#xff0c;算法在方…

Java面向对象(8)--继承性

多个类中存在相同属性和行为时&#xff0c;可以将这些内容抽取到单独一个类中&#xff0c;那么多个类无需再定义这些相同的属性和行为&#xff0c;只要继承那个类即可。 这里的多个类称为子类(派生类)&#xff0c;单独的这个类称为父类(基类或超类)。 语法格式&#xff1a;cla…

aimesh node重启_华硕 RT-AC86U 和 网件 R7000 组 AiMesh 成功

家里之前买了一个 R7000 主路由器&#xff0c;后来我嫌我房间里的信号有点烂( 5G 信号只能 2 格&#xff0c;网速比 2.4G 还慢)&#xff0c;所以就入手了一个华硕 RT-AC86U 作为主路由器&#xff0c;R7000 则作为 AP。在买的时候就想组 AiMesh&#xff0c;但是因为种种事情耽搁…

maven ant_如何在Maven中运行Ant目标?

maven antmaven-antrun-plugin允许我们在各种maven构建阶段中运行ant目标。 我将专门为具有开发环境的开发人员解释maven-antrun-plugin的非常实际的用法。 通常&#xff0c;使用maven build&#xff0c;您会将项目捆绑到war文件或ear文件中。 您可以使用maven-antrun-plugin…

java中打开文件显示_在默认文件资源管理器中打开文件,并使用JavaFX或普通Java突出显示它...

我想做标题所说的.部分解决方案例如,在Windows中,您可以使用以下代码在默认资源管理器中打开文件并突出显示它.(虽然它需要修改包含空格的文件)&#xff1a;/*** Opens the file with the System default file explorer.** param path the path*/public static void openFileLo…

win10下vscode配置c语言环境

1、C编译器下载 C编译器&#xff08;MinGW-W64 GCC&#xff09;的下载&#xff1a;点击官方下载 或者点击网盘下载提取码为karj 下载完成后解压&#xff0c;将解压后的文件夹放到合适的位置&#xff0c;点开其bin子文件夹&#xff0c;复制路径。 2、win10下环境变量配置 ①…

Java面向对象(11)--多态性

父类 变量名 new 子类&#xff08;&#xff09;&#xff1b;对象的多态性&#xff1a;父类的引用指向子类的对象 Java引用变量有两个类型&#xff1a;编译时类型和运行时类型。编译时类型由声明 该变量时使用的类型决定&#xff0c;运行时类型由实际赋给该变量的对象决定。简…

Java面向对象(12)--对象类型转换 (Casting )

基本数据类型的Casting&#xff1a; ①自动类型转换&#xff1a;小的数据类型可以自动转换成大的数据类型 如long g20; double d12.0f ②强制类型转换&#xff1a;可以把大的数据类型强制转换(casting)成小的数据类型 如 float f(float)12.0; int a(int)1200L Java对象的强制…

知识蒸馏 循环蒸馏_Java垃圾收集蒸馏

知识蒸馏 循环蒸馏串行&#xff0c;并行&#xff0c;并发&#xff0c;CMS&#xff0c;G1&#xff0c;Young Gen&#xff0c;New Gen&#xff0c;Old Gen&#xff0c;Perm Gen&#xff0c;Eden&#xff0c;Tenured&#xff0c;Survivor Spaces&#xff0c;Safepoints和数百个JVM…

Javascript中的AES加密和Java中的解密

AES代表高级加密系统&#xff0c;它是一种对称加密算法&#xff0c;很多时候我们需要在客户端加密一些纯文本&#xff08;例如密码&#xff09;并将其发送到服务器&#xff0c;然后由服务器解密以进行进一步处理.AES加密和解密更加容易在相同的平台&#xff08;例如Android客户…

Java面向对象(14)--包装类的使用

针对八种基本数据类型定义相应的引用类型—包装类&#xff08;封装类&#xff09;&#xff0c;有了类的特点&#xff0c;就可以调用类中的方法。 基本数据类型 <——> 包装类&#xff0c;String——>包装类 ①装 int num 9; Integer int1 new Integer(num); Syste…

资源泄漏如何处理_处理缓慢的资源泄漏

资源泄漏如何处理使用Java监视器查找资源泄漏 查找缓慢的资源泄漏是使应用程序服务器长时间保持正常运行的关键。 在这里&#xff0c;我解释了如何使用Java监视器来发现缓慢的资源泄漏&#xff0c;以及如何验证它们是否是实际泄漏&#xff0c;而不仅仅是额外的预分配到某些HTTP…

mac php 超时,PHP---Mac上开启php错误提示

发现在使用mac 上 PHP开发项目的时候&#xff0c;程序代码错误的时候没有错误提示&#xff0c;只是提示白板。研究和查找资料才调整了一下; 步骤如下&#xff1a;1.找到php.ini文件如图所示&#xff1a;1)找到 display_errors Off &#xff0c;把Off 改为 On . 最后为 display…

tomcat 轮询_用Spring长轮询Tomcat

tomcat 轮询就像喜剧演员弗兰基 豪威尔 &#xff08; Frankie Howerd&#xff09;所说的“噢&#xff0c;小姐小姐” &#xff0c;但足够多的英国影射和双重诱惑&#xff0c;因为长轮询Tomcat对隔壁的闷气不是某种性的偏见&#xff0c;这是一种技术&#xff08;或更像是一种hac…

免费网络研讨会:Java应用程序中的吞咽异常

1月30日参加我们的网络研讨会&#xff0c;以发现Java应用程序中的“隐藏”异常。 如果一棵树落在森林中&#xff0c;但是没有写到原木上&#xff0c;它会发出声音吗&#xff1f; 答案是肯定的。 这些类型的错误可能会对用户体验造成严重影响&#xff0c;而没有根本原因的可见性…

Java面向对象(17)--类代码块

静态代码块&#xff1a;用static 修饰的代码块 ①可以有输出语句。 ②可以对类的属性、类的声明进行初始化操作。 ③不可以对非静态的属性初始化&#xff0c;即&#xff1a;不可以调用非静态的属性和方法。 ④ 静态代码块随着类的加载而加载并执行&#xff0c;类加载一次&…

js 和java有关系吗,javascript和JAVA有什么关系

2017-07-28Java调用javascriptpackage co。test;import java。io。FileReader;import java。io。LineNumberReader;import org。mozilla。 javascript。Context;import org。mozilla。javascript。Function;import org。mozilla。javascript。Scriptable;public class JSExplor…

php检测一个变量是否设置函数,php如何判断变量是否有设置的函数

php判断变量是否有设置的函数的方法&#xff1a;可以利用isset()函数来进行判断。isset()函数用于检测变量是否已设置并且非NULL。如果指定变量存在且不为NULL&#xff0c;则返回TRUE&#xff0c;否则返回FALSE。isset() 函数用于检测变量是否已设置并且非 NULL。(推荐教程&…

mockito_吸收Mockito的流利度

mockito我最近发现自己编写了一些代码来集成两个不同的平台。 这些系统之一是基于Java的系统&#xff0c;而另一个虽然不是用Java编写的&#xff0c;却提供了Java API。 我将这些系统分别称为Foo和Bar。 在我编写一行代码之前就很明显了&#xff0c;但是&#xff0c;测试最终…