小编Sta*_*avL的帖子

设置Spring RestTemplate的默认内容类型标头

我目前正在使用扩展Spring RestTemplate的OAuth2RestOperations,我想指定内容类型标题.

我唯一能做的就是在请求期间明确设置我的标题:

public String getResult() {
    String result = myRestTemplate.exchange(uri, HttpMethod.GET, generateJsonHeader(), String.class).getBody();
}

private HttpEntity<String> generateJsonHeader() {
    HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
    return new HttpEntity<>("parameters", headers);
}
Run Code Online (Sandbox Code Playgroud)

但实际上很高兴能够在bean初始化期间一劳永逸地设置它,并直接使用getforObject方法而不是交换.

java spring

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

JTextField边距不适用于边框

我有一个JTextField,我想setMargin.但是当我设置任何边框时,它都不能正常工作.它的保证金功能不起作用.这是我的代码;

import java.awt.Color;
import java.awt.Insets;
import java.io.IOException;

import javax.swing.BorderFactory;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class ImageField {

public static void main(String[] args) throws IOException {

    JTextField textField = new JTextField();
    textField.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));
    textField.setMargin(new Insets(0, 20, 0, 0));
    JOptionPane.showMessageDialog(null, textField, "",
            JOptionPane.PLAIN_MESSAGE);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我告诉这一行,它是有效的

 //textField.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));
Run Code Online (Sandbox Code Playgroud)

java swing margin jtextfield insets

8
推荐指数
2
解决办法
8715
查看次数

如何从@ComponentScan包获取接口列表

我想实现类似于Spring Data的东西.

开发人员可以定义一些接口,向接口添加自定义注释以标记它们(我的代码将为接口创建代理实例)并通过@Autowire将它们用于必要的服务.

在spring初始化期间,我需要获取所有接口的列表(正确注释)<为接口创建动态代理并将它们注入到必要的位置.

代理创建,创建bean注入很好.现在的问题是:

如何查找所有接口的列表?

它们可以放在任何包装中(或者甚至放在一个单独的罐子里)并且有任何名称.扫描类路径上存在的所有类需要太多时间.

我找到了问题,但它需要基础包启动.

试过一个基于思考的解决方案,但它再次需要基础包或者从root开始需要非常大的时间来扫描所有可用的类.

Reflections reflections = new Reflections("...");
Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(<annotation>);
Run Code Online (Sandbox Code Playgroud)

所以我需要一个完整的基础包列表Spring扫描在包中找到我的接口(必须要快得多).

信息在SpringContext中绝对可用.我试图调试并看看basePackages []是如何初始化的,但是有很多私有类/方法用于初始化,我只是没有看到如何从ApplicationContext正确访问basePackages.

java spring spring-boot component-scan

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

速度与Apache Tiles

什么更好?我们将开始一个新的Web项目,这是一个选择哪种技术的问题.项目包括Spring MVC + WebFlow.在支持,扩展和绩效方面有任何好的/坏的经验吗?

谢谢.

java velocity tiles spring-mvc content-management-system

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

确定MouseListener中单击的JPanel组件.事件处理

我有一个类whitch扩展JPanel:

public class ButtonPanel extends JPanel {

    private label;

    public ButtonPanel() {
        label=new JLabel("waiting for click");
        add(label);
    }

    public void setButtonText() {
        label.setText("just clicked");
    }

}
Run Code Online (Sandbox Code Playgroud)

我有几个添加到JFrame的类的实例.我想创建一个MouseAdapter类的实例,然后将它们作为鼠标监听器添加到我的JFrame上的所有ButtonPanel组件.我看:

ButtonPanel butt1 = new ButtonPanel();
ButtonPanel butt2 = new ButtonPanel();
ButtonPanel butt3 = new ButtonPanel();
//... here goes code which add ButtonPanels to JFrame

MouseAdapterMod mam = new MouseAdapterMod();
butt1.addMouseListener(mam);
butt2.addMouseListener(mam);
butt3.addMouseListener(mam);
Run Code Online (Sandbox Code Playgroud)

MouseAdapterMod类我希望与另一个分开,并找到它自己的包.它应该是这样的:

public class MouseAdapterMod extends MouseAdapter {

    public void mouseClicked(MouseEvent e) {
        //here goes the code of calling setButtonText method of …
Run Code Online (Sandbox Code Playgroud)

java swing

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

当鼠标点击时,java绘制一个圆圈

我正在编写一个程序,当点击鼠标时,将绘制一个圆圈.到目前为止我写的下面的代码.

import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.event.*;
import java.awt.geom.*;

public class test extends JFrame implements ActionListener, MouseListener {
    Shape circle = new Ellipse2D.Float(10, 10, 10, 10);

    public test () {
        setSize(250,150);
        addMouseListener(this);
    }

    public static void main(String[] args) {
        //TODO code application logic here
        java.awt.EventQueue.invokeLater(new Runnable() {
              public void run() {
                   test frame = new test();
                   frame.setVisible(true);
              }
        });
    }

    public void actionPerformed(ActionEvent ae) {

    }

    public void drawCircle(int x, int y) …
Run Code Online (Sandbox Code Playgroud)

java swing java-2d

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

JComboBox itemStateChanged事件一次调用两次

resultCombo = new JComboBox();
resultCombo.addItemListener(new ItemListener() {
    @Override
    public void itemStateChanged(ItemEvent ie) {
         sampleText=resultCombo.getSelectedItem().toString();
         System.out.println("SampleText : "+sampleText);
    }
});


output:
SampleText : selectedword
SampleText : selectedword
Run Code Online (Sandbox Code Playgroud)

为什么在组合框中选择项目时会调用此事件两次.

java swing

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

春季5报道

在Spring Framework 5的更新日志中,它声明它们删除了JasperReports的兼容性.我可以使用哪种报告工具,它与Spring FW 5兼容?

java spring reporting

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

使用Hibernate JPA启动Spring Boot Application时出现NoSuchMethodError

我有一个简单的Hello-World Spring Boot应用程序,包含JPA存储库和Hibernate.的pom.xml样子:

...
<properties>
  <springframework.version>1.5.1.RELEASE</springframework.version>
  <validation-api.version>1.1.0.Final</validation-api.version>
  <dbunit.version>2.5.3</dbunit.version>
  <usertype.core.version>6.0.1.GA</usertype.core.version>
  <validate.version>2.2.0</validate.version>
  <strman.version>0.2.0</strman.version>
  <reflections.version>0.9.10</reflections.version>
  <javax.servlet.jsp-api.version>2.3.1</javax.servlet.jsp-api.version>
  <rest-assured.version>3.0.1</rest-assured.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>${springframework.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<repositories>
    <repository>
        <id>spring-milestone</id>
        <url>https://repo.spring.io/libs-release</url>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>spring-milestone</id>
        <url>https://repo.spring.io/libs-release</url>
    </pluginRepository>
</pluginRepositories>

<dependencies>
    <!-- Spring -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <!-- We use Logback for logging. -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
            <exclusion>
                <!-- We use Jetty because it is cooler ;) -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId> …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-boot

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

在Spring启动时使用ConfigurationProperties时获取空值

我是Java世界和Spring启动的新手,我正试图通过ConfigurationProperties注释访问位于YAML文件中的一些配置值.

但每当我尝试在服务中的任何位置访问配置值时,我都会得到一个空值.

这是application.yml文件:

my_config:
  test: "plop"
Run Code Online (Sandbox Code Playgroud)

这是ValidationProperties配置类:

@Configuration
@ConfigurationProperties(prefix = "my_config")
public class ValidationProperties {

    @NotNull
    private String test;

    public void setTest(String test) {
        this.test = test;
    }

    public String getTest() {
        return this.test;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用它的验证器服务:

@Service
public class MyValidator implements ConstraintValidator<MyConstraint, MyEntity> {

    @Autowired
    private ValidationProperties validationProperties;

    @Value("${my_config.test}")
    private String test;

    @Override
    public boolean isValid(MyEntity entity, ConstraintValidatorContext context) {

        System.out.println(this.test); // null value, why?
    }
}
Run Code Online (Sandbox Code Playgroud)

我还在@EnableConfigurationProperties我的主类中添加了注释.

我不确定哪个注释应该做什么,但我显然在这里遗漏了一些东西.此外,如果我尝试从配置文件的getter访问值,我会得到一个异常:

System.out.println(this.validationProperties.getTest());
Run Code Online (Sandbox Code Playgroud)

会得到我 …

java spring

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