小编Chi*_*ang的帖子

Spring 3.0依赖注入的最小JAR

早期Spring版本的问题类似,应用程序仅使用Spring 3.0依赖注入所需的最小依赖项是什么?应用程序上下文仅由XML配置.Spring依赖于日志框架,因此假设我已经包含这些JAR用于日志记录:

  • JCL-过slf4j.jar
  • 的logback-classic.jar
  • 的logback-core.jar添加
  • SLF4J-api.jar文件

java spring dependency-injection spring-3

11
推荐指数
2
解决办法
2万
查看次数

Ansible:在文件的现有行中插入单个单词

我必须使用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)

任何建议都将得到真诚的感谢.

sshd ansible

9
推荐指数
2
解决办法
2万
查看次数

需要引用Java中的扩展接口模式

以下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)

java design-patterns

4
推荐指数
1
解决办法
1495
查看次数