项目中spring创建对象的2种方式

1.基于xml的创建

<bean id="shjzToDsrManager"  class="jap.shjz.manager.ShjzToDsrManager"  scope="prototype" />

作用域:

1singleton:默认,每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护。

 

2prototype:为每一个bean请求提供一个实例

 

3request:为每一个网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。

 

4session:与request范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。

 

5global-session:全局作用域,global-sessionPortlet应用相关。当你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想要声明让所有的portlet共用全局的存储变量的话,那么这全局变量需要存储在global-session中。全局作用域与Servlet中的session作用域效果相同。

2.@Autowired基于注解的创建

 

package jap.shjz.manager.znyp.process;

 

import com.util.FieldList;
import com.web.base.AbstractFormProcess;
import com.web.base.PerformException;
import jap.shjz.manager.znyp.BulkReceiveManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;

 

import javax.servlet.http.HttpServletRequest;

 

@Scope("prototype")
@Service("generateDeptDetailProcess")
public class GenerateDeptDetailProcess extends AbstractFormProcess {

 


@Autowired
BulkReceiveManager bulkReceiveManager;

 

@Override
public void process(String s, FieldList fieldList, HttpServletRequest httpServletRequest) throws PerformException {

 

}
@Override
public void afterProcess(FieldList fieldPk, HttpServletRequest request) throws PerformException {

 


//String pkConsumeDetail = request.getParameter("pk_id");
String pk_ids = request.getParameter("pk_ids");
String[] pk_idsArray = pk_ids.split(",");

 

for (int i = 0; i < pk_idsArray.length; i++) {
try {
bulkReceiveManager.bulkReceive(pk_idsArray[i]);
} catch (Exception e) {
throw new PerformException(new StringBuilder("接收失败[").append(e.getMessage()).append("]").toString());
}

 

}
}
}

 

posted @ 2020-09-27 20:38  武魂95级蓝银草  阅读(184)  评论(0编辑  收藏  举报