最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

Springboot web,三层架构, IOC&DI 使用总结2023 关注

来源:博客园

Springboot web,三层架构, IOC&DI 使用总结2023

一.spring.io 全家桶spring bootspring framework 基础框架,配置繁琐,入门难度大--》spring bootspring cloudspring securityspring data

spring发展到今天是一个生态圈,提供了若干个子项目,每个子项目用于完成特定的功能。


(资料图片仅供参考)

二.spring bootspring 配置繁琐,入门难度大--》spring boot:快速的构建应用程序,简化开发,提供效率。1.web入门1.1spring initializr +web spring 模块1.2请求处理类:@RestController

@RestController public class HelloController{   @RequestMapping("/hello")   public String hello(){     return "hello";   } }

1.3 http://localhost:8080/hello2.http协议3.web服务器tomcat

三. 请求响应:

@RestController--@ResponseBody@RequestMapping("/hello")

1.统一返回结果格式:Restlt(code,msg,data)

2.读取项目里的文件:

String file=this.getClass().getClassLoader().getResource("emp.xml").getFile(); #读取本地项目里的文件List empList XmlParserUtils.parse(file,Emp.class);empList.stream().forEach(emp->{  String gender=emp.getGender();  if("1".equals(gender)){  emp.setGender("男“);  }});

3.静态资源访问:resouce/static/test.htmllocalhost:8080/test.html

四.三层架构1.分层解耦:数据访问,逻辑处理,接收请求,响应数据controller:接收请求,响应数据service:逻辑处理Dao:数据访问:增删改查面向接口编程:

2.IOC&DI :高内聚:单一任务;低耦合:解除调用层之间的联系--》将需调用的对象放到容器里3.IOC:控制反转,对象的创建控制权有程序自身转移到外部(容器),这种思想称为控制反转;4.DI:容器为应用程序提供运行时所依赖的资源,程为依赖注入;

5.@Component #类添加此特性注解:表示将当前类交给IOC容器管理,称为IOC容器中的bean 即控制反转操作6.@Autowired #调用声明的对象上添加此特性注解(orderService,userService):表示IOC容器会提供该类的bean对象,并赋值给该变量,称为依赖注入。

7.@Component 声明bean的基础注解:的衍生注解:@Controller 标注在控制器的类上@Service 标注在业务类上@Repository 标注在数据访问类上

8.手动指定扫描包:@ComponentScan("","")9.@SpringBootApplication 默认扫描此类包下的所有类的包;

  1. 多个服务添加了@Service注解,调用时使用那一个对象;@Primary #在类上添加这个注解@Qualifier #在声明的对象上添加:@Qualifier(“orderServiceA bean的名称”)+@Autowired@Resource #在声明的对象上添加:@Resource(name=“orderServiceA bean的名称”) 不需要 @Autowired

11.@Autowired 与@Resource的区别?spring框架提供的注解,JDK提供的注解;安照类型注入,按照名称注入。

关键词: