经过导入的法子贯彻把实例参加springIOC容器中,

2019-10-06 01:54 来源:未知

@SpringBootApplication:


@ConfigurationProperties能够拾叁分方便的把财富文件中的内容绑定到目的上@Value("${app.name}")流入轻巧值

包含@Configuration、@EnableAutoConfiguration、@ComponentScan

目录:【持续更新。。。。。】
  
  spring 部分常用注解
  spring boot 学习之路1(简单入门)
  spring boot 学习之路2(注解介绍)
  spring boot 学习之路3( 集成mybatis )
  spring boot 学习之路4(日志输出)
  spring boot 学习之路5(打成war包部署tomcat)
  spring boot 学习之路6(定时任务)
  spring boot 学习之路6(集成durid连接池)
  spring boot 学习之路7(静态页面自动生效问题)
  spring boot 学习之路8 (整合websocket(1))
  spring boot 学习之路9 (项目启动后就执行特定方法)

@Import

平时来说用在主类上。


经过导入的点子实现把实例插手springIOC容器中

@Repository:

 

/** * 定义一个圆形 * * @author zhangqh * @date 2018年5月1日 */public class Circular {}

用以标明数据访问组件,即DAO组件。

在读书spring boot 的注释时,你应该先看一下 spring boot 学习之路1(简单入门)

  

@Service:

 

/** * 定义一个正方形 * * @author zhangqh * @date 2018年5月1日 */public class Square {}

用以标记业务层组件。

@SpringBootApplication:

包含@Configuration、@EnableAutoConfiguration、@ComponentScan
日常说来用在主类上。

@Repository:
用于标记数据访问组件,即DAO组件。

@Service:
用于标明业务层组件。 

@RestController:
用以标明调节层组件(如struts中的action),包罗@Controller和@ResponseBody。

@ResponseBody:
意味着该措施的归来结果直接写入HTTP response body中
诚如在异步获取数据时接纳,在采纳@RequestMapping后,重回值平时深入分析为跳转路线,加上@responsebody后归来结果不会被分析为跳转路线,而是一贯写入HTTP response body中。例如异步获取json数据,加上@responsebody后,会一贯回到json数据。

@Component:
泛指组件,当组件倒霉归类的时候,大家可以使用那些评释进行标记。

@ComponentScan:
零件扫描。个人驾驭也就是<context:component-scan>,借使扫描到有@Component @Controller @Service等那么些评释的类,则把这个类注册为bean。

@Configuration:
提出该类是 Bean 配置的音信源,也正是XML中的<beans></beans>,平常加在主类上。

@Bean:
相当于XML中的<bean></bean>,位于方法的地点,并非类,意思是发生一个bean,并交给spring管理。

@EnableAutoConfiguration:
让 Spring Boot 依照使用所注脚的依附来对 Spring 框架进行自动配置,日常加在主类上。

@AutoWired:
byType格局。把布署好的Bean拿来用,完结质量、方法的创设,它可以对类成员变量、方法及构造函数进行注解,实现机关装配的做事。
当加上(required=false)时,固然找不到bean也不报错。

@Qualifier:
当有多少个一律类别的Bean时,能够用@Qualifier("name")来钦定。与@Autowired同盟使用

@Resource(name="name",type="type"):
从未括号Nene容的话,默许byName。与@Autowired干类似的事。

 

@RequestMapping:

RequestMapping是三个用来管理必要地址映射的疏解,可用于类或艺术上。用于类上,表示类中的全数响应哀告的方法都以以该地点作为父路线。
该注脚有多个属性:
params:钦赐request中必需含有有些参数值是,才让该格局管理。
headers:钦定request中必需包罗有些钦命的header值,本事让该格局处理央浼。
value:内定哀告的骨子里地址,钦点的地址能够是URAV4I Template 格局
method:钦命必要的method类型, GET、POST、PUT、DELETE等
consumes:钦赐处理诉求的交给内容类型(Content-Type),如application/json,text/html;
produces:钦命重返的原委类型,仅当request诉求头中的(Accept)类型中带有该钦点项目才回去

@RequestParam:
用在格局的参数前边。
@RequestParam String a =request.getParameter("a")。

@PathVariable:

路径变量。参数与大括号里的名字同样要一律。

RequestMapping("user/get/mac/{macAddress}")
public String getByMacAddress(@PathVariable String macAddress){
  //do something;
}

 

@Profiles
Spring Profiles提供了一种隔断应用程序配置的点子,并让这个安顿只好在特定的景况下生效。
其余@Component或@Configuration都能被@Profile标志,进而限制加载它的机遇。

@Configuration
@Profile("prod")
public class ProductionConfiguration {
    // ...
}

 

@ConfigurationProperties
Spring Boot将尝试校验外界的配备,默许使用JS昂科拉-303(借使在classpath路径中)。
您能够轻便的为您的@ConfigurationProperties类加多JSOdyssey-303 javax.validation约束声明:

图片 1

@Component
@ConfigurationProperties(prefix="connection")
public class ConnectionSettings {
@NotNull
private InetAddress remoteAddress;
// ... getters and setters
}

图片 2

 

全局十一分管理

@ControllerAdvice:
包蕴@Component。能够被围观到。
集结管理非常。

@ExceptionHandler(Exception.class):
用在艺术方面表示遇见这些这几个就施行以下措施。

 

 

 

快快生成demo

MainConfig注明配置中追加@Import声明如下:

@RestController:

@Import({Square.class,Circular.class})@Configurationpublic class MainConfig 

用来申明调整层组件(如struts中的action),富含@Controller和@ResponseBody。

 

@ResponseBody:

AnnotationConfigApplicationContext applicationContext2 = new AnnotationConfigApplicationContext(MainConfig.class);String[] beanNames = applicationContext2.getBeanDefinitionNames();for(int i=0;i<beanNames.length;i++){    System.out.println("bean名称为==="+beanNames[i]);}

代表该方法的回到结果一贯写入HTTP response body中

运营结果:

诚如在异步获取数据时采纳,在运用@RequestMapping后,再次回到值经常解析为跳转路线,加上@responsebody后归来结果不会被解析为跳转路线,而是向来写入HTTP response body中。举例异步获取json数据,加上@responsebody后,会间接重回json数据。

bean名称为===mainConfigbean名称为===com.zhang.bean.Squarebean名称为===com.zhang.bean.Circular

@Component:

@RequestMapping

泛指组件,当组件倒霉归类的时候,大家得以行使那几个表明实行评释。

其一证明能够用来类和章程上,用于类上,表示父路线,如类上是demo,方法上是/demo1,那么访问路线就是demo/demo1

@ComponentScan:

该评释有五个属性:
params:钦定request中必须满含有些参数值是,才让该措施管理。
headers:钦点request中必得带有有些内定的header值,才具让该措施处理央求。
value:钦定央浼的莫过于地址,钦赐的地方能够是URubiconI Template 方式
method:钦命诉求的method类型, GET、POST、PUT、DELETE等
consumes:钦定管理诉求的付出内容类型(Content-Type),如application/json,text/html;
produces:内定重返的剧情类型,仅当request伏乞头中的类型中隐含该钦命项目才回来

零件扫描。个人了解相当于,倘使扫描到有@Component @Controller @Service等那么些注脚的类,则把这么些类注册为bean。

@PathVariable

@Configuration:

对应路径上的变量,用在参数前,路线上的变量名需和参数名称一致

提议该类是 Bean 配置的信息源,约等于XML中的,通常加在主类上。

RequestMapping("demo/demo1/{name}")public String say(@PathVariable String name){  }

@Bean:

@RequestHeader

也正是XML中的,放在方法的上边,并非类,意思是发出二个bean,并提交spring管理。

@ApiOperation(value = "更新用户", notes = "更新用户")@PutMapping("/user/updateUser")public void updateUser(@RequestHeader("Authorization") String authorization);

@EnableAutoConfiguration:

@RequestParam

让 Spring Boot 遵照使用所证明的凭仗来对 Spring 框架举办机动配置,平时加在主类上。

和以下代码的机能一样

@AutoWired:

String name =request.getParameter。

byType方式。把计划好的Bean拿来用,完结质量、方法的建立,它能够对类成员变量、方法及构造函数实行标明,实现机关装配的行事。

@RequestBody

当加上(required=false)时,固然找不到bean也不报错。

是指方法参数被绑定到HTTP须求Body上,前端就无法用表单的秘诀提交了,必要用json的秘技交给。

@Inject:等价于暗中认可的@Autowired,只是未有required属性;

@RequestMapping(value = "/something", method = RequestMethod.PUT)
public void handle(@RequestBody String body,@RequestBody User user){
//能够绑定自定义的目的类型
}

@Qualifier: 当有八个一律体系的Bean时,能够用@Qualifier来内定。与@Autowired合作使用

@ResponseBody

TAG标签:
版权声明:本文由www.129028.com-澳门金沙唯一官网www129028com发布于编程新闻,转载请注明出处:经过导入的法子贯彻把实例参加springIOC容器中,