我有一些自动注释的问题.我的应用程序如下所示:
这是控制器:
@Controller
public class MyController {
@Autowired
@Qualifier("someService")
private SomeService someService;
....
}
Run Code Online (Sandbox Code Playgroud)
这是一个服务层:
public interface SomeService {
...
}
@Service
public class SomeServiceImpl implements SomeService{
@Autowired
@Qualifier("myDAO")
private MyDAO myDAO;
....
}
Run Code Online (Sandbox Code Playgroud)
和DAO层:
public interface MyDAO{
....
}
@Repository
public class JDBCDAOImpl implements MyDAO {
@Autowired
@Qualifier("dataSource")
private DataSource dataSource;
....
}
Run Code Online (Sandbox Code Playgroud)
这是一个app-service.xml文件:
....
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}"/>
<bean id="SomeService" class="com.service.SomeServiceImpl" />
<bean id="myDAO" class="com.db.JDBCDAOImpl" />
Run Code Online (Sandbox Code Playgroud)
所以......当我启动一个web-app时,MyController自动正确(SomeServiceImpl类对象正确注入someService字段),但someService的myDAO feild有空值(未正确注入).
你能帮我找个问题吗?
PS它很有意思,但是当我将myDAO中的"bean …
我的网页应用程序适用于远程用户浏览器语言设置时遇到一些问题.我使用了ResourceBundleMessageSource.它看起来像这样:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="resources/messages" /> </bean>
Run Code Online (Sandbox Code Playgroud)
我有两个.properties文件:
messages.properties
messages_ru.properties
它们位于src/resources/messages中.
我想以这样的方式配置我的应用程序,当远程用户浏览器语言设置包含俄语时,我的应用程序应该使用俄语消息(messages_ru),否则(如果语言没有配置或者它不是俄语),它应该使用meessages.properties(它包含英文消息).
当我在浏览器中设置俄语时,它工作正常.当我擦除所有设置时,它也显示俄语(我认为这取决于系统区域设置).当我设置另一种语言时,它也会显示俄语消息.
让我的应用程序显示英文消息的唯一方法是将messages.properties重命名为messages_en.properties并在浏览器中设置英语lang.但是我希望我的应用程序适用于所有语言设置(如果需要则使用俄语,任何其他设置和任何其他国家使用英语).
有任何想法吗?
我在JSP页面中对数据编码存在一些问题(我使用的是Spring-MVC).它看起来像这样:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
response.setHeader("Cache-Control", "no-cache"); //HTTP 1.1
response.setHeader("Pragma", "no-cache"); //HTTP 1.0
response.setDateHeader("Expires", 0);
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
.....
<form method="post">
<input type="text" name="txt" value="${Name}" />
<input type="submit" value= OK />
</form>
........
Run Code Online (Sandbox Code Playgroud)
我的应用程序从输入文本框中获取文本并将其写入数据库(HSQLDB).当我使用英文字母写数据时,一切正常!但是当我在输入文本框中尝试使用俄语字母时,它会以不正确的编码形式写出一些奇怪的字母.如何避免这个问题?
有任何想法吗?