与早期Spring版本的问题类似,应用程序仅使用Spring 3.0依赖注入所需的最小依赖项是什么?应用程序上下文仅由XML配置.Spring依赖于日志框架,因此假设我已经包含这些JAR用于日志记录:
我必须使用Ansible模块来编辑/ etc/ssh/sshd_config文件 - 每次创建新用户时我都想在这两行中追加它:
AllowUsers root osadmin <new_user>
AllowGroups root staff <new_group>
Run Code Online (Sandbox Code Playgroud)
此时我正在使用shell模块执行sed命令,但如果可能的话,我想使用lineinfile
- shell: "sed -i '/^Allow/ s/$/ {{ user_name }}/' /etc/ssh/sshd_config"
Run Code Online (Sandbox Code Playgroud)
任何建议都将得到真诚的感谢.
以下Java设计允许在不更改其与客户端的接口的情况下扩展对象.该对象可以实现其他扩展接口.客户端可以向对象询问它实现的扩展接口.我在一篇博客文章中看过它,但我的谷歌技能再次找不到博客文章.我不是在提倡这种设计的优点.我只是想找到这篇博文.
例如,想象一下运输车辆的领域模型.每个车辆对象实现此接口:
public interface Extendable {
/**
* Asks the object if it provides the extension.
*
* @param extensionInterface
* requested extension
* @return object implementing the requested extension, or {@code null} if
* not available.
*/
<T> T queryExtension(Class<T> extensionInterface);
}
Run Code Online (Sandbox Code Playgroud)
固定翼飞机具有飞行控制面,但其他类型的车辆没有.为控制界面功能定义界面:
public interface ControlSurfaces {
String getAilerons();
String getElevator();
String getRudder();
}
Run Code Online (Sandbox Code Playgroud)
固定翼飞机类提供ControlSurfaces扩展:
public class FixedWingAircraft extends Vehicle {
@SuppressWarnings("unchecked")
public <T> T queryExtension(Class<T> extensionInterface) {
if (ControlSurfaces.class.equals(extensionInterface)) {
return (T) new ControlSurfacesImpl();
}
return …Run Code Online (Sandbox Code Playgroud)