<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<context:property-placeholder location="classpath:application.properties" />
<mvc:annotation-driven />
<context:component-scan base-package="com.bizega.bzcrm" />
<!--
Most controllers will use the ControllerClassNameHandlerMapping above, but
for the index controller we are using ParameterizableViewController, so we must
define an explicit mapping for it.
-->
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="index.htm">indexController</prop>
</props>
</property>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" />
<!--
The index controller.
-->
<bean name="indexController"
class="org.springframework.web.servlet.mvc.ParameterizableViewController"
p:viewName="index" />
<!-- <bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10000000" />
</bean>-->
<!-- DataSource -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- Hibernate SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.hbm2ddl.auto">${hbm2ddl.auto}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
</props>
</property>
<property name="packagesToScan" value="com.bizega.bzcrm.hbmapping"></property>
</bean>
<bean id="hibernateUtil" class="com.bizega.bzcrm.util.HibernateUtil">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- Transaction -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
这是我的dispathureservlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"/>
这是我的aaplicationContext.xml
@Transactional
@Controller
public class EmployeeController {
@Autowired
private SessionFactory sessionFactory;
EmployeeService empService = new EmployeeService();
@RequestMapping(value = "/{menuid}", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<List<ModuleWrapper>> getModule(@PathVariable int menuid) throws Exception {
return new ResponseEntity<>(empService.getModule(), HttpStatus.OK);
}
@RequestMapping(value = "/save.lx", method = RequestMethod.POST)
public String createEmployee(@ModelAttribute EmployeeFormBean employee, ModelMap obj) {
Map map = new HashMap();
map.put("sf", sessionFactory);
Employee employee1 = new Employee();
employee1.setDesgid(employee.getDesigid());
employee1.setEmpcode(employee.getEmpcode());
employee1.setMobile(employee.getMobile());
employee1.setEmpname(employee.getName());
employee1.setAhid(1);
employee1.setDeptid(1);
employee1.setEmail(employee.getEmail());
employee1.setPhone(employee.getPhone());
employee1.setIsactive(1);
empService.saveEmployee(employee1, map);
List<Employee> employees = empService.findAllEmployees(map);
obj.addAttribute("employees", employees);
return "userlist";
}
@RequestMapping(value = "/deleteuser.lx", method = RequestMethod.GET)
public String deleteEmployee(@RequestParam("id") int id, ModelMap obj) {
Map map = new HashMap();
map.put("sf", sessionFactory);
empService.deleteEmployeeById(id, map);
List<Employee> employees = empService.findAllEmployees(map);
obj.addAttribute("employees", employees);
return "userlist";
}
@RequestMapping(value = "/edituser.lx", method = RequestMethod.GET)
public String updateEmployee(@RequestParam("id") int id, ModelMap obj) {
Map map = new HashMap();
map.put("sf", sessionFactory);
Employee emp = empService.findById(id, map);
obj.addAttribute("employee", emp);
return "updateEmp";
}
@RequestMapping(value = "/update.lx", method = RequestMethod.POST)
public String updateEmployeeDetails(@ModelAttribute Employee employee, ModelMap obj) {
Map map = new HashMap();
map.put("sf", sessionFactory);
empService.updateEmployee(employee, map);
List<Employee> employees = empService.findAllEmployees(map);
obj.addAttribute("employees", employees);
return "userlist";
}
@RequestMapping(value = "/listEmp.lx")
public String listEmployee(ModelMap obj) {
Map map = new HashMap();
map.put("sf", sessionFactory);
List<Employee> employees = empService.findAllEmployees(map);
obj.addAttribute("employees", employees);
return "userlist";
}
@RequestMapping(value = "/updateEmpField.lx")
public String updateSingleField(@RequestBody SingleField singleField) {
Map map = new HashMap();
map.put("sf", sessionFactory);
empService.updateEmpField(singleField,map);
// obj.addAttribute("employees", employees);
return "userlist";
}
}
这是我的控制器
@Transactional
@Service("empService")
public class EmployeeService {
@Autowired
SessionFactory sessionFactory;
EmployeeDataManager datamanager = new EmployeeDataManager();
public List<ModuleWrapper> getModule() throws Exception {
return datamanager.getModule();
}
@Transactional
public void saveEmployee(Employee employee, Map map) {
datamanager.saveEmployee(employee, map);
}
public List<Employee> findAllEmployees(Map map) {
return datamanager.findAllEmployees(map);
}
public void deleteEmployeeById(int id, Map map) {
datamanager.deleteEmployeeById(id, map);
}
public Employee findById(int id, Map map) {
return datamanager.findById(id, map);
}
public void updateEmployee(Employee employee, Map map) {
datamanager.updateEmployee(employee, map);
}
public void updateEmpField(SingleField singleField,Map map)
{
datamanager.updateEmpField(singleField,map);
}
}
这是我的服务
@Transactional
@Component
public class EmployeeDataManager extends HibernateUtil {
private HibernateUtil hbutil;
@Autowired
SessionFactory sessionFactory;
public void saveEmployee(final Employee employee, Map map) {
hbutil = new HibernateUtil();
hbutil.save(employee, map);
}
public List<Employee> findAllEmployees(Map map) {
hbutil = new HibernateUtil();
hbutil.test();
return hbutil.getAll(Employee.class, map);
}
public void deleteEmployeeById(int id, Map map) {
SessionFactory sessionFactory = (SessionFactory) map.get("sf");
Employee employee = hbutil.get(Employee.class, id, map);
hbutil.setSessionFactory(sessionFactory);
hbutil.delete(employee, map);
}
public Employee findById(int id, Map map) {
hbutil = new HibernateUtil();
Employee employee = hbutil.get(Employee.class, id, map);
return employee;
}
public void updateEmployee(Employee employee, Map map) {
hbutil = new HibernateUtil();
Employee e1 = hbutil.get(Employee.class, employee.getEmpid(), map);
e1.setEmpname(employee.getEmpname());
e1.setDesgid(employee.getDesgid());
e1.setEmail(employee.getEmail());
e1.setEmpcode(employee.getEmpcode());
e1.setMobile(employee.getMobile());
e1.setPhone(employee.getPhone());
// e1.setEmail(employee.getEmail());
hbutil.saveOrUpdate(e1);
}
}
这是我的数据管理员
@Transactional
@Component
public class HibernateUtil {
@Autowired
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public <T> T save(final T o, Map map) {
sessionFactory = (SessionFactory) map.get("sf");
return (T) sessionFactory.getCurrentSession().save(o);
}
public void delete(final Object object, Map map) {
sessionFactory = (SessionFactory) map.get("sf");
sessionFactory.getCurrentSession().delete(object);
}
/**
*
* @param <T>
* @param type
* @param id
* @param map
* @return
*/
public <T> T get(final Class<T> type, final int id, Map map) {
sessionFactory = (SessionFactory) map.get("sf");
return (T) sessionFactory.getCurrentSession().get(type, id);
}
public <T> T merge(final T o) {
return (T) sessionFactory.getCurrentSession().merge(o);
}
/**
*
*
* @param <T>
* @param o
*/
public <T> void saveOrUpdate(final T o) {
sessionFactory.getCurrentSession().saveOrUpdate(o);
}
public <T> List<T> getAll(final Class<T> type, Map map) {
sessionFactory = (SessionFactory) map.get("sf");
final Session session = sessionFactory.getCurrentSession();
final Criteria crit = session.createCriteria(type);
return crit.list();
}
public <T> void updateSingleField(final Class<T> type, SingleField singleField, Map map) {
sessionFactory = (SessionFactory) map.get("sf");
final Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery("update " + type.getSimpleName() + " set " + singleField.getColName() + "=:newValue where id=:id");
query.setParameter("newValue", singleField.getNewValue());
query.setParameter("id", singleField.getId());
int result = query.executeUpdate();
}
public void test() {
System.out.println("dfdfds " + sessionFactory);
throw new UnsupportedOperationException("Not supported yet.");
}
}
这是我的hibernateUtil类
我在控制器上获取了sessionfactory对象,但没有在我的datamanager和hibernate util中获取它,所以我必须使用map
我对春天来说是全新的,所以请帮我解决这个问题我错了如果你想要任何其他细节让我知道
提前致谢
答案 0 :(得分:0)
要获取具有自动装配字段的bean,您必须从applicationcontext获取它,例如自动装配它。使用&#34; new Myobject()&#34;
为自己创建的对象注入bean不是那么神奇