• springboot起步的基础注解


    1.mapper类

    @Mapper
    @Repository

    @Mapper和@Repository的区别

    1.相同点
    @Mapper和@Repository都是作用在dao层接口,使得其生成代理对象bean,交给spring 容器管理
    对于mybatis来说,都可以不用写mapper.xml文件
    2.不同点
    @Mapper不需要配置扫描地址,可以单独使用,如果有多个mapper文件的话,可以在项目启动类中加入@MapperScan(“mapper文件所在包”),这样就不需要每个mapper文件都加@Mapper注解了
    @Repository不可以单独使用,否则会报如下错误

    Field userMapper in com.liu.service.UserServiceImpl required a bean of type 'com.liu.mapper.UserMapper' that could not be found.
    1
    找不到bean,这是因为项目启动的时候没有去扫描使用@Repository注解的文件,所以使用@Repository需要配置扫描地址
    但在idea中,使用@Repository可以消除在业务层中注入mapper对象时的错误,如下图所示

    2.serviceImpl

    @Service("courseDAO")

    @Scope("prototype")

    1.@Service注解作用

    1、 其getBean的默认名称是类名(头字母小写),可以@Service(“xxxx”)这样来指定, 2、其定义的bean默认是单例的,可以使用@Service(“beanName”) @Scope(“prototype”)来改变。
    3、可以通过@PostConstruct和@PreDestroy指定初始化方法和销毁方法(方法名任意)

    @Service("baseCacheService")
    public class BaseCacheServiceImpl implements BaseCacheService{

    }
    详解
    首先,在applicationContext.xml文件中加一行:

    <context:component-scan base-package="com.hzhi.clas"/>
    加上这一行以后,将自动扫描路径下面的包,如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了,类似的还包括@Component、@Repository、@Controller。

    比如下面这个类:

    @Service("courseDAO")
    @Scope("prototype")
    public class CourseDAOImpl extends HibernateDaoSupport implements CourseDAO{

    ......

    }
    其作用就相当于applicationContext.xml文件里面的:

    <bean id="courseDAO"
    class="com.hzhi.course.dao.CourseDAOImpl" scope="prototype">
    ......
    </bean>


    2.@Scope("prototype")去掉单例模式

    singleton是单例,如果你的这个bean需要共享一些信息,那么可以配置成singleton,这样的bean可以保存一些信息,方便交互,但是这样的话就需要自己去处理bean的同步问题,必须保证这个bean是线程安全的。
    prototype是原型,每次得到的bean实例都是新的,不需要自己去考虑同步问题,但就无法进行成员共享。

    3.service

    4.controller

     类

    @RestController
    @RequestMapping("/user")
    @Validated
    @Api(tags = "用户数据操作")

    方法
    @Autowired
    private IUserService iUserService;

    @GetMapping("/userQuery")
    @ApiOperation("查询所有的用户")
    public List<UserInfo> userQuery(){

    return iUserService.userQuery();
    }

    5.启动类

    @SpringBootApplication
  • 相关阅读:
    π框架参数规则(正则表达式验证)
    SQL查询优化的一些建议
    phalApi框架打印SQL语句
    phpstorm注册码
    phalApi数据库操作
    内容的全局搜索
    xampp虚拟主机的配置
    navicat自动备份数据
    IOC和AOP扩展
    Spring AOP
  • 原文地址:https://www.cnblogs.com/chwl-ljx/p/15342072.html
Copyright © 2020-2023  润新知