Since the Dependency Injection doc no longer mentions string tokens, I recommend using an OpaqueToken:
app/config.ts
import {OpaqueToken, provide} from 'angular2/core'; export let MY_MESSAGE = new OpaqueToken('my-msg'); export let myProvider = provide(MY_MESSAGE, { useValue: 'Hello' });
app/app.component.ts
import {Component} from 'angular2/core'; import {myProvider} from './config'; import {MyService} from './MyService'; @Component({ selector: 'my-app', providers: [myProvider, MyService], template: `{{msg}}` }) export class AppComponent { constructor(private _myService:MyService) { this.msg = this._myService.msg; } }
app/MyService.ts
import {Injectable, Inject} from 'angular2/core'; import {MY_MESSAGE} from './config'; @Injectable() export class MyService { constructor(@Inject(MY_MESSAGE) private _message:String) { this.msg = _message; } }
Plunker