Spring 学习之路 内容仅供参考,便于自己理解用 (不对之处还请指教)
Spring 学习日志
1.1简介:给开发带来简便
使现在的技术变得更加易用,整合现有的技术框架
SSH stuact2+Spring+Hibernate
SSM SpringMVC+Spring+mybatis
1.2优点:
1.Spring 开源免费框架
2.轻量级,非入侵的框架(非入侵:不会改变自身代码)
3.控制反转(IOC)和面向切面(AOP)
4.支持事物的处理对框架的整合的支持
总结:Spring 是一个轻量级控制反转(IOC)和面向切面(AOP)的编程框架
1.3组成
7大模块
1.4拓展
Sspring BOOT(构建一切)——>Spring cloud(协调一切)——>Spring cloud()connect(连接一切)
Spring boot 快速协调开发脚本,可快速开发单个微服务(约定大于配置)
Spring cloud 基于Spring boot
弊端:发展太久,违背理念,配置繁琐
二IOC理论推导(反转控制)
旧的编程方式,旧的思想《用户需求变了代码不易变动
原来:1.创建对象 2.创建实现类 3.创建业务逻辑 4.创建业务实现类
在原来的业务中,用户可能会影响我i们原来代码,我们要根据用户的需求区修改源代码。如果要修改,代价很大
IOC反转:将代码的主动权变成被动权,想调用那个就调用哪个
三、本质
四、
编写第一个Hello
- 导入spring 依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.8.RELEASE</version>
</dependency>
</dependencies>
User(interface)接口
package com.cuc.dao;
public interface UserDao {
void getUser();
}
Userimpl实现类
package com.cuc.dao;
public class UserDaoImpl implements UserDao {
public void getUser(){
System.out.println("获取用户信息!");
}
}
另外的接口实现类
ublic class UserDaoMysql implements UserDao {
public void getUser() {
System.out.println("mysql获取用户数据!");
}
}
Uservice 接口
package com.cuc.service;
public interface Uservice{
void getUser();
}
Uservice 接口实现类
public class Userviceimpl implements Uservice {
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void getUser() {
userDao.getUser();
}
}
重点:application 配置
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
">
<!--使用spring 来创建对象 在spring 这些都称为Bean(一个个bean)-->
<bean id="UserDaoImpl" class="com.cuc.dao.UserDaoImpl"/>
<bean id="UserDaoMysql" class="com.cuc.dao.UserDaoMysql"/>
<bean id="Userviceimpl" class="com.cuc.service.Userviceimpl">
<property name="userDao" ref="UserDaoMysql"></property>
</bean>
</beans>
配置文件xml文件(在reserouce)(bean.xml)
<beans >
<bean id=”容器名称” class=”包名(相当于new User)”
<property=”str (JavaBean的属性名)” value=”Spring (属性值(注意复制类型))”
</beans >
Test类
public class MyTest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");//获取容器名称
Userviceimpl userviceimpl = (Userviceimpl) context.getBean("Userviceimpl");
userviceimpl.getUser();
}
}
类型 (User) 变量名 =new 类型(User);
Hello hello=new Hello();
Id =变量名 class=new 对象
Property 相当于给对象中属性设置一值
自我理解:
Javabena的对象 通过set注入方式,注入到Spring 容器中
通过aplication .xml文件(配置如下)
<beans
<beasns id=”user(容器的名称) class=”com.cuc.dao.user”/>
<perproty name=”str” 属性名 value=|”spring (赋值给str)” Ref=”com.cuc.userviceimpl”(引向javabean:相当于一个山茶开关 可以控制走向)


浙公网安备 33010602011771号