ToB企服应用市场:ToB评测及商务社交产业平台

标题: Spring5学习随笔-基础注解编程 [打印本页]

作者: 数据人与超自然意识    时间: 2024-1-5 08:26
标题: Spring5学习随笔-基础注解编程
学习视频:【孙哥说Spring5:从设计模式到基本应用到应用级底层分析,一次深入浅出的Spring全探索。学不会Spring?只因你未遇见孙哥】
注解编程-第一章、注解基础概念

1.什么是注解编程

指的是在类或方法上加入特定的注解(@XXX),完成特定功能的开发.
2.为什么要讲解注解编程

3.注解的作用

通过注解的方式,在调用者和功能提供者之间达成约定,进而进行功能的调用,因为注解应用更为方便灵活,所以在现在的开发中,更推荐通过注解的形式完成

4.Spring注解的发展历程

5.Spring注解开发的一个问题

Spring基于注解进行配置后,还能否解耦合呢?
在Spring框架应用注解时,如果对注解配置的内容不满意,可以通过Spring配置文件进行覆盖。
第二章、Spring的基础注解(Spring2.x)

这个阶段的注解,仅仅是简化XML的配置,并不能完全代替XML
1.对象创建相关注解

  1. <context:component-scan base-package="com.baizhi"/>
  2. 作用:让Spring框架在设置的包下扫描对应的注解,使其生效
复制代码
2.注入相关注解

  1. @Component
  2. @PropertySource("classpath:/init.properties")
  3. public class Category {
  4.     @Value("${id}")
  5.     private Integer id;
  6.     @Value("${name}")
  7.     private String name;
  8.     public Integer getId() {
  9.         return id;
  10.     }
  11.     public void setId(Integer id) {
  12.         this.id = id;
  13.     }
  14.     public String getName() {
  15.         return name;
  16.     }
  17.     public void setName(String name) {
  18.         this.name = name;
  19.     }
  20. }
复制代码
3.注解扫描详解
  1. <context:component-scan base-package="com.baizhi"/>
  2. 当前包 及其 子包
复制代码
1.排除方式
  1. <context:component-scan base-package="com.baizhi">
  2.                 <context:exclude-filter **type**="" expression=""/>
  3.                 **type参数讲解**:assignable:排除特定的类型 不进行扫描
  4.                                                                         annotation:排除特定的注解  不进行扫描
  5.                                                                         aspectj:切入点表达式
  6.                                                                                                                 包切入点:com.baizhi.bean..*
  7.                                                                                                                 类切入点:*.User
  8.                                                                         regex:正则表达式来进行排除
  9.                                                                         custom:自定义排除策略
  10. </context:component>
  11. 排除策略可以叠加使用
  12. <context:component-scan base-package="com.baizhi">
  13.         <context:exclude-filter type="assignable" expression="com.baizhi.bean.User"/>
  14.         <context:exclude-filter type="aspectj" expression="com.baizhi.injection..*"/>
  15. </context:component-scan>
复制代码
实际开发中常用assignable、annotation、 aspectj(用的最多,切入点表达式)更方便
2.包含方式

和排除方式是相反的,它决定了哪些类的注解被Spring扫描
  1. <context:component-scan base-package="com.baizhi" use-default-filters="false">
  2.       <context:include-filter type="" expression=""/>
  3. </context:component-scan>
  4. 1. use-default-filters="false"
  5.         作用:让Spring默认的注解扫描方式 失效
  6. 2. <context:include-filter type="" expression=""/>
  7.         作用:指定扫描那些注解
  8.         type:assignable:指定特定的类型 不进行扫描
  9.                                 annotation:指定特定的注解  不进行扫描
  10.                                 aspectj:切入点表达式
  11.                                                                         包切入点:com.baizhi.bean..*
  12.                                                                         类切入点:*.User
  13.                                 regex:正则表达式来进行排除
  14.                                 custom:
  15. 包含的方式支持叠加
  16. <context:component-scan base-package="com.baizhi" use-default-filters="false">
  17.         <context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
  18.         <context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
  19.     </context:component-scan>
复制代码
4.对于注解开发的思考

<ul>配置互通
Spring注解配置 配置文件的配置 互通
[code]@Repositorypublic class UserDAOImpl{}public class UserServiceImpl{                private UserDAO userDAO;                set get..}




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4