ssm第一天学习
SSM
· IOC
·AOP
初识Spring :
Spring全家桶
Spring Framework 底层框架,设计性框架
Spring Boot 加速开发,提高开发速度
Spring Cloud 分布式开发
Spring Framework系统架构
Spring Framework是Spring生态圈最基础的项目
· Core Container:核心容器
· Aspects: A OP思想实现
· AOP: 面向切面编程
· Data Access: 数据访问
· Data Integration: 数据集成
· Web: Web开发
· Test: 单元测试与集成测试
核心概念: IoC/DI,IoC容器,Bean
目标: 充分解耦
· IoC:(Inversion of Control)控制反转
解决耦合度偏高的问题,不再主动new产生对象,转为由外部提供对象
· Spring技术对IoC思想进行实现
· Spring提供一个容器,IoC容器来充当“外部” == Core Container
· IoC容器负责对象的创建,初始化等 被创建或者管理的对象在IoC中统称为Bean
· DI(Dependency Injection)依赖注入
· 在容器中建立bean和bean之间的依赖关系的整个过程,为依赖注入
最终效果:使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系
入门案例
定义在Spring管理的类(接口)
public interface BookDao {
public void save();
}
public class BookDaoImpl implements BookDao {
public void save(){
System.out.println("book dao");
}
}
建立maven依赖 ==== Spring环境
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
在Spring配置xml文件中配置bean
<!-- 2.配置bean-->
<bean id="bookDao" class="com.liuxin.dao.impl.BookDaoImpl"/>
calss配实现类,需要用它创建对象
id配一个名字
注意:bean定义时id属性在同一个上下文不能重复
在主方法中运行
public static void main(String[] args) {
//3.获取IoC容器
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");// 这里参数为配置的spring的xml文件名
//4.获取bean
BookDao bookDao = (BookDao) ctx.getBean("bookDao");
//5.调用bean对象方法
bookDao.save();
}
运行报错:不支持发行版本5
解决办法:设置 =》构建,执行,部署 =》java编译器 =》将目标字节码版本改为9
DI入门案例
-----基于上一个案例
public class BookServiceImpl implements BookService {
//删除业务层中使用new方法创建的dao对象
//private BookDao bookDao=new BookDaoImpl();
private BookDao bookDao;
public void save(){
System.out.println("book service");
bookDao.save();
}
//提供对应的set方法
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
}
配置service和dao的关系
<!-- 2.配置bean-->
<bean id="bookDao1" class="com.liuxin.dao.impl.BookDaoImpl"/>
<bean id="bookService" class="com.liuxin.service.impl.BookServiceImpl">
<!-- 7.置service和dao的关系-->
<property name="bookDao" ref="bookDao1"/>
</bean>
property标签表示配置当前bean的属性
name属性表示配置哪一个具体的属性 -----配实例的变量名
ref属性表示参照哪一个bean ------配id
bean配置
基本配置
别名配置
// id和name地位相同
bean作用范围配置
bean实例化
1.构造方法
调用的是无参构造方法
如果无参构造方法不存在,将抛出异常BeanCreationException
相关文章
- 写给即将学习编程的大学新生
- 多平台被质疑大数据杀熟 新技术不应跨越伦理界限
- Hadoop将死?Cloudera CEO怒怼Gartner
- Win10正式发布 微软推广人工智能背后的意图
- Win10发布在即 人工智能成为一种情怀
- Win10小冰来了 人工智能+操作系统的商业遐想
- 微软沈向洋:微软全面支持小冰发展
- 本周六与京东、微博、华为等实战专家与你共同探讨容器技术实践!
- 高德地图“零佣金 不营利” 上线公益顺风车
- “大数据杀熟”的套路都在这里了
- 支付类平台保障资金安全和稳定运行的技术难点和解决办法
- 大数据分析:正在进行云驱动的转变
- 微软会开源 Windows 吗?
- 程序员测一测这些软技能你都可以过关吗
- 想学编程并不难 这样做就可以了
- 写给即将学习编程的大学新生
- 如何成为一名数据科学家?或许你该听听这些知名数据科学家们给出的建议
- 年轻程序员需要学习的必备经验
- 想做程序员必须要学会这二十四个软技能
- 关于数据科学家面试的那些事儿