无法访问Spring Boot和Hibernate中的服务Implimentation

时间:2018-01-05 08:51:51

标签: java spring-boot

我正在用hibernate创建一个spring boot应用程序。但我无法访问其他包中的功能。 这是由于不同的包裹吗?。

我的ManageController:

@Controller
public class ManageController {

    private ManageService manageService;

    @Autowired(required=true)
    //@Qualifier(value="manageService")
    public void setmanageService(ManageService ms){
        this.manageService = ms;
    }
@RequestMapping(value = "USER_LOGIN")
    public void user_login(Model model, HttpServletResponse response, HttpServletRequest request) throws JSONException, IOException  {
        try {
            StringBuilder username = new StringBuilder((String)request.getParameter("username"));
            StringBuilder password = new StringBuilder((String)request.getParameter("password"));
            List<JSONObject> json = new ArrayList<JSONObject>();
            System.out.println("1");
            System.out.println("username :"+username);
            System.out.println("password :"+password);

            Users users = this.manageService.getUsersByUsername (username.toString());
            System.out.println("2");


            if(users.getId() > 0) {
                JSONObject json_data = new JSONObject();
                if(users.getPassword().equals(password.toString())) {
                    json_data.put("status","true");
                    json_data.put("login","Success");
                }else {
                    json_data.put("status","false");
                    json_data.put("login","Incorrect password");
                }
                json.add(json_data);
            }

            response.getWriter().print("{\"result\":"+json+"}");

        }   catch   (Exception e){

            List<JSONObject> json1 = new ArrayList<JSONObject>();
            JSONObject json_data1 = new JSONObject();
            json_data1.put("status","false");
            json_data1.put("login","Incorrect username");
            json1.add(json_data1);

            response.getWriter().print("{\"result\":"+json1+"}");
        }
    }
}

此处无法访问该行:

  

Users users = this.manageService.getUsersByUsername   (username.toString());

我的项目结构是:

enter image description here

在我的manageDao实现中,我正在调用无法访问的函数;

@Repository
public class ManageDaoImpl implements ManageDao {

    private static final Logger logger = LoggerFactory.getLogger(ManageDaoImpl.class);

    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sf){
        this.sessionFactory = sf;
    }

@Override
    public Users getUsersByUsername (String username) {
        System.out.println("11");
        System.out.println("11 username:"+username);
        Session session = this.sessionFactory.getCurrentSession();
        System.out.println("12");

        Criteria cr = session.createCriteria(Users.class);
        System.out.println("13");

        cr.add(Restrictions.eq("username", username));
        System.out.println("14");

        cr.add(Restrictions.eq("active", 1));
        System.out.println("15");

        Users ul = (Users) cr.uniqueResult();
        System.out.println("16");

        return ul;
    }
}

最后主要的课程是:

@SpringBootApplication
@EnableAutoConfiguration
//@ComponentScan(basePackages = { "com.paymark"})
@ComponentScan(basePackages = { "com.paymark.app","com.paymark.views","com.paymark.app.dao","com.paymark.app.model","com.paymark.app.service"})
public class PaymarkApplication {

    public static void main(String[] args) {
        SpringApplication.run(PaymarkApplication.class, args);
    }
}

是否与配置问题有关?无法访问任何功能?最初,错误与bean有关。 像:

  

考虑定义类型的bean   您的配置中的“com.paymark.app.service.ManageService”。

所以我删除了:

  

@Qualifier(值= “manageService”)   来自管理服务。但现在错误仍然没有,任何功能都无法访问..

更新: 在ManageService中:

public interface ManageService {
    public Users getUsersByUsername (String username);

}

在ManageServiceImplementation中:

@Service
public class ManageServiceImpl implements ManageService {

    private ManageDao manageDAO;
    @Override
        @Transactional
        public Users getUsersByUsername (String username) {
            return this.manageDAO.getUsersByUsername(username);
        }
}

CONSOLE:

2018-01-05 14:57:48.357  INFO 7649 --- [  restartedMain] com.paymark.app.PaymarkApplication       : Starting PaymarkApplication on Karthiks-MacBook-Air.local with PID 7649 (/Applications/MAMP/htdocs/paymark/target/classes started by karthikcp in /Applications/MAMP/htdocs/paymark)
2018-01-05 14:57:48.358  INFO 7649 --- [  restartedMain] com.paymark.app.PaymarkApplication       : No active profile set, falling back to default profiles: default
2018-01-05 14:57:48.457  INFO 7649 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7e86f0ec: startup date [Fri Jan 05 14:57:48 IST 2018]; root of context hierarchy
2018-01-05 14:57:50.700  INFO 7649 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2018-01-05 14:57:50.714  INFO 7649 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2018-01-05 14:57:50.718  INFO 7649 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.23
2018-01-05 14:57:51.129  INFO 7649 --- [ost-startStop-1] org.apache.jasper.servlet.TldScanner     : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2018-01-05 14:57:51.135  INFO 7649 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2018-01-05 14:57:51.136  INFO 7649 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2684 ms
2018-01-05 14:57:51.339  INFO 7649 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2018-01-05 14:57:51.343  INFO 7649 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-01-05 14:57:51.343  INFO 7649 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-01-05 14:57:51.344  INFO 7649 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-01-05 14:57:51.344  INFO 7649 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2018-01-05 14:57:52.130  INFO 7649 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2018-01-05 14:57:52.143  INFO 7649 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
    name: default
    ...]
2018-01-05 14:57:52.220  INFO 7649 --- [  restartedMain] org.hibernate.Version                    : HHH000412: Hibernate Core {5.0.12.Final}
2018-01-05 14:57:52.222  INFO 7649 --- [  restartedMain] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2018-01-05 14:57:52.223  INFO 7649 --- [  restartedMain] org.hibernate.cfg.Environment            : HHH000021: Bytecode provider name : javassist
2018-01-05 14:57:52.285  INFO 7649 --- [  restartedMain] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2018-01-05 14:57:52.421  INFO 7649 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2018-01-05 14:57:53.076  INFO 7649 --- [  restartedMain] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000227: Running hbm2ddl schema export
2018-01-05 14:57:53.489  INFO 7649 --- [  restartedMain] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000230: Schema export complete
2018-01-05 14:57:53.517  INFO 7649 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2018-01-05 14:57:53.965  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7e86f0ec: startup date [Fri Jan 05 14:57:48 IST 2018]; root of context hierarchy
2018-01-05 14:57:54.051  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/USER_LOGIN]}" onto public void com.paymark.app.ManageController.user_login(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.052  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/DEVICE_VERIFICATION]}" onto public void com.paymark.app.ManageController.device_verification(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.052  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/PIN_VERIFICATION]}" onto public void com.paymark.app.ManageController.pin_verification(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.052  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TRANSACTIONS]}" onto public void com.paymark.app.ManageController.transactions(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.052  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/COLLECTIONS]}" onto public void com.paymark.app.ManageController.collections(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.053  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TRANSACTIONS_REPRINT]}" onto public void com.paymark.app.ManageController.transactions_reprint(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.053  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/USER_REGSITRATION]}" onto public void com.paymark.app.ManageController.user_regsitration(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.053  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/USER_REGSITRATION_EDIT]}" onto public void com.paymark.app.ManageController.user_regsitration_edit(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.053  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/USER_REGSITRATION_REMOVE]}" onto public void com.paymark.app.ManageController.user_regsitration_remove(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.053  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/USER_LOGIN_WEB]}" onto public void com.paymark.app.ManageController.user_login_web(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.054  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/CLIENT_REGSITRATION]}" onto public void com.paymark.app.ManageController.client_regsitration(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.054  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/CLIENT_REGSITRATION_EDIT]}" onto public void com.paymark.app.ManageController.client_regsitration_edit(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.054  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/CLIENT_REGSITRATION_REMOVE]}" onto public void com.paymark.app.ManageController.client_regsitration_remove(org.springframework.ui.Model,javax.servlet.http.HttpServletResponse,javax.servlet.http.HttpServletRequest) throws org.json.JSONException,java.io.IOException
2018-01-05 14:57:54.055  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public java.lang.String com.paymark.views.ErrorHandler.error()
2018-01-05 14:57:54.055  INFO 7649 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],methods=[GET]}" onto public java.lang.String com.paymark.views.HomeController.index()
2018-01-05 14:57:54.102  INFO 7649 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-01-05 14:57:54.102  INFO 7649 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/resources/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-01-05 14:57:54.195  INFO 7649 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-01-05 14:57:54.640  INFO 7649 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2018-01-05 14:57:54.889  INFO 7649 --- [  restartedMain] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-01-05 14:57:54.991  INFO 7649 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2018-01-05 14:57:55.003  INFO 7649 --- [  restartedMain] com.paymark.app.PaymarkApplication       : Started PaymarkApplication in 7.068 seconds (JVM running for 8.952)
2018-01-05 14:58:05.672  INFO 7649 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-01-05 14:58:05.672  INFO 7649 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2018-01-05 14:58:05.691  INFO 7649 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 19 ms
1
username :admin
password :123456

1 个答案:

答案 0 :(得分:0)

ManageDaoImpl 类中的 getUsersByUsername 函数,而不是 ManageService