Spring Boot注解
来源:互联网 发布:pe windows启动修复 编辑:程序博客网 时间:2024/06/08 18:51
Spring最开始是为了解决EJB等大型企业框架对应用程序的侵入性
因此大量依靠配置文件来“非侵入式”得给POJO增加功能
从Spring 3.x开始,Spring被外界最为诟病的一点就是配置繁多,号称“配置地狱”
从Spring 4.x开始,Spring.io提供了三种方式编织Bean:
- 利用注解:隐式配置,例如:@Autowired、@Bean、@Component等,通过注解来简化xml文件。
- 利用Java文件:显示配置,比xml配置的优势是具备类型安全
- 利用传统的xml配置文件
注解(annotations)列表
@ResponseBody
用该注解修饰的函数,会将结果直接填充到HTTP的响应体中,一般用于构建RESTful的api;
@Controller
用于定义控制器类,在spring 项目中由 控制器 负责 将用户发来的URL请求 转发到 对应的服务接口(service层)
一般情况下@Controller与 @RequestMapping 一起使用,用于指定 URL对应的处理方法或者处理类
@Controllerpublic class Index { @RequestMapping(value ="/", method = RequestMethod.GET) @ResponseBody public String hello(){ return "hello world"; }}
与Controller类似,使用这个注解表明是REST接口
@ResponseBody
@RequestMapping
提供路由信息,负责 URL到Controller中的具体函数的映射。
@EnableAutoConfiguration
Spring Boot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置你的Spring应用。例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。你可以将@EnableAutoConfiguration或者@SpringBootApplication注解添加到一个@Configuration类上来选择自动配置。如果发现应用了你不想要的特定自动配置类,你可以使用@EnableAutoConfiguration注解的排除属性来禁用它们。
@ComponentScan
表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件,包括@Configuration类。我们经常使用@ComponentScan注解搜索beans,并结合@Autowired注解导入。
@Configuration
相当于传统的xml配置文件,如果有些第三方库需要用到xml文件,建议仍然通过@Configuration类作为项目的配置主类——可以使用@ImportResource注解加载xml配置文件。
@SpringBootApplication
相当于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
@Import
用来导入其他配置类。
@ImportResource
用来加载xml配置文件。
@Autowired
自动导入依赖的bean
@Service
一般用于修饰service层的组件
@Repository
@Lazy(true) 表示延迟初始化
@Service用于标注业务层组件、
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件。
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Scope用于指定scope作用域的(用在类上)
@PostConstruct用于指定初始化方法(用在方法上)
@PreDestory用于指定销毁方法(用在方法上)
@DependsOn:定义Bean初始化及销毁时的顺序
@Primary:自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常
@Autowired 默认按类型装配,如果我们想使用按名称装配,可以结合@Qualifier注解一起使用。如下:
@Autowired @Qualifier("personDaoBean") 存在多个实例配合使用
@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。
@PostConstruct 初始化注解
@PreDestroy 摧毁注解 默认 单例 启动就加载
- Spring Boot中的注解
- Spring Boot 常用注解
- spring boot 注解
- Spring Boot中的注解
- Spring Boot Json注解
- Spring Boot注解
- spring-boot注解整理
- Spring boot 注解校验
- Spring Boot 注解类
- Spring Boot 常用注解
- spring boot注解
- Spring Boot 自定义注解
- spring boot注解
- Spring Boot 常用注解
- spring boot之注解
- Spring Boot 注解笔记
- Spring Boot注解
- spring-boot注解整理
- memcached缓存与mybatis的整合
- 【bzoj1036】[ZJOI2008]树的统计Count
- (8)高通AP10.4开发者指南——WLAN(2.2 上下文及同步处理)
- iterator adapter inserter
- 11.JavaScript深入之bind的模拟实现
- Spring Boot注解
- 增加 VM虚拟机硬盘容量
- 【Robotframework】WebDriverException: Message: Expected [object Undefined] undefined to be a string
- jQuery EasyUI parser 的使用场景
- OpenGL中gl,glu,glut的区别
- 学术论文写作
- MySQL中利用外键实现级联删除、更新
- c++ int、long long 转string int转wstring
- C++面试题目