J-practice / ProjectTest

0 stars 0 forks source link

11.10 #8

Open Livier18 opened 2 years ago

Livier18 commented 2 years ago

0、注解原理 1)@Bean、@Autowired 2)@Configuration、@RestController、@Service 1、命令行-git-不同情况

2、maven 1)依赖 树形结构管理 2)maven管理 3、Apifox

Livier18 commented 1 year ago

1、@Component定义一个bean对象 image

@Component与@Controller/@Service/@Repository作用一样只是为了区分出这个类是属于表现层业务层还是数据层的类。 2、纯注解开发 @Configuration注解用于设定当前类为配置类 @ComponentScan注解用于设定扫描路径,此注解只能添加一次,多个数据用数组格式 image

Livier18 commented 1 year ago

3、依赖注入 @Autowired 自动装配 默认按类型注入 为引用类型属性设置值 1)当根据类型在容器中找到多个bean,注入参数的属性名又和容器中bean的名称不一致,这个时候使用到@Qualifier来指定注入哪个名称的bean对象。@Qualifier注解后的值就是需要注入的bean的名称。 注意:@Qualifier不能独立使用,必须和@Autowired一起使用 2)简单数据类型注入,使用@value。使用方法: ①在配置类使用注解加载properties配置文件@PropertySource("jdbc.properties") ②使用@Value读取配置文件中的内容@Value("${name}")

Livier18 commented 1 year ago

4、@Bean 告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。 https://www.cnblogs.com/cxuanBlog/p/11179439.html

Livier18 commented 1 year ago

5、@Service 用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要再在applicationContext.xml文件定义bean了。在调用该service的时候只需要将该类注入接口中即可。 @Service("serviceName")相当于applicationContext.xml配置文件中配置的,表示给当前类命名一个别名,方便注入到其他需要用到的类中。 image

Livier18 commented 1 year ago

6、@RestController的作用等同于@Controller + @ResponseBody 1)@Controller:表明了这个类是一个控制器类 2)@ResponseBody: ①表示方法的返回值直接以指定的格式写入Http response body中,而不是解析为跳转路径。 ②格式的转换是通过HttpMessageConverter中的方法实现的,因为它是一个接口,因此由其实现类完成转换。 ③如果要求方法返回的是json格式数据,而不是跳转页面,可以直接在类上标注@RestController,而不用在每个方法中标注@ResponseBody,简化了开发过程。

Livier18 commented 1 year ago

7、@RequestMapping 作用:将请求和处理请求的控制器方法关联起来,建立映射关系。

派生注解: 处理get请求的映射 —> @GetMapping 处理post请求的映射 —> @PostMapping 处理put请求的映射 —> @PutMapping 处理delete请求的映射 —> @DeleteMapping

https://blog.csdn.net/weixin_44741023/article/details/119808641?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166875712116800182180645%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166875712116800182180645&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-119808641-null-null.142^v65^pc_rank_34_queryrelevant25,201^v3^add_ask,213^v2^t3_control1&utm_term=%40RequestMapping&spm=1018.2226.3001.4187

Livier18 commented 1 year ago

XML配置与注解配置对比 image

Livier18 commented 1 year ago

8、@Mapper