@com.google.inject.Module public class MyAppConfig implements io.github.airframe.config.Config { String databaseUrl = "localhost:3306/myapp"; String username = "admin"; String password = "password"; } public interface UserService { void addUser(String username); } @com.google.inject.Singleton public class UserServiceImpl implements UserService { private final javax.sql.DataSource dataSource; @javax.inject.Inject public UserServiceImpl(javax.sql.DataSource dataSource) { this.dataSource = dataSource; } public void addUser(String username) { } } public class MyApp { public static void main(String[] args) { io.github.airframe.control.Control control = io.github.airframe.control.Control.create(); control.bind(javax.sql.DataSource.class) .toInstance(javax.sql.DataSourceBuilder.create() .url("@{databaseUrl}") .username("@{username}") .password("@{password}") .build()); UserService userService = control.getInstance(UserService.class); userService.addUser("John"); control.shutdown(); } }


上一篇:
下一篇:
切换中文