マークアップ言語であるHTML (HyperText Markup Language) でも依存性の注入がおこなわれる。WebComponents（カスタム要素 + Template要素+ ShadowDOM）の登場により、巨大なHTMLファイルを小さなHTML要素コンポーネントの集合として記述することが可能になった。しかし大きなコンポーネント Big が小さなコンポーネント Small を包む形でコーディングすると、Big が Small に依存してしまう。そこでslot要素を用いた依存性の注入がおこなわれる。slot要素は弱いinterfaceとして働き、slot要素を用いて定義されたカスタム要素を利用する際に依存性をタグで囲むことで注入できる。下記の例では大きなコンポーネント<my-element-with-slot>が2つの受け入れ可能slotを持っている。利用時にslotを指定したspan要素を挿入することで、<my-element-with-slot>はspan要素に直接依存せずにspan要素を利用できる。プログラミング言語のような明示的interfaceがない（interfaceによる型指定slot要素がない）ために型支援を受けた安全な依存性の注入は現時点ではおこなえないが、適切に設計することで依存性を切り分けることは可能である。    <!--when define-->    <script>      class myElementWithSlot extends HTMLElement {        constructor() {          super();          const shadowRoot = this.attachShadow({ mode: "open" });          shadowRoot.innerHTML = `            <h2>My Element</h2>            <h3>inserted #1: <slot name="slot1">no contents</slot></h3>            <h4>inserted #2: <slot name="slot2">no contents</slot></h4>          `;        }      }      customElements.define("my-element-with-slot", myElementWithSlot);    </script>    <!--when use-->    <my-element-with-slot>      <span slot="slot1">dependency-one</span>      <span slot="slot2">dependency-two</span>    </my-element-with-slot>
DIコンテナを用いることで、依存性の注入をコード上に直接記述せず、自動的に行うことが可能である。こうした手法を用いる場合、依存性は外部のXMLファイルやメタデータにて定義する。上記のコードを、XMLを用いるDIコンテナを使用するようリファクタリングした例が下記である。    <contract id="IAutomatedStockTrader">        <implementation>VerySimpleStockTraderImpl</implementation>    </contract>    <contract id="IStockAnalysisService" singleton="true">        <implementation>StockAnalysisServiceImpl</implementation>    </contract>    <contract id="IOnlineBrokerageService" singleton="true">        <implementation>NewYorkStockExchangeBrokerageServiceImpl</implementation>    </contract>public class VerySimpleStockTraderImpl implements IAutomatedStockTrader {    private IStockAnalysisService analysisService;    private IOnlineBrokerageService brokerageService;    public VerySimpleStockTraderImpl(            IStockAnalysisService analysisService,            IOnlineBrokerageService brokerageService) {        this.analysisService = analysisService;        this.brokerageService = brokerageService;    }    public void executeTrades() {        …    }}public class MyApplication {    public static void main(String[] args) {        IAutomatedStockTrader stockTrader =            (IAutomatedStockTrader) DependencyManager.create(IAutomatedStockTrader.class);        stockTrader.executeTrades();    }}この例では、IAutomatedStockTraderのどの実装を使用するかの判断はDIコンテナに委ねられている。インタフェースが要求されたDIコンテナは、設定ファイルに基づきその実装であるVerySimpleStockTraderImplクラスのインスタンスを返す。さらに、VerySimpleStockTraderImplのIStockAnalysisServiceとIOnlineBrokerageServiceの依存性に対して、同様にコンストラクタ注入を行う。DIコンテナには数多くの種類があり、上で示した例はそのごく一部でしかない。実際にはDIコンテナごとに様々な手法が用いられている。
統一派は、1878年に公布から2年足らずでオスマン帝国憲法（ミドハト憲法）が停止された後、西洋式の近代学校で教育を受けた新しい青年エリートたちの間で起こった憲政復活を目指す運動（青年トルコ人運動）の中から生まれた。1889年、イスタンブールの軍医学校で学ぶ軍医学生イブラヒム・テモは、友人らとともに「オスマンの統一」を結成し、青年トルコ人運動を広め始めているが、「統一と進歩委員会」の組織名は、1890年頃にテモの組織が用いるようになったとされている。彼らは密かに賛同者を集め、やがて軍医学校の枠を出て政府の官僚や軍の将校らも参加するようになっていた。テモの組織は憲政を停止して専制政治を行うスルタン・アブデュルハミト2世のスパイ網にかかることもあり、イスタンブールでの活動は困難を余儀なくされた。そのために国外に逃亡した運動の参加者の一部は、1894年にパリでアフメト・ルザを中心に糾合し、海外活動を主体にイスタンブールのグループとは離れた活動を開始した。「統一と進歩委員会」の名称を正式に用いたのも、このパリ・グループである。さらには、イスタンブール・グループが1897年に政府の弾圧によって壊滅的な打撃を受け、活動家のほとんどが地方や海外へ散っていったため、統一派の組織と路線は統一がされないまま、専制体制打倒という共通の目的のもとに組織を拡大させていった。こうした統一の取られない状況の中、1906年に統一派系の活動家を中心としてサロニカ（現：ギリシャ領テッサロニキ）に結成された「オスマン自由委員会」がオスマン帝国領内で急速に組織を成長させた。地方官吏やサロニカに駐留する陸軍第三軍の将校が数多く加入したサロニカの組織は、郵便局員のタラート（のちの首相）が主導し、ジェマル（のちの海相）、エンヴェル（のちの陸相）ら後の統一派政権の最高幹部が参加しており、のちにはムスタファ・ケマル・アタテュルク（のちのトルコ共和国初代大統領）も加入している。タラートは海外の「青年トルコ人」グループのうちアフメト・ルザのグループと接触し、1907年に両者は合同して「オスマン自由委員会」は「統一と進歩委員会」のサロニカ組織となった。翌1908年、サロニカの「統一と進歩委員会」メンバーを中心とする第三軍はクーデターを起こし、青年トルコ人革命を成功させた。