小编erh*_*hun的帖子

如何为需要MyClass.class参数的工厂方法注入Spring Bean

我正在尝试将java.util.prefs.Preferences bean注入我的主控制器.控制器看起来像:

@Controller
class MyController {
    @Autowired
    private Preferences preferences;
}
Run Code Online (Sandbox Code Playgroud)

application-context.xml文件为java.util.prefs.Preferences创建bean.它使用工厂方法,所以我有以下条目来创建bean:

<bean id="preferences" class="java.util.prefs.Preferences" factory-method="userNodeForPackage" />
Run Code Online (Sandbox Code Playgroud)

Preferences.userNodeForPackage(param)为参数提供与Preference相关的类.在这种情况下,Spring需要通过执行调用来创建bean:

Preferences.userNodeForPackage(MyController.class);
Run Code Online (Sandbox Code Playgroud)

如何将类传递给使用工厂方法实例化的spring bean?谢谢

环境信息:

Java 7
Spring 3.1
Run Code Online (Sandbox Code Playgroud)

java spring factory class preferences

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

我在哪里可以找到示例applicationContext.xml文件

在Spring 3发行版中,有一个项目文件夹包装在发行版中.此项目文件夹applicationContext.xml包含可以使用的示例文件.但是,当我从这里下载Spring 4发行版时,它没有项目文件夹,我无法找到样本applicationContext.xml.我在哪里可以找到示例applicationContext.xml文件.

xml spring spring-mvc applicationcontext

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

Redis:如何实时查看内存使用量?

我想实时查看使用了多少内存,例如,每次设置或插入一些数据时,我想知道增加了多少内存以及总共使用了多少内存。

我尝试使用INFO命令,并检查used_memoryused_memory_*属性是否有效,但抱歉我发现它只显示系统分配的内存,因为每次插入新数据后检查它,它们仍然保持不变

有什么办法可以查看Redis的实时内存使用情况吗?

memory-management redis

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

无法理解spring-mvc的`@Autowired HttpServletRequest`

在我们的spring应用程序中,我们HttpServletRequest以两种方式使用:

(这里的代码简洁,似乎毫无意义)

  1. 在控制器中:

    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    @ResponseBody
    public ResponseEntity<String> hello(HttpServletRequest request) {
        System.out.println("## controller req.hashcode: " + request.hashCode());
        System.out.println("## header 'abc': " + request.getHeader("abc"));
        return new ResponseEntity<String>("OK", HttpStatus.OK);
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在正常组件中:

    @Component
    class RequestService {
        private final HttpServletRequest request;
        @Autowired
        public RequestService(HttpServletRequest request) {
            this.request = request;
        }
        public String getHeaderAbc() {
            System.out.println("## service req.hashcode: " + request.hashCode());
            return this.request.getHeader("abc");
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

起初,我认为第二种方式是完全错误的,因为它应该只注入request一次实例.因此,无论何时调用getHeaderAbc()方法,它都应返回相同的值(第一个请求).

但是当我尝试它时,我发现了一些有趣的东西:

  1. request.hashCode()控制器中始终是不同的(如我所料)
  2. request.hashCode()RequestService始终是相同的(我认为) …

spring httprequest autowired spring-bean

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

@SQL每堂课一次

我正在使用Spring框架编写一些集成测试。对于不同的集成测试类,我有不同的SQL脚本。像这样:

@ContextConfiguration(classes = ...)
@Sql("classpath:sportCenter-test.sql")
public class SportCenterResourceIT {
    ...
}
Run Code Online (Sandbox Code Playgroud)

除了在每次测试之前执行SQL脚本(而不是每个类一次)的事实之外,所有其他功能都可以正常运行。我已经搜索了一段时间的spring文档,但是找不到与该选项相关的东西。

有人可以给我一个提示吗?

spring spring-mvc spring-test

4
推荐指数
2
解决办法
2872
查看次数

如何在Jmeter中的http请求中发送字节数组

我使用j meter进行负载测试,我必须通过http请求调用上传Image API并实现这一点我必须将图像转换为压缩字节数组,以通过http请求将其作为发布数据发送出去.

任何人都可以通过jmeter帮助我如何实现.

真的很感激你的帮助.

file-upload jmeter load-testing

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

DBUtils 无法填充 Java Bean 的字段

我有一个像这样的 mysql 表:

CREATE TABLE `sezione_menu` (
 `id_sezione_menu` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `nome` varchar(256) NOT NULL DEFAULT '',
 `ordine` int(11) DEFAULT NULL,
    PRIMARY KEY (`id_sezione_menu`)
 )ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

我使用 apache dbutils 来查询我的数据库,方法如下:

public static List<SezioneMenu> getSezioniMenu() {
    String sql = "SELECT * FROM sezione_menu";  
    try {
        QueryRunner qr = new QueryRunner(createDataSource());
        ResultSetHandler rsh = new BeanListHandler(SezioneMenu.class);
        List<SezioneMenu> sezioni = (List<SezioneMenu>)qr.query(sql, rsh);
        return sezioni;
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return null;  
}

private static DataSource createDataSource() { …
Run Code Online (Sandbox Code Playgroud)

java mysql javabeans apache-commons-dbutils

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

如何在java中垃圾收集String对象?

正如我们所知,当我们创建String对象时,将创建String value = new String("ABC");String对象,当我们再次使用值变量时,将创建value="xyz"一个新String对象.

所以我的问题是,之前创建的String对象将在何时被垃圾收集?

java string garbage-collection

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

您是否可以仅使用名称在Linux中运行Java程序,而不使用"java"命令?

如果我正在编写HelloWorld,有没有办法只需输入HelloWorld即可从任何目录运行该程序?设置Ant后,以同样的方式排序,您可以从任何目录运行Ant吗?

仅仅为了一些细节,我们正在为客户创建一个基于CLI的工具包,并且好奇我们是否可以编译它,安装它,并让它们使用工具包名称运行它.

java linux terminal command-line-interface

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

为什么算术赋值运算符更有效?

你速记的Java算术运算符的一个例子是a += 4;用于a=a+4;

在完整参考文献Java 2中,Herbert Schildt提到"Java运行时系统比它们的等效系统更有效地实现它们"

是什么让它的实现更有效率 a=a+4;

java performance operators shorthand

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