初识Spring框架,IoC容器基本原理及定义
来源:互联网 发布:上海网络整合营销公司 编辑:程序博客网 时间:2024/06/04 11:46
初识Spring框架,IoC容器基本原理及定义
Spring 简介:
轻量级框架,javaEE的春天,当前主流框架
“一站式”的企业应用开发框架
Spring内容:
IoC容器
AOP实现
数据访问支持
简化JDBC/ORM框架
声明式事务
Web集成
Spring设计理念
Spring是面向Bean的编程
Spring两大核心技术
控制反转(IoC:Inversion of Control)/依赖注入(DI: Dependency Injection)
面向切面编程(AOP:Aspect Oriented Programming)
Spring的优点:
低侵入式设计
独立于各种应用服务器
依赖注入特性将组件关系透明化,降低了耦合度
面向切面编程特性允许将通用任务进行集中式处理
与第三方框架的良好整合
IoC的定义和原理
什么是控制反转:
将组件对象的控制权从代码本身转移到外部容器
组件化的思想:分离关注点,使用接口,不再关注实现
工厂模式:返回根据我们提供的我们所需的对象实例的描述,为我们返回所需要的产品
1.产品的规范
2.产品
3.工厂
4.客户端/调用者
定义IoC的步骤
1.导入jar包
2.创建主类
package demo;/** * 第一个Spring,输出“Hello,Spring!” * @author Bryce * */public class HelloSpring { //定义who属性,该属性的值将通过Spring框架进行设置 private String who = null; /** * 定义打印方法,输出一句完整的问候 */ public void print(){ System.out.println("Hello," + this.getWho() + "!"); } /** * 获取who * @return who */ public String getWho() { return who; } public void setWho(String who) { this.who = who; }}
3.配置日志文件,为项目添加log4j.propertices文件
# rootLogger是所有日志的根日志,修改该日志属性将对所有日志起作用# 下面的属性配置中,所有日志的输出级别是info,输出源是conlog4j.rootLogger=info,con# 定义输出源的输出位置是控制台log4j.appender.con=org.apache.log4j.ConsoleAppender# 定义输出日志的布局采用的类log4j.appender.con.layout=org.apache.log4j.PatternLayout# 定义日志输出布局log4j.appender.con.layout.ConversionPattern=%d{MM-dd HH:mm:ss}[%p]%c%n -%m%n
4.编写Spring配置文件(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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <!-- 通过bean元素声明需要Spring创建的实例。该实例的类型通过class属性指定,并通过id属性为该实例指定一个名称,以便在程序中使用 --> <bean id="helloSpring" class="cn.springdemo.HelloSpring"> <!-- property元素用来为实例的属性赋值,此处实际是调用setWho()方法实现赋值操作 --> <property name="who"> <!-- 此处将字符串"Spring"赋值给who属性 --> <value>Spring</value> </property> </bean></beans>
5.测试
package test;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import demo;public class HelloSpringTest { @Test public void helloSpring() { // 通过ClassPathXmlApplicationContext实例化Spring的上下文 ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml"); // 通过ApplicationContext的getBean()方法,根据id来获取bean的实例 HelloSpring helloSpring = (HelloSpring) context.getBean("helloSpring"); // 执行print()方法 helloSpring.print(); }}
阅读全文
0 0
- 初识Spring框架,IoC容器基本原理及定义
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring IOC容器基本原理
- Spring框架IOC容器
- Spring框架核心技术--IOC容器
- Spring框架的IOC容器
- Spring--IOC及Bean容器
- IOC容器的基本原理
- 半夜写代码之:APP 的 Form 的释放
- Going Home HDU
- python3第三方使用smtp发送邮件附带xlsx文件【已解决中文名报错】
- RTC 2017实时互联网大会会议总结、数据收集
- Android开发之自定义的ListView
- 初识Spring框架,IoC容器基本原理及定义
- ExecutorService中submit和execute的区别
- 一只快乐的小猿人
- 如何高效的懒加载多个JS文件
- 声音的数字化表示
- 20171024
- XML学习05-Java中SAX方式解析XML文件
- 腾讯内推面试基本情况
- 排列组合 概率 贝叶斯理解