@Test
@Test的使用,注解在方法上
该方法可以不用main方法调用就可以测试出运行结果,是一种测试方法
一般函数都需要有main方法调用才能执行,注意被测试的方法必须是public修饰的
@Required
@Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。
@Deprecated
“@Deprecated”意在-----这个方法或类不再建议使用。在新版本中有其他方法或类可以代替这个使用,以后的版本也不会再更新这个方法或类
@SuppressWarnings
忽略警告,如: @SuppressWarnings(“deprecation”):如果使用了使用@Deprecated注释的方法,编译器将出现警告信息。使用这个注释将警告信息去掉。
@SuppressWarnings(“all”):忽略所有警告。
@Action
@Action指定一个类为action,相应配置文件里的…标签,当中能够配置例如以下属性
results:配置返回的结果集属性,相当于struts2中的列表,能够在{}中配置属性,详细例如以下
value:配置action的名字,相当于中的name属性
interceptorRefs:配置拦截器
@Autowired
@Autowired 注释表明该属性、方法会自动连接(bytype),你可以在字段中或者 setter 方法中使用 @Autowired 注释
@Resource
@Resource注释表明该属性、方法会自动连接(by-name),你可以在字段中或者 setter 方法中使用 @Resource 注释。
@Qualifier
@Qualifier 当你创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除混乱。例如:
@Autowired
@Qualifier(“student1”)
表明,这个类里的student对应bean中定义的student1
@PostConstruct 和 @PreDestroy
为了定义一个 bean 的安装和卸载,我们使用 init() 和/或 destroy() 参数简单的声明一下 。init-method 属性指定了一个方法,该方法在 bean 的实例化阶段会立即被调用。同样地,destroy-method 指定了一个方法,该方法只在一个 bean 从容器中删除之前被调用。
你可以使用 @PostConstruct 注释作为初始化回调函数的一个替代,@PreDestroy 注释作为销毁回调函数的一个替代。
@Configuration
带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。@Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。
@import
@import 注解允许从另一个配置类中加载 @Bean 定义
@Controller
@Controller 注释表明一个特定类是一个控制器的作用。
@RequestMapping
@RequestMapping 注释用于映射 URL 到整个类或一个特定的处理方法。
@param
用于注解参数
当以下面的方式进行写SQL语句时:
@Select("select column from table where userid = #{userid} ")
public int selectColumn(int userid);
当你使用了使用@Param注解来声明参数时,如果使用 #{} 或 ${} 的方式都可以。
@Select("select column from table where userid = ${userid} ")
public int selectColumn(@Param("userid") int userid);
当你不使用@Param注解来声明参数时,必须使用使用 #{}方式。如果使用 ${} 的方式,会报错。
@Select("select column from table where userid = ${userid} ")
public int selectColumn(@Param("userid") int userid);
@Component(“activityService”)
@Component(“activityService”),就是实例化了一个对象activityService。
@Service
@Service用于标注业务层组件(注入dao)
@Controller
@Controller用于标注控制层组件(如struts中的action) (注入服务)
@Repository
@Repository用于标注数据访问组件,即DAO组件. (实现dao访问)
@Component
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。(把普通pojo实例化到spring容器中,相当于配置文件中的)
来自于 lombokd的注解
@NonNull :
注解在参数上, 如果该类参数为 null , 就会报出异常, throw new NullPointException(参数名)
@Cleanup :
注释在引用变量前, 自动回收资源 默认调用 close() 方法
@Getter/@Setter :
注解在类上, 为类提供读写属性
@Getter(lazy=true) :
@ToString :
注解在类上, 为类提供 toString() 方法
@EqualsAndHashCode :
注解在类上, 为类提供 equals() 和 hashCode() 方法
@NoArgsConstructor,@RequiredArgsConstructor
注解在类上, 为类提供无参,有指定必须参数, 全参构造函数
@Data :
注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法
@Builder :
注解在类上, 为类提供一个内部的 Builder
@Synchronized :
注解在方法上, 为方法提供同步锁
@Log4j :
注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
@Slf4j :
注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象