相关疑难解决方法(0)

用Spring Annotation替换<constructor-arg>

有一种方法可以用Annotation替换constructor-arg吗?

我有这个构造函数:

public GenericDAOImpl(Class<T> type) {
    this.type = type;
}
Run Code Online (Sandbox Code Playgroud)

我需要在我的Facade中注入:

@Inject
private GenericDAO<Auto, Long> autoDao;
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何在costructor中传递参数的值.

先感谢您

[更多信息]我试着解释我的问题.

<bean id="personDao" class="genericdao.impl.GenericDaoHibernateImpl">
        <constructor-arg>
            <value>genericdaotest.domain.Person</value>
        </constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)

我想只使用注释转换该代码.有人可以解释一下吗?

java generics spring annotations code-injection

8
推荐指数
1
解决办法
1万
查看次数

如何通过注解在Spring bean Autowired中传递类构造函数参数

没有 IOC 容器的正常方法是:

new User("Names", 22);
Run Code Online (Sandbox Code Playgroud)

这里的参数值是动态的,例如,它们是通过用户提交表单获取的,因此不能存储在文件中。

TextField userNames = new TextField();

names = userNames.getText()
Run Code Online (Sandbox Code Playgroud)

其他参数相同。

在哪里:

@Component
public class User {
    public User(String names, int age) {
        .
        .
        .
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何初始化User,同时传递构造函数的参数,其中 UserAutowired进入另一个类:

@Component
public class AnotherClass {
    @Autowired
    User user(....)????? // How do I do it here
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

java spring

5
推荐指数
1
解决办法
8249
查看次数

使用spring注释将值注入到地图中

我在用春天.大多数情况下,我会注入组件和服务.但是现在我想用枚举键初始化一个映射并注入"Cache"实现的值,以便给定枚举我可以获得刷新缓存的对象.

Map<String,Cache>

Key           Value
"category"    @Inject Category     
"attr"        @Inject Attr
"country"     @Inject Country
Run Code Online (Sandbox Code Playgroud)

我的班级就像

public abstract class Cache{
    refreshCache() {
      clearCache();
      createCache();
    }
    clearCache();
    createCache();
}

@Component
@Scope("singleton")
@Qualifier("category")
class Category extends Cache{}

@Component
@Scope("singleton")
@Qualifier("attr")
class Attr extends Cache{}

@Component
@Scope("singleton")
@Qualifier("country")
class Country extends Cache{}
Run Code Online (Sandbox Code Playgroud)

它可以通过XML(像bellow或链接)完成,但我想用注释来完成.

<property name="maps">
        <map>
            <entry key="Key 1" value="1" />
            <entry key="Key 2" value-ref="PersonBean" />
            <entry key="Key 3">
                <bean class="com.mkyong.common.Person">
                    <property name="name" value="mkyongMap" />
                    <property name="address" value="address" />
                    <property name="age" value="28" /> …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

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