当前位置: 首页 > news >正文

iis默认网站属性承德做网站设计的

iis默认网站属性,承德做网站设计的,机械加工网外协,公司网站建设哪家公司好在本教程中#xff0c;我们将向您展示如何避免CDI bean中的依赖关系消除歧义。 在CDI中#xff0c;我们可以为应用程序中不同客户端的接口的多个实现实现依赖项注入。 依赖关系消除歧义的问题是客户端如何在不同的实现中调用特定的实现#xff0c;而不会发生任何错误。 为了… 在本教程中我们将向您展示如何避免CDI bean中的依赖关系消除歧义。 在CDI中我们可以为应用程序中不同客户端的接口的多个实现实现依赖项注入。 依赖关系消除歧义的问题是客户端如何在不同的实现中调用特定的实现而不会发生任何错误。 为了了解在将bean注入应用程序时如何避免依赖消除歧义我们将创建一个简单的服务。 我们将创建服务的两个实现然后将这两个实现注入到应用程序的servlet中。 我们将使用Qualifiers 如下所述。 我们首选的开发环境是Eclipse 。 我们正在使用Eclipse Juno4.2版本以及Maven Integration插件版本3.1.0。 您可以从Eclipse的这里从和Maven Eclipse插件这里 。 用于Eclipse的Maven插件的安装不在本教程的讨论范围内因此将不予讨论。 Tomcat 7是使用的应用程序服务器。 让我们开始 1.创建一个新的Maven项目 转到文件-项目- Maven- Maven项目。 在向导的“选择项目名称和位置”页面中确保未选中 “创建简单项目跳过原型选择”选项单击“下一步”以继续使用默认值。 在这里必须添加用于创建Web应用程序的Maven原型。 单击“添加原型”并添加原型。 将“ Archetype组ID”变量设置为org.apache.maven.archetypes 将“ Archetype构件ID”变量设置为maven-archetype-webapp 将“ Archetype版本”设置为1.0 。 点击“确定”继续。 在向导的“输入工件ID”页面中您可以定义项目的名称和主程序包。 将“ Group Id”变量设置为com.javacodegeeks.snippets.enterprise 将“ Artifact Id”变量设置为cdibeans 。 上述选择组成主体工程包作为com.javacodegeeks.snippets.enterprise.cdibeans和项目名称为cdibeans 。 将“ Package”变量设置为war 以便创建一个war文件以部署到tomcat服务器。 点击“完成”退出向导并创建您的项目。 Maven项目结构如下所示 它包含以下文件夹 / src / main / java文件夹其中包含应用程序动态内容的源文件 / src / test / java文件夹包含用于单元测试的所有源文件 / src / main / resources文件夹包含配置文件 / target文件夹包含已编译和打包的可交付成果 / src / main / resources / webapp / WEB-INF文件夹包含Web应用程序的部署描述符 pom.xml是项目对象模型POM文件。 包含所有项目相关配置的单个文件。 2.添加所有必要的依赖项 您可以通过在POM编辑器的“ Pom.xml”页面上对其进行编辑来在Maven的pom.xml文件中添加依赖项如下所示 pom.xml project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.javacodegeeks.snippets.enterprise.cdi/groupIdartifactIdcdibeans/artifactIdpackagingwar/packagingversion0.0.1-SNAPSHOT/versionnamecdibeans Maven Webapp/nameurlhttp://maven.apache.org/urldependenciesdependencygroupIdorg.jboss.weld.servlet/groupIdartifactIdweld-servlet/artifactIdversion1.1.10.Final/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjstl/artifactIdversion1.2/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.0.1/versionscopeprovided/scope/dependencydependencygroupIdorg.glassfish/groupIdartifactIdjavax.faces/artifactIdversion2.1.7/version/dependency/dependenciesbuildfinalNamecdibeans/finalName/build /project 如您所见Maven以声明方式管理库依赖关系。 创建本地存储库默认情况下位于{user_home} /。m2文件夹下所有必需的库都从公共存储库下载并放置在该库中。 此外库内的依赖关系会自动解决和处理。 3.创建一个简单的服务 我们利用一个简单的服务为使用它的应用程序创建问候消息。 GreetingCard.java类是带有产生问候消息的方法的接口。 GreetingCard.java package com.javacodegeeks.snippets.enterprise.cdibeans;public interface GreetingCard {void sayHello(); } 我们创建该服务的两个实现。 每个实现都会产生不同的消息如下所示 GreetingCardImpl.java package com.javacodegeeks.snippets.enterprise.cdibeans.impl;import com.javacodegeeks.snippets.enterprise.cdibeans.GreetingCard;public class GreetingCardImpl implements GreetingCard {public void sayHello() {System.out.println(Hello!!!);}} AnotherGreetingCardImpl.java package com.javacodegeeks.snippets.enterprise.cdibeans.impl;import com.javacodegeeks.snippets.enterprise.cdibeans.GreetingCard;public class AnotherGreetingCardImpl implements GreetingCard {public void sayHello() {System.out.println(Have a nice day!!!);}}4.服务的使用 为了将服务注入另一个bean我们可以使用Qualifier 。 CDI允许我们创建自己的Java批注然后在应用程序的注入点中使用它以根据Bean的GreetingType获得正确的GreetingCard实现。 Greetings.java package com.javacodegeeks.snippets.enterprise.cdibeans;import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; import java.lang.annotation.Target;import javax.inject.Qualifier;Qualifier Retention(RUNTIME) Target({ FIELD, TYPE, METHOD }) public interface Greetings {GreetingType value();} GreetingType.java是一个枚举如下所示 GreetingType.java package com.javacodegeeks.snippets.enterprise.cdibeans;public enum GreetingType {HELLO, HI; } 现在服务实现使用注释如下所示 GreetingCardImpl.java package com.javacodegeeks.snippets.enterprise.cdibeans.impl;import com.javacodegeeks.snippets.enterprise.cdibeans.GreetingCard;Greetings(GreetingType.HELLO) public class GreetingCardImpl implements GreetingCard {public void sayHello() {System.out.println(Hello!!!);}} AnotherGreetingCardImpl.java package com.javacodegeeks.snippets.enterprise.cdibeans.impl;import com.javacodegeeks.snippets.enterprise.cdibeans.GreetingCard;Greetings(GreetingType.HI) public class AnotherGreetingCardImpl implements GreetingCard {public void sayHello() {System.out.println(Have a nice day!!!);}}5.将服务注入到servlet中 我们创建一个简单的servlet并使用CDI提供的Inject注释注入服务的两种实现如下所示 GreetingServlet.java package com.javacodegeeks.snippets.enterprise.cdibeans.servlet;import java.io.IOException; import java.io.PrintWriter;import javax.inject.Inject; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.javacodegeeks.snippets.enterprise.cdibeans.GreetingCard; import com.javacodegeeks.snippets.enterprise.cdibeans.GreetingType; import com.javacodegeeks.snippets.enterprise.cdibeans.Greetings;WebServlet(name greetingServlet, urlPatterns {/sayHello}) public class GreetingServlet extends HttpServlet {private static final long serialVersionUID 2280890757609124481L;InjectGreetings(GreetingType.HELLO)private GreetingCard greetingCard;InjectGreetings(GreetingType.HI)private GreetingCard anotherGreetingCard;public void init() throws ServletException {}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType(text/html);PrintWriter out response.getWriter();out.println(h1 greetingCard.sayHello() /h1);out.println(h1 anotherGreetingCard.sayHello() /h1);}public void destroy(){}} 要运行该示例我们必须使用Maven构建项目然后将生成的war文件放置在tomcat的webbaps文件夹中。 然后我们可以继续 http://localhost/8080/cdibeans/sayHello 结果是如下所示 请注意如Java EE CDI Producer方法教程中所示使用Producer方法注入CDI bean时依赖关系也可能会消除歧义。 这是Java EE CDI依赖关系歧义教程。 下载本教程的源代码 CDIDependencyDisambiguationExample.zip 翻译自: https://www.javacodegeeks.com/2013/06/java-ee-cdi-dependency-disambiguation-example.html
http://www.sadfv.cn/news/345787/

相关文章:

  • 怎么获取网站ftp地址北京企业官网网站建设
  • 网站制作多少钱一年wordpress 404更改
  • 专业建站教程网络公司网站设计维护合同
  • 关键词网站排名查询太原关键词排名优化
  • 网站建设后期维护小魔仙网站置顶jq
  • php做网站速成旅游网站建设与网页设计意义
  • 企业网站建设流程介绍做教育网站
  • 禅城网站建设代理专业网页设计模板
  • 设计素材网站排行榜建筑工程公司名字起名大全
  • app开发和网站开发一样么做go kegg的在线网站
  • 叶涛网站推广优化火狐 wordpress
  • 个人网站整站下载wordpress 打开满
  • 做知识内容的网站与app广州软件定制公司
  • 网上申请入团网站安全员证书查询网入口
  • 贵阳微网站建设南昌市建设局官方网站
  • 自助网站系统四川成都最新消息
  • 专门做团购的网站有哪些logo生成器免费版
  • 旅游网站策划书范文自己注册公司
  • 做网站都需要买什么网上开店铺需要什么流程
  • 石景山网站建设服务大学物流仓储作业代做网站
  • 网页设计与网站建设完全实用手册高端快速建站
  • 大连金广建设集团网站泉州网络公司都
  • 安全网站建设公司网站搭建方案
  • 域名网站建设方案书wordpress 单一商品主题
  • 做企业网站合同网站购物车功能
  • 会计做帐模板网站成都广告公司地址
  • 新公司做网站有效果吗互动营销案例
  • 研学网站平台建设方案公司图案设计
  • 长沙做网站好的公司衡水做网站优化
  • 网站开发项目延期说明南京seo关键词优化资讯