2020java微服务架构六之springboot教程
一、SpringBoot介绍
SpringBoot是由pivotal团队研发的,SpringBoot不是一门新技术,只是将之前的Spring,SpringMVC,data-jpa等常用的框架封装到了一起,帮助你隐藏这些框架的整合细节,实现敏捷开发。
SpringBoot就是一个工具集。
SpringBoot的特点:
1.SpringBoot项目不需要模板化的配置
2.SpringBoot中整合第三方框架时,只需要导入相应的starter依赖包,就自动整合了
3.SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用.java文件去编写配置信息
4.SpringBoot工程在部署时,采用的是jar包方式,内部自动依赖Tomcat容器,提供了多环境的配置
5.后期要学习的微服务框架SpringClound需要建立在SpringBoot的基础上 (更多…)
2020javaweb教程之高级框架SpringMVC
一.开发流程
1.导入依赖:spring-webmvc
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.6.RELEASE</version> </dependency>
2.配置核心(前端)控制器
2020java框架教程之springMVC工作原理
SpringMVC工作原理
SpringMVC流程
1、 用户发送请求至前端控制器DispatcherServlet。
2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。
(更多…)
2020java框架教程之spring的原生API
原生API:servlet环境中的一些有用的对象
HttpServletRequest
HttpServletResponse
HttpSession
Reader
Writer
InputStream
OutputStream
java.security.Principal
一:配置servlet环境
eclipse:
方式一:
在项目上右键–>properties(添加buildpath):
Project Facets–>Runtimes–>Apache Tomcat
方式二:
(更多…)
2020java框架教程之spring处理模型数据
1.使用entity将数据从页面传递到 controller
绑定参数
entity:
User:
String username,String password,Integer age,String email,Address address
Address:
String addr,String zipCode
JSP:
(更多…)
202java框架教程之springMVC常见注解
1.@RequestMapping的位置
@RequestMapping(“/uri”)
@Controller @RequestMapping("/hello") public class HelloWorld { @RequestMapping("/world") public String helloworld(){ System.out.println("hello world"); return "helloworld"; } }
2.@RequestMapping的请求方式
POST形式:@RequestMapping(value = “/world”,method = RequestMethod.POST)
GET形式:@RequestMapping(value = “/world”,method = RequestMethod.GET)
如果不指定method,那么可以接受任何类型的请求。
如果请求方式不对,则报405错误
(更多…)
2020java框架教程之springMVC入门
1.创建web项目
2.导包:
如果不导包,可以使用依赖
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.2.8.RELEASE</version> </dependency> </dependencies>
3.配置web.xml文件
2020java框架教程之spring第二章总结
定义配置:
@Configuration
@ComponentScan(注解扫描)
定义组件:
@Component
@Autowired(自动装配)
@Autowired(required=false)
自动装配歧义性
@Primary
@Qualifier
@Resource
分层架构中定义组件
2020java框架教程:spring注解以及整合Junit
1.创建web项目
2.导包
3.导入配置文件log4j.properties
4.添加容器以及配置注解扫描:applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--配置注解扫描,指定要扫描的包 --> <context:component-scan base-package="entity"/> </beans>
5.配置注解扫描
<!–配置注解扫描,指定要扫描的包 –>
<context:component-scan base-package=”entity”/>
整合junit测试
1.导入spring-test包
2.创建实体类
在类的上方添加注解
@Component("users") 适用于所有组件 @Repository("users") 适用于持久层 @Service("users") 适用于service层 @Controller("users") 适用于控制层
等同于<bean name=”name” class=”entity.Users” />
3.创建测试类
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext.xml") public class RunWithTest { @Resource(name = "users") private Users users; @Test public void test(){ System.out.println(users); } }
4.指定对象的作用域是否是单例还是多例
@Scope(scopeName = "singleton") //二选一 @Scope(scopeName = "prototype")
5.set方式注入value值
a.在私有成员变量中注入
//注入 @Value("1") private int id; @Value("admin") private String name; @Value("5200") private double salary; @Autowired private Car car;
b.在set方法注入
6.自动装配
@AutoWired
使用@AutoWired进行自动装配,按照对象的类型进行自动装配
@Component public class Car { @Value("摩拜单车") private String name; @Value("black") private String color; }
public class Users { @Autowired 自动装配 private Car car; }
自动装配存在的问题:如果一个类型有多个对象,那么可以采用以下的方式
先在配置文件中添加
<bean name="car1" class="entity.Car"> <property name="name" value="保时捷"/> <property name="color" value="red"/> </bean> <bean name="car2" class="entity.Car"> <property name="name" value="捷达"/> <property name="color" value="white"/> </bean>
A.使用@Qualifier指定具体的对象
@Autowired @Qualifier("car1") private Car car;
B.使用 @Resource 指定具体的对象
@Autowired @Resource(name="car2") private Car car;
7.初始化方法和销毁方法
@PostConstruct public void init(){ System.out.println("初始化"); } @PreDestroy public void destroy(){ System.out.println("销毁"); }
2020javaweb教程:MVC架构
MVC概念:
MVC是一种软件工程中的一种设计模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),即为MVC
MVC模式详解
控制器Controller:控制器即是控制请求的处理逻辑,对请求进行处理,负责请 求转发和重定向
视图View:视图即是用户看到并与之交互的界面,比如HTML(静态资源),JSP(动态资源)等等
模型Model:模型代表着一种企业规范,就是业务流程/状态的处理以及业务规则的规定。
(更多…)