(修改完成)spring 梳理6--注解开发 (三) 分层开发 (常用 )@Controller @Service @Repository

@Controller

@Service

@Repository

标识一下,这个类是javabean,扫包的时候要扫进去

目录:

 

1、dao层,注意@Repository要加在实现类上

package com.xinzhi.dao;

import com.xinzhi.entity.User;

/**
 * @author sr
 * @date 2021/1/24
 */
public interface IUserDao {
    User getUserById(int id);
}
IUserDao.java
package com.xinzhi.dao.impl;

import com.xinzhi.dao.IUserDao;
import com.xinzhi.entity.User;
import org.springframework.stereotype.Repository;

/**
 * @author sr
 * @date 2021/1/24
 */
@Repository
public class UserDaoImpl implements IUserDao {

    @Override
    public User getUserById(int id) {
        return new User();
    }
}
UserDaoImpl.java

2、service层,注意@Service要加在实现类上

package com.xinzhi.dao.impl;

import com.xinzhi.dao.IUserDao;
import com.xinzhi.entity.User;
import org.springframework.stereotype.Repository;

/**
 * @author sr
 * @date 2021/1/24
 */
@Repository
public class UserDaoImpl implements IUserDao {

    @Override
    public User getUserById(int id) {
        return new User();
    }
}
IUserService.java
package com.xinzhi.service;

import com.xinzhi.dao.IUserDao;
import com.xinzhi.entity.User;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @author sr
 * @date 2021/1/24
 */
@Service
public class UserServiceImpl implements IUserService{

    @Resource
    private IUserDao userDao;

    @Override
    public User getUserInfo(int id) {
        return userDao.getUserById(id);
    }
}
UserServiceImpl.java

3、controller层

package com.xinzhi.controller;

import com.xinzhi.entity.User;
import com.xinzhi.service.IUserService;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;

/**
 * @author sr
 * @date 2021/1/24
 */
@Controller
public class UserController {
    @Resource
    private IUserService userService;

    public void getUser(){
        User userInfo = userService.getUserInfo(12);
        System.out.println(userInfo);
    }
}
UserController

4、测试

 @Test
    public void testCreateBean(){
        //加载配置文件
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
        UserController bean = applicationContext.getBean(UserController.class);

        bean.getUser();
    }

entity层、dao层、service层、controller层之间关系

原文地址:https://www.cnblogs.com/Master-Sun/p/14317993.html