小编Iln*_*nur的帖子

春天@Autowired不工作

我有一些自动注释的问题.我的应用程序如下所示:

这是控制器:

@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 …

spring annotations spring-mvc autowired

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

弹簧本地敏感数据

我的网页应用程序适用于远程用户浏览器语言设置时遇到一些问题.我使用了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.但是我希望我的应用程序适用于所有语言设置(如果需要则使用俄语,任何其他设置和任何其他国家使用英语).

有任何想法吗?

spring resourcebundle spring-mvc internationalization

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

jsp页面编码问题

我在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).当我使用英文字母写数据时,一切正常!但是当我在输入文本框中尝试使用俄语字母时,它会以不正确的编码形式写出一些奇怪的字母.如何避免这个问题?

有任何想法吗?

spring jsp spring-mvc character-encoding

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