小编ktu*_*nho的帖子

抓住Throwable是不好的做法?

赶上是不好的做法Throwable

例如这样的事情:

try {
    // Some code
} catch(Throwable e) {
    // handle the exception
}
Run Code Online (Sandbox Code Playgroud)

这是一种不好的做法还是我们应该尽可能具体?

java exception-handling throwable

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

如何使用YamlPropertiesFactoryBean使用Spring Framework 4.1加载YAML文件?

我有一个当前使用*.properties文件的spring应用程序,我希望使用YAML文件.

我发现类YamlPropertiesFactoryBean似乎能够做我需要的.

我的问题是我不确定如何在我的Spring应用程序(使用基于注释的配置)中使用此类.看来我应该使用 setBeanFactory方法在PropertySourcesPlaceholderConfigurer中配置它.

以前我使用@PropertySource加载属性文件,如下所示:

@Configuration
@PropertySource("classpath:/default.properties")
public class PropertiesConfig {

    @Bean
    public static PropertySourcesPlaceholderConfigurer placeholderConfigurer() {
        return new PropertySourcesPlaceholderConfigurer();
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在PropertySourcesPlaceholderConfigurer中启用YamlPropertiesFactoryBean以便我可以直接加载YAML文件?还是有另一种方法吗?

谢谢.

我的应用程序使用基于注释的配置,我使用的是Spring Framework 4.1.4.我找到了一些信息,但它始终指向Spring Boot,就像一样.

java spring yaml properties-file

35
推荐指数
3
解决办法
6万
查看次数

JavaEE6 DAO:应该是@Stateless还是@ApplicationScoped?

我目前正在创建一个EJB3数据访问类来处理我的Java EE 6应用程序中的所有数据库操作.现在,由于Java EE 6提供了新的ApplicationScoped注释,我想知道我的EJB应该具有什么状态,或者它应该是无状态的.

让DAO成为@Stateless会话Bean或@ApplicationScopedBean 会更好吗?怎么样@Singleton?这些与DAO相关的选项有何不同?

编辑: 我正在使用Glassfish 3.0.1与完整的Java EE 6平台

java ejb java-ee java-ee-6 ejb-3.1

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

如何更改鼠标按下时的JButton颜色?

我希望根据鼠标事件(鼠标进入,退出,按下等)获得自定义颜色.所以要做到这一点,我写了下面的代码.它对一切都很好,除了鼠标按下事件的情况,什么都不做.它只有当我覆盖在色彩的作品UIManager是这样UIManager.put("Button.select", Color.red);.问题UIManager是,它会改变我的所有按钮.

任何人都可以告诉我,我可能做错了什么,或者最好的方法是什么,我想要做什么?

我的代码:

final JButton btnSave = new JButton("Save");

btnSave.setForeground(new Color(0, 135, 200).brighter());
btnSave.setHorizontalTextPosition(SwingConstants.CENTER);
btnSave.setBorder(null);
btnSave.setBackground(new Color(3, 59, 90));

btnSave.addMouseListener(new MouseListener() {
    @Override
    public void mouseReleased(MouseEvent e) {
        btnSave.setBackground(new Color(3, 59, 90));
    }

    @Override
    public void mousePressed(MouseEvent e) {
        // Not working :(
        btnSave.setBackground(Color.pink);
    }

    @Override
    public void mouseExited(MouseEvent e) {
        btnSave.setBackground(new Color(3, 59, 90));
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        btnSave.setBackground(new Color(3, 59, 90).brighter());
    }

    @Override
    public void mouseClicked(MouseEvent e) { …
Run Code Online (Sandbox Code Playgroud)

java swing mouseevent jbutton

14
推荐指数
3
解决办法
6万
查看次数

如何自定义IntelliJ的内联文档窗格颜色和字体?

有没有办法自定义IntelliJ的内联文档窗格颜色和字体?

它在下面的图片中的方式,使得难以阅读javadoc文本.

在此输入图像描述

intellij-idea intellij-13

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

使用apache-commons-net TelnetClient发送终端命令时如何禁用echo

所以,我有这个使用org.apache.commons.net.telnet.TelnetClient该类的类.它尝试发送命令并读取响应.

public class AutomatedTelnetClient
{
    private TelnetClient telnet = new TelnetClient();
    private InputStream in;
    private PrintStream out;
    private String prompt = "$";

    public AutomatedTelnetClient(String server, String user, String password)
    {
        try
        {
            EchoOptionHandler echoopt = new EchoOptionHandler(false, false, false, false);
            telnet.addOptionHandler(echoopt);

            // Connect to the specified server
            telnet.connect(server, 23);

            // Get input and output stream references
            in = telnet.getInputStream();
            out = new PrintStream(telnet.getOutputStream());

            // Log the user on
            readUntil("login: ");
            write(user);
            readUntil("Password: ");
            write(password);

            // Advance to a …
Run Code Online (Sandbox Code Playgroud)

java apache-commons

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

如何修复由以下原因引起的错误:java.net.BindException: Address already in use: bind in Quarkus?

我创建了一个 quarkus 快速启动项目

mvn io.quarkus:quarkus-maven-plugin:0.13.1:create \
    -DprojectGroupId=com.demo.quarkus \
    -DprojectArtifactId=quarkus-project \
    -DclassName="com.demo.quarkus.HelloResource" \
    -Dpath="/hello"
Run Code Online (Sandbox Code Playgroud)

之后当我运行时:

mvn clean package
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

java.lang.RuntimeException: java.net.BindException: Address already in use: bind
    at io.undertow.Undertow.start(Undertow.java:247)
    at io.quarkus.undertow.runtime.UndertowDeploymentTemplate.doServerStart(UndertowDeploymentTemplate.java:349)
    at io.quarkus.undertow.runtime.UndertowDeploymentTemplate.startUndertow(UndertowDeploymentTemplate.java:262)
    at io.quarkus.deployment.steps.UndertowBuildStep$boot9.deploy(Unknown Source)
    at io.quarkus.runner.ApplicationImpl1.doStart(Unknown Source)
    at io.quarkus.runtime.Application.start(Application.java:96)
    at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:119)
    at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:236)
    at io.quarkus.test.junit.QuarkusTestExtension.createTestInstance(QuarkusTestExtension.java:301)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeTestInstanceFactory(ClassTestDescriptor.java:299)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:289)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:281)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateAndPostProcessTestInstance(ClassTestDescriptor.java:269)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$testInstancesProvider$2(ClassTestDescriptor.java:259)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$testInstancesProvider$3(ClassTestDescriptor.java:263)
    at java.util.Optional.orElseGet(Optional.java:267)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$testInstancesProvider$4(ClassTestDescriptor.java:262)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:98)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:97)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:68)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at …
Run Code Online (Sandbox Code Playgroud)

java quarkus

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

如何使用SnakeYAML将yaml直接加载到Map <String,Car>中?

我想加载这个文件(test.yml):

Car1:
    countriesSold: [Spain, France, Italy]
    model: Seat
    specs: {color: black, height: 29, with: 29}
Car2:
    countriesSold: [Germany, France]
    model: BMW
    specs: {color: white, height: 11, with: 33}
Run Code Online (Sandbox Code Playgroud)

到了Map<String, Car>.

我在SnaleYAML中看到的所有示例都始终将Map对象放在另一个对象中.

当我尝试像这样加载我的文件

Map<String, Car> load = 
(Map<String, Car>) yaml.load(new ClassPathResource("test.yml").getInputStream());
Run Code Online (Sandbox Code Playgroud)

它被加载到Map的Map中,里面的所有内容都是字符串.

我想我需要提供内部类型的Constructor对象和TypeDescription对象Yaml,但我不知道该怎么做.像这样的东西,但我不确定要为根元素放什么,这是Map:

TypeDescription mapDesc = new TypeDescription(Map.class);
mapDesc.putMapPropertyType("???", String.class, Car.class);
Constructor constructor = new Constructor(mapDesc);
Run Code Online (Sandbox Code Playgroud)

Car类看起来像这样:

public class Car {

    private String model;
    private Specs specs;
    private List<String> countriesSold = new ArrayList<>(); …
Run Code Online (Sandbox Code Playgroud)

java yaml snakeyaml

6
推荐指数
0
解决办法
2万
查看次数

如何动态分配键到按钮?

我的GUI中有一个部分是根据对象列表动态生成的.因此,对于该列表中的每个对象,我想创建一个JButton并关联一个键盘快捷键.

例如:

for (String tag : testTags) {
    new JButton(tag).setMnemonic(KeyEvent.VK_F1);
}
Run Code Online (Sandbox Code Playgroud)

如何以优雅的方式使代码"setMnemonic(KeyEvent.VK_F1)"动态化?有没有办法自动获取一系列键,然后在此迭代中使用它?

谢谢!

java swing keyevent jbutton

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

MySQL是否等同于Oracle的TIMESTAMP WITH TIME ZONE?

MySQL是否等同于Oracle的TIMESTAMP WITH TIME ZONE?

我需要将一个具有该数据类型的列的Oracle表映射到MySQL表中,但我似乎无法找到一种简单的方法来执行此操作而不需要使用某些MySQL函数.

谢谢和最好的问候.

mysql timezone oracle10g

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

Guava EventBus:监听事件超类型(例如EventObject或Object)意味着什么?

Google Guava EventBusExplained页面中,我不明白他们何时说出以下内容:


在传统的Java事件中监听常见的事件超类型(如EventObject或Object)...... :不容易.
...使用EventBus:事件会自动分派给任何超类型的侦听器,允许侦听器用于接口类型或"通配符侦听器"用于Object.

  1. 听一个常见的事件超类是什么意思?
  2. 当他们提到EventObject时,他们是在谈论java.util.EventObject吗?
  3. 允许"接口类型的监听器"或"对象"的通配符监听器是什么意思?

java guava

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

什么是匹配除1,2和25之外的所有数字的正则表达式?

有一个字符串输入,只由数字组成,即整数.如何编写一个接受除数字1,2和25之外的所有数字的正则表达式?

我想在BeanIO 的记录标识(支持正则表达式)中使用它来跳过一些具有特定值的记录.

我达到了这一点^(1|2|25)$,但我希望与此相符.

java regex regex-negation bean-io

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

以编程方式触发JTextField中的键事件?

如何以编程方式触发JTextField正在侦听事件的按键事件ENTER

我的关键事件的监听JTextField器声明如下:

myTextField.addKeyListener(new KeyAdapter() {

    @Override
    public void keyTyped(KeyEvent e) {
        if (e.getKeyChar() == KeyEvent.VK_ENTER) {
            // Do stuff
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

谢谢.

java swing keyevent jtextfield

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