标签: javabeans

Spring框架中回调方法和Bean后处理器的区别

请原谅这个 Spring 初学者问题。我正在阅读第一版的第 4 章,并介绍了回调方法和 Bean 后处理器。

现在我对这两件事感到困惑,似乎他们都做了某事。bean 实例创建时,如何区分两者?也许举个例子会很好?

我个人的理解是,如果我们必须找到差异,那么回调方法会在bean实际创建时启动,Bean后处理器在bean创建后稍稍被调用?另外,我认为差异也可能是初始化回调方法只关注一个bean,而Beanpost procsso将一一处理所有bean实例?

另外,有人可以通过将 JSR250 注释 @PreDestroy 和 @PostConstruct 与上面的两个概念进行比较和对比来帮助我进一步解释其中的区别吗?

非常感谢您的帮助!

java spring javabeans jakarta-ee

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

如何使用包含另一个类的对象的类的对象作为jasper报告中的数据源?

我有两个不同的类,一个是人员,另一个是地址。Person 类有一个 Address 类的对象作为其属性之一。例如

class Person{
   String name;
   Address address;
}
Run Code Online (Sandbox Code Playgroud)

由于其他问题,我无法更改类的结构,也无法添加任何新集合。

我的问题是,我想使用 Person 类的对象作为JasperReports报告的数据源,该报告包含来自 Person 和 Address 类的字段。有人可以帮忙吗

java jasper-reports javabeans

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

自动装配后 Spring 更改 Map 键

我有一个配置类,我可以像这样将 Map 创建为 Bean。

@Bean
public Map<String, Filter> filters() {
    Map<String, Filter> map = new HashMap<>();
    map.put("RECOMMENDATION", new RecommendationFilter());
    map.put("UPCOMING", new UpcomingFilter());
    return map;
}
Run Code Online (Sandbox Code Playgroud)

并在另一个服务中自动装配此地图:

@Autowired
private Map<String, Filter> filterMap;
Run Code Online (Sandbox Code Playgroud)

在调试模式下,我可以通过类名称看到映射有另一个键:

  • 推荐过滤器
  • 即将到来的过滤器

但不是“推荐”和“即将到来”,它是如何在配置中设置的。而且谷歌搜索没有帮助。

java spring dictionary javabeans autowired

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

在hibernate中使用bean验证

我想知道是否可以在 hibernate 中使用 Java Bean Validation,以及它们如何相互集成。

我的数据层中有一个由 Jax-rs API 和 JPA 组成的堆栈。

我想知道是否可以使用 Java Bean 验证来验证我的 Hibernate 实体,而不使用 Spring。

javax.validation.contraints我可以使用 hibernate 中的注释以及Together中的注释吗

例如:

@Column(nullable = false)
@Size(min =8, max = 12)
@NotNull(message = "Phone Number must be entered")
private String phoneNumber;
Run Code Online (Sandbox Code Playgroud)

在这里,我指定该列通过 hibernate 和 bean 验证不能为空。

这是一个好的做法吗?

或者是否有其他方法可以在休眠中验证数据,而无需像这样的 bean 验证?

java hibernate javabeans

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

spring 使用 ApplicationContex.getBean() 和 @Autowired 有什么不同?我如何决定选择哪一个?

我试图通过阅读来了解一些春天broadLeaf

为什么有些人broadLeaf使用 ApplictionContext.getBean() 而不是 @Autowired 注释?

spring annotations javabeans broadleaf-commerce

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

在非 spring 注入类中使用 application.properties

我有一个在此类中创建的类,new B(this);BI 希望使用 application.properties 中的值。但是因为(据我所知)因为它不是用 Spring 创建的,所以不会有任何注入(我使用注释@Value

这就是类的创建方式:

@Component
public class A {

    public B getB(){return new B(this);}

    /**
        a lot more stuff
    **/
}
Run Code Online (Sandbox Code Playgroud)

有问题的班级:

public class B {

    private A a;

    public B(A a){
        this.a = a;
    }

    @Value("${threshold}")
    private String threshold;  //this is null because it's not created with Spring

    public String getThreshold(){
        return threshold;
    }
    /**
        a lot more stuff
    **/

}
Run Code Online (Sandbox Code Playgroud)

所以我的问题如下:

1)如何使用 application.properties 文件中的值或

2)B怎么写,它是用Spring创建的?

一些背景信息:

  • 最初的代码不是我写的,所以不想改变太多,但想修改一下,以便将来可以更好地维护
  • 我没有那么多 Spring 知识,只是开始越来越熟悉它。 …

java javabeans properties-file spring-boot

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

“Controller”中构造函数的参数 0 需要一个“service”类型的 bean,但无法找到。不起作用:添加注释、组件扫描

我正在尝试在我的项目中使用服务和 DTO(尝试了解它们是什么以及应该如何使用它们)。首先,我只有控制器、模型和存储库。后端按预期工作。然后,我想我应该使用 DTO 和服务将客户端与存储库连接起来。但我的应用程序后来无法运行。

项目结构项目结构

电影控制器:

package movie_API.movie.controllers;

import movie_API.movie.services.MovieService;
import movie_API.movie.services.beans.MovieDTO;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

@Controller
//@RequestMapping("/something") <- if you want a general something before the other resources
public class MovieController {

    private final MovieService movieService;

    public MovieController(MovieService movieService) {
        this.movieService = movieService;
        System.out.println("build controller");
    }

    @GetMapping("/movies")
    public String movies(Model model) {
        System.out.println("before getting in");
        movieService.showMovies(model);
        System.out.println("after getting in");

        return "movie/movies-all";
    }
 }
Run Code Online (Sandbox Code Playgroud)

电影模型 + 相应的构造函数和 getter 和 setter:

package …
Run Code Online (Sandbox Code Playgroud)

java service javabeans dto spring-boot

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

PHP数组提取对象

假设我有一个用户定义类对象的数组.想知道如何在PHP中提取数组元素.

// class definition
class User
{
public $fname;
public $lname;
}

// array of objects of the class defined above
$objUser1 = new User():
$objUser2 = new User():
$objUser3 = new User():
$objUser4 = new User():

$alUser = array();
$alUser[] = $objUser1;
$alUser[] = $objUser2;
$alUser[] = $objUser3;
$alUser[] = $objUser4;


// trying to iterate and extract values using typcasting - this does not work, what is the alternative.
foreach($alUser as $user)
{
$obj = (User) $user; // gives …
Run Code Online (Sandbox Code Playgroud)

php arrays casting extract javabeans

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

JSF - 关于生命周期的另一个问题

今天我想了解JSF生命周期的一些功能.让我开始吧:

1 - 阶段2:应用请求值 - 在此阶段,视图中的每个组件将在请求中搜索其值并将新值设置为它们

嗯,好的.因此,View将由于之前的Beans参数而构建.之后,有一个部分视图,使用请求值生成.(对吧?之后,在3°阶段,他们将进行比较).但是,例如,如果在创建最后一个视图期间缺少请求列表中的值?值将为null?

2 - 阶段5:调用应用程序 - 一旦将请求的所有值成功设置到辅助bean,将处理在应用请求值阶段排队的操作事件.在我们的例子中,提交按钮动作方法.

这根本不清楚.此时我(在bean上)从前一阶段更新的值(如果验证和应用请求未失败).好的,现在发生了什么?在处理申请请求值阶段期间排队的操作事件的含义什么?这意味着,例如,如果操作是提交,则该过程已完成?这就是为什么ajax调用,如果不在2°阶段呈现,将会失败?或者失败的地方?

3 - 阶段6:渲染响应 - 在此阶段,组件树将呈现给客户端.

这意味着使用更新的bean值更新服务器上的View?然后,在此之后,HTML代码是从此视图创建的?或者只是它制作了HTML代码并保存了View状态?

希望你能帮我 :)

jsf page-lifecycle facelets javabeans jsf-2

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

useBean类属性的值无效

我是JSP的新手,并尝试简单的功率计算器.所以我从用户那里得到2个数字,然后我得到计算结果并在页面上显示.这是我的bean类:

package org.mypackage.power;

public class MyPow {

    private double base;
    private double pow;
    private double result;

    MyPow()
    {
        base = 0;
        pow=1;
    }

    /**
     * @return the base
     */
    public double getBase() {
        return base;
    }

    /**
     * @param base the base to set
     */
    public void setBase(double base) {
        this.base = base;
    }

    /**
     * @return the pow
     */
    public double getPow() {
        return pow;
    }

    /**
     * @param pow the pow to set
     */
    public void setPow(double pow) …
Run Code Online (Sandbox Code Playgroud)

forms jsp javabeans

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