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

判断网站首页wordpress 全部文章

判断网站首页,wordpress 全部文章,话费充值代理平台,青岛商网站建设一、环境与profile ​ 在3.1版本中#xff0c;Spring引入了bean profile的功能。要使用profile#xff0c;首先要将所有不同的bean定义整理到一个或者多个pofile之中#xff0c;再将应用部署到每个环境时#xff0c;确保对应的profile处于激活状态。 在Java配置中#xf…一、环境与profile ​ 在3.1版本中Spring引入了bean profile的功能。要使用profile首先要将所有不同的bean定义整理到一个或者多个pofile之中再将应用部署到每个环境时确保对应的profile处于激活状态。 在Java配置中可以使用Profile注解来指定某个bean属于哪一个profile。 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;import javax.sql.DataSource;Configuration public class DevelopmentProfileConfig {Profile(dev)Bean()public DataSource dataSource() {return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.H2).addScript(classpath:schema.sql).addScript(classpath:test-data.sql).build();} }在XML中配置profile ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:chttp://www.springframework.org/schema/cxmlns:phttp://www.springframework.org/schema/pxmlns:utilhttp://www.springframework.org/schema/utilxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util.xsdprofiledev/beans或者 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:chttp://www.springframework.org/schema/cxmlns:phttp://www.springframework.org/schema/pxmlns:utilhttp://www.springframework.org/schema/utilxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util.xsdbeans profiledev....../beansbeans profileprof....../beans /beans注意 ​ Spring确定那个profile处于激活状态需要依赖两个独立的属性 spring.profiles.activespring.profiles.default 二、条件化的bean ​ Conditional来源于spring-context包下的一个注解。Conditional中文是条件的意思Conditional注解它的作用是按照一定的条件进行判断满足条件给容器注册bean。 三、处理自动装配的歧义性 1. 自动装配的歧义性 ​ 例如我们创建一个接口和三个实现该接口的类并通过隐式的bean发现和自动装配机制进行注入bean。 // Dessert接口 public interface Dessert {void cook(); }// Cake类 Component public class Cake implements Dessert{private String name 蛋糕;private String description 水果;Overridepublic void cook() {System.out.println(name 加了一些 description);} }// Cookies类 Component public class Cookies implements Dessert{private String name 饼干;private String description 巧克力豆;Overridepublic void cook() {System.out.println(name 加了一些 description);} }// IceCream类 Component public class IceCream implements Dessert{private String name 冰淇淋;private String description 奥利奥碎屑;Overridepublic void cook() {System.out.println(name 加了一些 description);} }// 测试类 Autowired private Dessert dessert;Test public void compactDiscTest() {dessert.cook(); }​ 此时由于 Cake、Cookies 和 IceCream 均为 Dessert自动装配在此时会遇到歧义性导致Spring无法做出选择从而抛出org.springframework.beans.factory.UnsatisfiedDependencyException错误。 2. 进行处理 ​ 当确实发生歧义性的时候Spring提供了多种解决方案来解决遮掩的个问题。包括 将可选bean中的某一个设置为首选primary的bean使用限定符qualifier来帮助Spring将可选的bean的方位缩小到只有一个bean。 1Primary 与Component组合 Component Primary public class Cookies implements Dessert{...... }与Bean方法组合 Configuration public class DessertConfig {BeanPrimarypublic Dessert dessert() {return new IceCream();}}在bean元素中使用 bean idiceCreamclasscom.shiftycat.dessert.IceCreamprimarytrue2Qualifier ​ 在使用Primary来表选首选bean时如果标示了两个及以上的首选bean那么该机制就会失效。为了解决这个问题我们可以使用Qualifier来规定限制条件以缩小满足要求的bean数量。 //方法1 Component Qualifier public class IceCream implements Dessert{...... }//方法2 Autowired Qualifier(iceCream) private Dessert dessert;Test public void compactDiscTest() {dessert.cook(); }当然我们也可以创建自定义的限定符例如 Component Qualifier(clod) public class IceCream implements Dessert{...... }Autowired Qualifier(clod) private Dessert dessert;Test public void compactDiscTest() {dessert.cook(); }在Java配置显式定义bean的时候Qualifier也可以与Bean注解一起使用。但是此时如果有两个bean都使用Qualifier进行标记也会出现错误。例如 Component Qualifier(cold) public class IceCream implements Dessert{private String name 冰淇淋;private String description 奥利奥碎屑;Overridepublic void cook() {System.out.println(name 加了一些 description);} }Component Qualifier(cold) public class Popsicle implements Dessert{private String name 棒冰;private String description 巧克力豆;Overridepublic void cook() {System.out.println(name 加了一些 description);} }同时由于Java不允许在同一个条目上重复出现相同类型的多个注解因此使用多个Qualifier注解编译器会提示错误。 // 编译错误 Component Qualifier(cold) Qualifier(creamy) public class IceCream implements Dessert{...... }因此我们可以使用自定义的限定符注解从而可以更便捷地进行限定。 // 自定义限定注解 Target({ElementType.TYPE, ElementType.CONSTRUCTOR,ElementType.FIELD, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Qualifier public interface Cold { }Target({ElementType.TYPE, ElementType.CONSTRUCTOR,ElementType.FIELD, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Qualifier public interface Creamy { }Target({ElementType.TYPE, ElementType.CONSTRUCTOR,ElementType.FIELD, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Qualifier public interface Fruity { }Component Cold Fruity public class Popsicle implements Dessert{...... }Component Cold Creamy public class IceCream implements Dessert{...... }Autowired Cold Fruity private Dessert dessert;Test public void compactDiscTest() {dessert.cook(); }四、bean的作用域 ​ 在默认情况下Spring应用上下文中所有的bean都是以单例singleton的形式创建的。而Spring定义了多种作用域可以基于这些作用域创建bean包括 单例singleton在整个应用中只创建bean的一个实例。原型prototype每次注入或者通过Spring应用上下文获取的时候都会创建一个新的bean实例。会话Session在Web应用中为每个会话创建一个bean实例。请求Request在Web应用中为每个请求创建一个bean实例。 bean的作用域可以使用Scope或者bean元素中的scope属性进行设置。 Component Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class Cake implements Dessert{...... }bean idcakeclasscom.shiftycat.dessert.Cakescopeprototype在Web应用中例如有一个bean代表用户的购物车此时它的作用域一定是会话作用域。 《Spring实战(第4版)》
http://www.zqtcl.cn/news/758558/

相关文章:

  • 网站建设 名词解释国内网站建设建设
  • 文山州建设局网站域名查询seo
  • php网站模块修改太原小店区最新消息今天
  • 苏州网站优化公司seo服务合同
  • vip影视网站怎么做的辽宁建设厅网站什么时候换的
  • 搭建个网站网站维护合同模板
  • 优盖网logo在线设计南通做网站优化的公司
  • 做百度糯米网站的团队新媒体营销推广公司
  • 个人做网站的时代已经过去大连男科医院排名表
  • 天津餐饮网站建设贵港做网站化司
  • 昆山哪家做网站好猪八戒网站建设
  • 网站的静态资源服务器怎么做河北网站备案
  • php儿童摄影网站源码东莞做网站的公司哪家最好
  • 金融投资网站建设wordpress九宫格主题
  • 玉田县网站建设手机网站建设西安
  • 高质量外链网站请大学生做网站
  • 2021能看的网站不要app贴吧网站以前在百度能搜索不到了
  • 个人做网站时不要做什么样的网站百度网站排名全掉
  • 鹤岗做网站制作企业网站需要注意的事项
  • 网站建设服务器是什么意思短网址转换器
  • 红叶网站开发工作室整站优化费用
  • 温州网站建站模板建设小企业网站步骤
  • 免费企业网站我为什么电商要学网站建设
  • 建设网站员工招聘策划方案win2012 iis配置网站
  • 织梦cms 5.6网站地图图标怎么在wordpress
  • instagram wordpress北京seo学校
  • 网站优化的基本思想企业网站建设和运营
  • 网站开发电销常遇到问题怎么建立一个群
  • worldpress 建站少儿编程加盟费一般多少钱
  • 哪个公司做网站建设好九一人才网赣州招聘官网