也许这个问题可能会重复。我找不到任何好的搜索词。
如何为SLSB提供一些开发属性值?
@LocalBean
@Stateless
class ClouldBean {
public void doSomethingWithUsernameAndPassowrd() {
// ...
}
private String username;
private String password;
}
我只想知道如何以非常标准和便携式方式注入username
和password
。
我是否必须使用一些标准属性配置文件?
我是否必须将其设置为由容器提供?
答案 0 :(得分:2)
是的,有标准和可移植的方式,它被称为环境条目。
将以下内容添加到ejb-jar.xml:
<ejb-jar>
<enterprise-beans>
....
<session>
<ejb-name>ClouldBean</ejb-name>
....
<env-entry>
<env-entry-name>username</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>my name</env-entry-value>
</env-entry>
...
</session>
</enterprise-beans>
</ejb-jar>
然后你可以为bean中的变量注入值:
@Resource(name="username")
private String username;
有关更详细的示例,您可以查看此blog post。对于所有细节,最佳来源是EJB 3.1规范第16.4节。