各种注解可能会用,但是不知道为什么,必须做一整理
@SpringBootApplication 组合注解
包含@EnableAutoConfiguration、@ComponentScan和@SpringBootConfiguration三个注解,标注为springboot启动类
@Resource
自动注入,项目启动后springboot会实例化一个对象
@Configuration
spring中有很多xml配置文件,可以理解为把该类变为一个xml配置文件
@Bean
等同于xml配置文件中<bean>
属性,SpringBoot会把该注解的类返回值装载进Spring IOC容器,方法名对应<bean>
标签的id属性值
@Entity
这是一个持久化POJO类,实体bean
@Table
映射数据库表,不指定默认为 实体类的短类名
@Component
泛指组件,当组件不好归类是使用
@Service
spring boot 会自动扫描带@Component的类交给spring容器来管理,也可以用@Component知识@Service注解更能表明该类是服务层类,类别明确
@Repository
持久层组件,标注数据访问组件 Dao层
@Resource
此注解属于J2EE,默认按照名称进行装配,名称可以通过过name属性指定,如果没有指定name属性,当注解写在字段上时默认取该字段名进行查找。如果写在setter方法上,取属性名进行装配,当找不到与名称匹配的bean,才按照类型进行装配,注意 name被指定只按名称进行装配
@Autowried
此注解属于spring,默认按类型进行装配,默认状态要求依赖对象必须存在,如果要允许null值,设置requried=false,如果想使用名称装配,可以结合@Qualifier注解使用
@Controller
标注此类为一个控制层类,让spring容器管理
@RequestMapping
用来处理请求地址映射,可用于类(标识类中所有相应请求的方法都是以该地址为父路径)或方法,有value、method等属性,什么都不写默认为value 如:@RequestMapping("/thymeleafController")
@Transactional
用于service实现类中,开启事务(方法执行完后才提交事务,一般添加在增加和修改方法之上)。加在类上则此类中所有的public修饰方法都开启事务,加在方法上则此方法开启事务并覆盖类级别注解
@WebFilter
将一个类声明为过滤器,该注解会在应用部署时被容器处理,容器根据具体的属性配置将相应的类部署为过滤器。这样我们在使用监听器时就不需要在web.xml中配置监听器的相关描述信信息。常有的属性有filterName(指定过滤器name,同xml中<filter-name>标签)、urlPatterns(指定一组过滤器的URL匹配模式,同<url-pattern>)、value属性等价于urlPatterns属性(两者不可同时使用)
@ServletComponentScan
Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、@WebListener注解自动注册,无须其他代码
@WebListener
将一个类声明为监听器,该注解将会在应用部署时被容器处理,容器根据具体的属性配置将相应的类部署为监听器,这样我们在Web应用中使用监听器时,不需要在web.xml文件中配置监听器的相关描述信息
springboot学习之注解
最新推荐文章于 2023-07-27 11:17:05 发布