spring总结之一
Posted shijinglu2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring总结之一相关的知识,希望对你有一定的参考价值。
###spring
1.概念:开源,轻量级,简化开发的企业级框架。
开源:免费,发展快。
轻量级:占内存小。
简化开发:通用的功能封装,提高程序员的开发效率。
------------------------------------------------------------------
2.特点:
1)简化开发,提高开发效率
2)解耦
3) 集成第三方优秀的框架
------------------------------------------------------------------
###spring容器(IOC容器)
Spring容器:Spring容器装bean对象的。
Bean:能创建对象的类
开发步骤:
1)创建maven
2) 添加一个web.xml
3) 添加tomcat
4) 在pom里面添加.jar包(spring-webmvc包 junit包)
Spring-webmvc junit <dependencies> <!-- spring 的依赖jar包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- junit测试jar包 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies>
5)写一个bean类(一个能创建对象的类)
package cn.tedu.spring.bean ;
public class HelloSpring{ public void sayHello(){ System.out.println("Hello Spring!"); } }
6)通过配置文件把bean交给容器
把配置文件application.xml文件放到resources文件夹下面。
<bean id="hello" class="cn.tedu.spring.bean"/>
7)从spring容器中获取bean
a)获取容器对象
AbstractApplicationContext ac =
new ClassPathXmlApplicationContext("application.xml");
b)从容器中获取bean对象
//getBean方法的第一个参数:表示配置文件中的id名
//...第二个参数:表示该类的Class类型的对象
HelloSpring hello =
ac.getBean("hello",HelloSpring.class);
hello.sayHello();
8)关闭容器
ac.close();
说明:测试类中用的较多。(单元测试)
------------------------------------------------------------------
###spring管理bean对象的三种方式(面试题)
1.用无参的构造方法创建对象。(重点)
<bean id="配置文件中的id名" class="包名.类名";
2.使用静态工厂实例化对象(了解)
静态工厂方法:使用静态方法获取对象的模式,叫静态工厂实例化对象
Calendar c = Calendar.getInstance();
<bean id="c" class="java.util.Calendar"
factory-method="getInstance"/>
3.使用实例工厂方法实例化对象(了解)
cn.tedu.spring.bean
public class BeanFactory{
public Calendar getC(){
return Calendar.getInstance();
}
}
先创建对象,然后调用方法
<bean id="factory" class="cn.tedu.spring.bean.BeanFactory"/>
<bean id="c1" factory-method="getC"
factory-bean="factory"/>
------------------------------------------------------------------
### Bean的生命周期
生命周期:从创建到销毁过程,叫生命周期
public class BeanLife{
public BeanLife(){
......("BeanLife");
}
public void init(){
......("init");
}
public void destroy(){
......("destroy);
}
}
<bean id="beanLife" class="xx.xx.BeanLife"
init-method="init"
destroy-method="destroy"/>
以上是关于spring总结之一的主要内容,如果未能解决你的问题,请参考以下文章
《深入实践Spring Boot》阅读笔记之一:基础应用开发
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段