admin管理员组文章数量:1794759
springboot常用注解与实例
一、 @springbootApplication
在SpringBoot框架为我们自动创建的启动类当中,使用了@SpringBootApplication注解标签对启动 类进行修饰。 @SpringBootApplication注解标签实际上是一个复合注解标签,包括@EnableAutoConfiguration、@ComponentScan通常用在主类上
@SpringBootApplication | 用来声明启动类进行修饰 |
@EnableAutoConfiguration | 是springboot实现自动化配置的核心注解,通过这个注解把spring应用所需的bean注入容器中 |
@ComponentScan | 用来自动扫描注解标识的类,生成ioc容器里的bean,默认扫描范围是@ComponentScan注解所在配置类包及子包的类 |
@Configuration | 作用于类之上,配置spring容器(应用上下文),相当于把该类作为spring的xml配置文件中 |
@Bean | 产生bean对象加入容器,作用于方法 |
原生SSM框架整合过程中,如果想要在IOC容器中添加一个自定义对象,我们所需要完成的工作: 在Spring框架使用的配置文件的跟标签下,添加如下标签的内容声明:
<bean id="user" class="com.qf.testspringboot.pojo.User"> <property name="id" value="1"/> <property name="username" value="张三"/> <property name="age" value="22"/> </bean>但是在SpringBoot框架当中,允许我们直接通过创建并返回Java对象的方式,直接向IOC容器中注 入自定义的对象。 这个过程,依赖于@Configuration注解标签和@Bean注解标签。 首先我们准备一个User类:
@Data //记得要导入Lombok相关的依赖 @NoArgsConstructor @AllArgsConstructor public class User { private Integer id; private String username; private Integer age; }然后创建一个UserConfiguration类,并为这个类使用@Configuration注解标签,声明这个类是一 个配置类:
@Configuration public class UserConfiguration { }在这个类中创建一个方法,方法的返回值是User类型的,而方法名就是IOC容器中注入对象的对 象名,并对这个方法使用@Bean注解标签:
@Configuration public class UserConfiguration { @Bean public User user() { /* 下列代码等价于: <bean id="user" class="com.qf.testspringboot.pojo.User"> <property name="id" value="1"/> <property name="username" value="张三"/> <property name="age" value="22"/> </bean> 方法的返回值数据类型等价于<bean>标签中的class属性取值 方法的方法名等价于<bean>标签中的id属性取值 */ User user = new User(1, "张三", 22); return user; } }此时,SpringBoot框架扫描并向IOC容器注入对象的逻辑流程是:
通过这种方式,我们可以在不使用XML配置文件的基础上,轻松的向IOC容器中注入自定义的 Java对象。
三、@AutoWired@Autowired默认按类型装配,常用于业务层实现类和持久层实现类
实例:在TestController类中,通过@Autowired注解标签自动注入一个User对象,并在访问test方法的时 候,打印这个User对象:
@Controller //SpringMVC当中的注解标签都还能用 public class TestController { @Autowired private User user; //自动注入自定义的User对象 @RequestMapping("/test") @ResponseBody public String test() { System.out.println(user); //打印这个User对象 return "Hello SpringBoot!"; } }访问test方法时程序的运行结果:
四、@Service、@Controller、@Repository、@Component@Service | 用于业务层 ,业务逻辑层 service 注入spring容器 |
@Controller | 控制层 controller 注入spring容器 |
@Repository | 持久层 dao 注入spring容器 |
@Component | 普通domain注入spring容器 |
@ResponseBody | 作用在方法上或类上,让该方法的返回结果直接写入 HTTP response body 中,不会经过视图解析器,返回数据直接在页面展示。 |
@RestController | 是@Controller和@ResponseBody的结合体,作用于类,作用等于在类上面添加了@ResponseBody和@Controller |
@RequestMapping | 使用该注解就可以通过配置的url进行访问,可以是get也可以是post |
@GetMapping | 使用该注解就可以通过配置的url进行访问,限定get请求方式 |
@PostMapping | 使用该注解就可以通过配置的url进行访问,限定post请求方式 |
@RequestParam | 主要用于接收url?后面的参数,get或post请求,只要后面的url?有参数都可以获取到对应的参数 |
@RequestBody | 该注解用于获取请求体数据(body),get没有请求体,故而一般用于post请求 |
本文标签: 注解实例常用SpringBoot
版权声明:本文标题:springboot常用注解与实例 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686810584a105798.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论