Spring/Java从一个方法调用变量作为变量
我有一个变量,我称之为“UtilityStartDate”,假设它在类1中,它从存储的进程中提取值 第一类Spring/Java从一个方法调用变量作为变量,java,sql,spring,jsp,web,Java,Sql,Spring,Jsp,Web,我有一个变量,我称之为“UtilityStartDate”,假设它在类1中,它从存储的进程中提取值 第一类 @Override public void populateUtility(Date utilityStartDate, String utilityStatus) { if(this.Utility != null) { this.Utility.populate(utilityStartDate, utilityStatus);
@Override
public void populateUtility(Date utilityStartDate, String utilityStatus) {
if(this.Utility != null) {
this.Utility.populate(utilityStartDate, utilityStatus);
}
}
我想在这里填充它,在一个不同的类(类2)中,当前它使用一个常量。“READ_DASHBOARD_START_DATE”,也用作“dateFrom”。
第二类
@Loggable(value = LogLevel.DEBUG)
public List <MeterReadChart> populateMeterReadChart(String customerId) {
Calendar cal = Calendar.getInstance();
String dateTo = DateUtils.formatDate(cal.getTime());
**cal.add(Calendar.YEAR, Constant.READ_DASHBOARD_START_DATE);
String dateFrom = DateUtils.formatDate(cal.getTime());**
return meterReadingDao.populateMeterReadingDetail(customerId, dateFrom, dateTo);
}
@Loggable(值=LogLevel.DEBUG)
公共列表populateMeterReadChart(字符串customerId){
Calendar cal=Calendar.getInstance();
字符串dateTo=DateUtils.formatDate(cal.getTime());
**cal.add(日历年、常数、读取日期、开始日期);
字符串dateFrom=DateUtils.formatDate(cal.getTime())**
返回meterReadingDao.populateMeterReadingDetail(customerId、dateFrom、dateTo);
}
我对java/spring非常陌生,不知道如何从类1调用它到类2中的方法,您可以使用spring IOC将类1的引用调用到类2中
Class Class1
{
// Populated value to be stored
private Date utilityStartDate;
// method called by Class2 to get the populated value
public Date getUtilityStartDate()
{
return utilityStartDate;
}
// Method to populated. (Your logic)
@Override
public void populateUtility(Date utilityStartDate, String utilityStatus) {
if(this.Utility != null) {
this.Utility.populate(utilityStartDate, utilityStatus);
}
}
}
Class Class2
{
private Class1 class1;
public void setClass1(Class1 class1)
{
this.class1 = class1;
}
@Loggable(value = LogLevel.DEBUG)
public List <MeterReadChart> populateMeterReadChart(String customerId) {
Calendar cal = Calendar.getInstance();
String dateTo = DateUtils.formatDate(cal.getTime());
**cal.add(Calendar.YEAR, Constant.READ_DASHBOARD_START_DATE);**
// getting Date from Class1
String dateFrom = DateUtils.formatDate(class1.getUtilityDate());
return meterReadingDao.populateMeterReadingDetail(customerId, dateFrom, dateTo);
}
}
Class1类
{
//要存储的填充值
私人日期实用程序开始日期;
//方法,以获取填充的值
公共日期getUtilityStartDate()
{
返回效用起始日期;
}
//方法来填充。(您的逻辑)
@凌驾
public void populateUtility(日期实用程序startdate、字符串实用程序status){
if(this.Utility!=null){
this.Utility.populate(utilityStartDate,utilityStatus);
}
}
}
二级
{
私人1类;
公共空间集合类别1(类别1)
{
这个.class1=class1;
}
@Loggable(值=LogLevel.DEBUG)
公共列表populateMeterReadChart(字符串customerId){
Calendar cal=Calendar.getInstance();
字符串dateTo=DateUtils.formatDate(cal.getTime());
**cal.add(日历年、常数、读取日期、开始日期)**
//从1班得到日期
字符串dateFrom=DateUtils.formatDate(class1.getUtilityDate());
返回meterReadingDao.populateMeterReadingDetail(customerId、dateFrom、dateTo);
}
}
尝试将其注释为@Component
,然后您可以使用@Autowired
将其中一个插入另一个,如果我知道的正确的话