Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.cs545.ecom.repository;
- import java.util.List;
- import com.cs545.ecom.domain.Product;
- public interface ProductDAO {
- List<Product> getAllProducts();
- Product getProductById(int id);
- Product getProductByName(String name);
- Product addNewProduct(Product product);
- Product updateProduct(int productId, Product product);
- }
- package com.cs545.ecom.repository.impl;
- import java.util.List;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.Configuration;
- import org.springframework.stereotype.Repository;
- import com.cs545.ecom.domain.Product;
- import com.cs545.ecom.repository.ProductDAO;
- @Repository
- public class ProductDAOimpl implements ProductDAO{
- SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
- public List<Product> getAllProducts() {
- // TODO Auto-generated method stub
- return null;
- }
- public Product getProductById(int id) {
- // TODO Auto-generated method stub
- return null;
- }
- public Product getProductByName(String name) {
- // TODO Auto-generated method stub
- return null;
- }
- public Product addNewProduct(Product product) {
- Product productSaved=new Product();
- Session session=sessionFactory.openSession();
- session.beginTransaction();
- productSaved=(Product)session.save(product);
- session.getTransaction().commit();
- session.close();
- return productSaved;
- }
- public Product updateProduct(int productId, Product product) {
- // TODO Auto-generated method stub
- return null;
- }
- }
- package com.cs545.ecom.service;
- import com.cs545.ecom.domain.Product;
- public interface ProductService {
- Product addNewProduct(Product product);
- }
- package com.cs545.ecom.service.impl;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import org.springframework.stereotype.Service;
- import com.cs545.ecom.domain.Product;
- import com.cs545.ecom.repository.ProductDAO;
- import com.cs545.ecom.service.ProductService;
- @Service
- public class ProductServiceImpl implements ProductService {
- @Autowired
- private ProductDAO repository;
- public Product addNewProduct(Product product) {
- return repository.addNewProduct(product);
- }
- }
- package com.cs545.ecom.controller;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
- import com.cs545.ecom.domain.Category;
- import com.cs545.ecom.domain.Product;
- import com.cs545.ecom.repository.ProductDAO;
- import com.cs545.ecom.service.ProductService;
- @Controller
- public class ProductController {
- @Autowired
- public ProductService service;
- @RequestMapping("/")
- public String start() {
- return "UI/jsp/product";
- }
- @RequestMapping("/addproduct")
- public String addNewProduct(Model model){
- // Product product=service.addNewProduct(new Product("Apple iphone", "gfgfg", "Amazing Iphone ", new Category()));
- //Product product=new Product("Apple iphone", "gfgfg", "Amazing Iphone ", new Category());
- //model.addAttribute("product",product);
- return "UI/jsp/product";
- }
- }
- HTTP Status 500 - Servlet.init() for servlet Dispatcher Servlet threw exception
- type Exception report
- message Servlet.init() for servlet Dispatcher Servlet threw exception
- description The server encountered an internal error that prevented it from fulfilling this request.
- exception
- javax.servlet.ServletException: Servlet.init() for servlet Dispatcher Servlet threw exception
- org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
- org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
- org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
- org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
- org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
- org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
- org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
- org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
- java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
- java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
- org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
- java.lang.Thread.run(Unknown Source)
- root cause
- org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productController': Unsatisfied dependency expressed through field 'service': No qualifying bean of type [com.cs545.ecom.service.ProductService] found for dependency [com.cs545.ecom.service.ProductService]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.cs545.ecom.service.ProductService] found for dependency [com.cs545.ecom.service.ProductService]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
- org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:569)
- org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
- org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:349)
- org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
- org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
- org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
- org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
- org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
- org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
- org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
- org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:775)
- org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861)
- org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
- org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
- org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
- org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
- org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
- org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
- org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
- javax.servlet.GenericServlet.init(GenericServlet.java:158)
- org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
- org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
- org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
- org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
- org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
- org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
- org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
- org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
- java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
- java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
- org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
- java.lang.Thread.run(Unknown Source)
- root cause
- org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.cs545.ecom.service.ProductService] found for dependency [com.cs545.ecom.service.ProductService]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
- org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1403)
- org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1056)
- org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1018)
- org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:566)
- org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
- org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:349)
- org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
- org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
- org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
- org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
- org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
- org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
- org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
- org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:775)
- org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861)
- org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
- org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
- org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
- org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
- org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
- org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
- org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
- javax.servlet.GenericServlet.init(GenericServlet.java:158)
- org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
- org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
- org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
- org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
- org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
- org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
- org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
- org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
- java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
- java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
- org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
- java.lang.Thread.run(Unknown Source)
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
- version="3.1">
- <servlet>
- <servlet-name>Dispatcher Servlet</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <!--init-param is not needed when followed default naming convention for configuration file "DefaultServlet-servlet.xml"-->
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- /WEB-INF/dispatcher-config.xml
- </param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>Dispatcher Servlet</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- <session-config>
- <session-timeout>
- 30
- </session-timeout>
- </session-config>
- </web-app>
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
- http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
- ">
- <mvc:annotation-driven/>
- <mvc:resources mapping="/resources/**" location="/resources/"/>
- <context:component-scan base-package="com.cs545.ecom.controller"/>
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/views/" />
- <property name="suffix" value=".jsp"/>
- </bean>
- <bean id= "messageSource"
- class="org.springframework.context.support.ResourceBundleMessageSource">
- <property name="basename" value="messages"/>
- </bean>
- </beans>
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.password">111111</property>
- <property name="hibernate.connection.url">jdbc:mysql://localhost:3338/waaProject</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
- <property name="show_sql">true</property>
- <property name="hbm2ddl.auto">update</property>
- <mapping class="com.cs545.ecom.domain.Product"></mapping>
- </session-factory>
- </hibernate-configuration>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement