170826-关于spring的知识点

1.Spring作用:

1.生态体系庞大,全能型选手!【springmvc是其一个子模块,jdbcTemplate能直接操作数据库!】

2.将其他组件粘合在一起

3.IOC容器和AOP[Aspect Oreinted Programming]:

Spring的Ioc[Inverse of Controller]机制(控制反转和依赖注入)正是用在此处。

Spring的Ioc(控制反转和依赖注入)

控制反转[Ioc]:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。

控制反转是一种思想,其具体实现就是依赖注入!

依赖注入[DI:Dependency Injection]:组件之间的依赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中。

2.IOC容器细节

1.使用IOC容器创建对象

2.使用IOC容器在创建对象的同时,给对象的属性赋值

3.在创建对象的过程中,实现组件对象之间的自动装配

3.搭建Spring IOC容器需要的开发环境

1.导入IOC容器需要的jar包

spring-beans-4.0.0.RELEASE.jar

spring-context-4.0.0.RELEASE.jar

spring-core-4.0.0.RELEASE.jar

spring-expression-4.0.0.RELEASE.jar

commons-logging-1.1.3.jar

2.创建Spring配置文件[Spring bean Configuration File]

4.实验

实验1:

<!--实验1:通过IOC容器创建对象,并为属性赋值  -->

<!-- 需要由IOC容器创建对象的全类名 -->

<!-- 为了便于从IOC容器中获取book对象,声明一个一个唯一的id值 -->

<bean id="book01" class="com.neuedu.spring.bean.Book">

<property name="bookId" value="2001"></property>

<property name="bookName" value="三国演义"></property>

<property name="author" value="罗贯中"></property>

<property name="price" value="22.5"></property>

</bean>

@Test

public void test01() {

//1.创建IOC容器自身的对象

//指定配置文件以类路径为基准的配置文件名

ApplicationContext ioc= new ClassPathXmlApplicationContext("bean.xml");

//2.从IOC容器中获取指定的对象

Object bean = ioc.getBean("book01");

System.out.println(bean);

}

注意:  ①IOC容器本身对象创建时,会将配置文件中配置好的bean先创建出来

②默认是单实例的,只创建bean的一个对象

③如果设置bean的scope属性为prototype,那么创建bean的对象就是多实例的,在获取的时候创建,每次获取对象都会创建新的

④.从IOC容器中获取对象

①根据bean的id获取

②根据bean的类型获取:要求容器中指定类型的bean是唯一的

bean的后置处理器:  1.指的是在bean的初始化方法前后执行操作的专门的对象。

2.自定义的后置处理器:

1)需要实现接口:org.springframework.beans.factory.config.BeanPostProcessor .

2) 做相应的配置就好!

实验2:通过p名称空间为bean赋值

实验3:测试bean的作用域,分别创建单实例和多实例的bean

创建bean

获取bean

结果和总结

实验4: IOC中bean对象的创建时机

构造函数

test中什么都没写

结果:

实验5:通过构造器为bean的属性赋值和通过index属性指定参数的位置

指定顺序时,按照从0开始的方式指定

不指定顺序时,默认按照实体类中的顺序

结果都一样:

实验6: 给bean的级联属性赋值

配置:

测试:

结果:

实验7.创建带有生命周期方法的bean

实体类中写上:

配置文件中的:

测试:

结果:

实验8.bean之间的依赖 depends-on=order被依赖的对象会先创建

tea依赖于stu:

结果:

实验9.通过继承实现bean配置信息的重用

测试:

结果:

这个结果说明:继承的时候,没有的属性会从被继承的那里得到

实验10

时间: 2024-10-19 03:00:37

170826-关于spring的知识点的相关文章

面试:Spring面试知识点总结

Spring知识点总结 1. 简介一下Spring框架. 答:Spring框架是一个开源的容器性质的轻量级框架.主要有三大特点:容器.IOC(控制反转).AOP(面向切面编程). 2. Spring框架有哪些优点?谈谈你的看法. 答:Spring框架主要有三大优点: (1) 容器.Spring框架是一个容器,能够管理项目中的所有对象. (2) IOC(控制反转).Spring将创建对象的方式反转了,从程序员自己创建反转给了程序. (3) AOP(面向切面).面向切面编程,简而言之,就是将纵向重复

Spring核心知识点

目录 Spring概述 依赖注入 Spring Beans Spring注解 Spring的对象访问 Spring面向切面编程 Spring MVC框架 Spring概述 1.什么是Spring? Spring是一个开源的Java EE开发框架.Spring框架的核心功能可以应用在任何Java应用程序中,但对Java EE平台上的Web应用程序有更好的扩展性.Spring框架的目标是使得Java EE应用程序的开发更加简捷,通过使用POJO为基础的编程模型促进良好的编程风格. 2.Spring有

Spring 入门知识点笔记整理

一.Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯. 2. 如何实现简化java开发的目标? 为了降低java开发的复杂性,spring主要采取以下4种关键策略: 基于POJO的轻量级和最小侵入性编程. 通过依赖注入和面向接口编程实现松耦合. 基于切面和惯例进

spring零碎知识点

1:spring是在启动spring容器时根据配置文件创建对象,不管是普通模式还是静态工厂模式还是实例工厂模式 2:spring懒加载 在配置对象时,添加 lazt-init 属性为 true  ,打开懒加载后,对象将在getBean()方法调用的时候创建,而不是在启动spring容器时.因为是在调用的时候创建,所以不能像非懒加载一样,能在spring容器启动时就检查配置文件是否存在错误 3:spring 默认情况下默认情况是单例的 即当多次getBean()调用的是同一个对象的时候,这些对象是

Spring相关知识点

1.注解@qualifier 只能注在属性上 作用:当一个接口有多个实现类时,用Autowired装配时,因为Autowired是按类型装配的(Resource按名称),所以多个实现类会出现冲突,这是就得配合qualifier 使用,qualifier里写的是两个实现类注入时的名称. 2.注解Scope Singleton:单例proptotype :每次new新对象 3.获取配置文件 ApplicationContext appCt = new ClassPathXmlApplicationC

Spring/SpringMvc知识点整理

1.spring加载资源的两个类:  ResourceBundleMessageSource:加载文件可用:xxx/xx.xml或者xxx.xx.xml  ReloadableResourceBundleMessageSource:加载文件必须使用:classPath:xxx/xx.xml[email protected]注解的方法会在Controller的其他方法执行之前执行3.springMvc返回的逻辑视图中 ./表示同级目录,../表示上一级目录4.springMvc在控制器之间的跳转:

spring boot 知识点

1. Spring Boot中application.yml与bootstrap.yml的区别 其实yml和properties文件是一样的原理,主要是说明application和bootstrap的加载顺序.且一个项目上要么yml或者properties,二选一的存在. Bootstrap.yml(bootstrap.properties)在application.yml(application.properties)之前加载,就像application.yml一样,但是用于应用程序上下文的引

spring boot 知识点1

spring boot: 1. 可以在pom文件中添加依赖sping-boot-properties-migrator来对项目进行升级,升级完成后,删除即可. 2. 关于日志的配置,参考:http://syllabus.lianmengtu.top/中关于日志的配置.可以显示日志所在行号对所有日志级别. 3. 可以在application.property文件 中配置Tomcat日志,显示每个请求,及请求响应时间. 4. 日志可以配合使用lombok的@Slf4j 注解,省去配置声明log的繁琐

Spring MVC 知识点记忆

1.Dao  用的 @Repository 2.Handler 用的 @Controller 3. @Autowired 消除了对get set方法 4. @RequestMapping(value="emp",method=RequestMethod.GET)  get方式请求方法为emp [email protected]  value的 user 要和map的键值对一致 当类上面有@SessionAttributes(value={"user"},types=