标签:耦合 ioc 处理 设计模式 containe contain 常见问题 必须 通过
导师终于肯放手让我做项目了!!!
作为一个初出茅庐的小牛犊,以下内容只是作为对自己浅薄匮乏小脑袋瓜的补充,并还在不断完善中。。。打算接下来学习设计模式,并会逐步把进度同步在这里哒~~~
将 Controller
的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到HTTP 响应(Response)对象的 body 中,通常用来返回 JSON 或者 XML 数据,返回 JSON 数据的情况比较多。
@RestController
只返回对象,对象数据直接以 JSON 或 XML 形式写入 HTTP 响应(Response)中,这种情况属于 RESTful Web服务。
用在类上,该注解将一个Controller(Class)标注为一个swagger资源(API)。在默认情况下,Swagger-Core只会扫描解析具有@Api注解的类,而会自动忽略其他类别资源(JAX-RS endpoints,Servlets等等)的注解。该注解包含以下几个重要属性:
目的:均为注册bean到Spring容器中。
@Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。通过类路径扫描来自动侦测以及自动装配到Spring容器中。
@Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑。
当我们引用第三方库中的类需要装配到Spring容器时,只能通过@Bean来实现
//这里只能用@Bean
@Bean
public OneService getService(status) {
case (status) {
when 1:
return new serviceImpl1();
when 2:
return new serviceImpl2();
when 3:
return new serviceImpl3();
}
}
控制反转(Inversion of Control) 是依赖倒置原则的一种代码设计的思路。具体采用的方法就是所谓的依赖注入(Dependency Injection)。以汽车,车身,底盘,轮胎举例。
把后端项目分为 Service层(处理业务)、Dao层(数据库操作)、Entity层(实体类)、Controller层(控制层,返回数据给前台页面)。
DispatcherServlet
。DispatcherServlet
根据请求信息调用 HandlerMapping
,解析请求对应的 Handler
。Handler
(也就是我们平常说的 Controller
控制器)后,开始由 HandlerAdapter
适配器处理。HandlerAdapter
会根据 Handler
来调用真正的处理器开处理请求,并处理相应的业务逻辑。ModelAndView
对象,Model
是返回的数据对象,View
是个逻辑上的 View
。ViewResolver
会根据逻辑 View
查找实际的 View
。DispaterServlet
把返回的 Model
传给 View
(视图渲染)。View
返回给请求者(浏览器)BeanFactory
、ApplicationContext
创建 bean 对象。jdbcTemplate
、hibernateTemplate
等以 Template 结尾的对数据库操作的类,它们就使用到了模板模式。Controller
。就H2而言,只要Spring Boot在类路径中看到H2,它就会自动配置类似于下面所示的数据源:
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
//序列化
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("d:/flyPig.txt")));
oos.writeObject(flyPig);
System.out.println("FlyPig 对象序列化成功!");
oos.close();
//反序列化
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("d:/flyPig.txt")));
FlyPig person = (FlyPig) ois.readObject();
System.out.println("FlyPig 对象反序列化成功!");
标签:耦合 ioc 处理 设计模式 containe contain 常见问题 必须 通过
原文地址:https://www.cnblogs.com/gongzi-blog/p/12221958.html