Spring-----入门
Spring 入门
一、首先导入核心jar包
commons-logging-1.1.3.jar 日志
spring-beans-4.2.4.RELEASE.jar bean节点
spring-context-4.2.4.RELEASE.jar spring上下文节点
spring-core-4.2.4.RELEASE.jar spring核心功能
spring-expression-4.2.4.RELEASE.jar spring表达式相关表
二、核心配置文件
Spring配置文件:applicationContext.xml 一般都写这个文件名
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-4.2.xsd"> <!--IOC: inverse of Control 控制反转:把创建对象的权利给spring容器
class:指明需要创建对象的类名和包名
spring通过反射来创建对象,默认使用newInstance()来创建对象
所以需要类中必须定义空参构造方法
--> <bean name="userService" class="com.luo.ioc.UserServiceImpl"></bean> </beans>
创建一个对象类接口及实现它的类
package com.luo.ioc; public interface UserService { void addUser();
} package com.luo.ioc; public class UserServiceImpl implements UserService { @Override
public void addUser() {
System.out.println("Spring ioc 控制反转我来啦");
}
}
测试类:
package com.luo.test; import com.luo.ioc.UserService;
import com.luo.ioc.UserServiceImpl;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test_ioc { @Test
public void test1(){
//测试ioc 控制反转
String path="applicationContext_ioc.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(path);
UserService userService = (UserService) applicationContext.getBean("userService");
userService.addUser();
}
}
Spring中的API:
applicationContext:在加载spring配置文件时候创建对象
ClassPathXmlApplicationContext:加载classPath下的spring配置文件(正常人都用这个)
FileSystemXmlApplicationContext:根据文件的路径加载,不要求必须在项目的src下
BeanFactory:在加载配置文件的时候不创建对象 (基本不用了)
测试类:
测试 ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext @Test
public void test1(){
//测试ioc 控制反转
String path="applicationContext_ioc.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(path);
UserService userService = (UserService) applicationContext.getBean("userService");
userService.addUser();
} @Test
public void test2()
{ //C:\Users\qq\IdeaProjects\bean0.xml //spring的配置文件没有放在类路径下
ApplicationContext context=new FileSystemXmlApplicationContext("bean0.xml"); UserService userService=(UserService) context.getBean("userId"); userService.addUser();
} 测试BeanFactory
@Test
public void test1(){
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationContext_api.xml"));
UserService userService =(UserService) factory.getBean("userService");
userService.addUser();
}
用到的接口和类的代码如下:就写个依赖注入的 其他的都一样的 就不写了
//Dao层接口 package com.luo.di; public interface UserDao { void addUser();
} //Dao层实现类 package com.luo.di; public class UserDaoImpl implements UserDao{
@Override
public void addUser() {
System.out.println("spring di 依赖注入 我来啦");
}
} //Service接口
package com.luo.di; public interface UserService { void addUser();
} //ServiceImpl接口实现Service接口 package com.luo.di; public class UserServiceImpl implements UserService { //需要UserDao
private UserDao userDao; public UserDao getUserDao() {
return userDao;
} public void setUserDao(UserDao userDao) {
this.userDao = userDao;
} @Override
public void addUser() { userDao.addUser();
}
}
依赖注入的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-4.2.xsd"> <!--依赖注入--> <bean name="udImpl" class="com.luo.di.UserDaoImpl"></bean>
<bean name="usImpl" class="com.luo.di.UserServiceImpl">
<property name="userDao" ref="udImpl"></property>
</bean>
</beans>
ref : 引用
Spring-----入门的更多相关文章
- Spring入门学习(一)
SpringMVC基础平台补充(2016.03.03) 如果想要开发SpringMVC,那么前期依次安装好:JDK(jdk-8u74-windows-x64,安装后配置环境变量JAVA_HOME和CL ...
- Spring入门(10)-Spring JDBC
Spring入门(10)-Spring JDBC 0. 目录 JdbcTemplate介绍 JdbcTemplate常见方法 代码示例 参考资料 1. JdbcTemplate介绍 JdbcTempl ...
- Spring入门(9)-AOP初探
Spring入门(9)-AOP初探 0. 目录 什么是面向切面编程 AOP常见术语 AOP实例 参考资料 1. 什么是面向切面编程 Aspect Oriented Programming(AOP),即 ...
- Spring入门(8)-基于Java配置而不是XML
Spring入门(8)-基于Java配置而不是XML 本文介绍如何应用Java配置而不是通过XML配置Spring. 0. 目录 声明一个简单Bean 声明一个复杂Bean 1. 声明一个简单Bean ...
- Spring入门(7)-自动检测Bean
Spring入门(7)-自动检测Bean 本文介绍如何自动检测Bean. 0. 目录 使用component-scan自动扫描 为自动检测标注Bean 1. 使用component-scan自动扫描 ...
- Spring入门(6)-使用注解装配
Spring入门(6)-使用注解装配 本文介绍如何使用注解装配. 0. 目录 使用Autowired 可选的自动装配 使用Qualifier选择 1. 使用Autowired package com. ...
- Spring入门(5)-自动装配Bean属性
Spring入门(5)-自动装配Bean属性 本文介绍如何装配Bean属性. 0. 目录 ByName ByType constructor 默认自动装配 混合使用自动装配和显示装配 1. ByNam ...
- Spring入门(4)-注入Bean属性
Spring入门(4)-注入Bean属性 本文介绍如何注入Bean属性,包括简单属性.引用.内部Bean.注入集合等. 0. 目录 注入简单值 注入引用 注入内部Bean 装配集合 装配空值 使用命名 ...
- Spring入门(3)-Spring命名空间与Bean作用域
Spring入门(3)-Spring命名空间与Bean作用域 这篇文章主要介绍Spring的命名空间和Bean作用域 0. 目录 Spring命名空间 Bean作用域 1. Spring命名空间 在前 ...
- Spring入门(2)-通过构造器注入Bean
Spring入门(2)-通过构造器注入Bean 前一篇文章将了最基本的spring例子,这篇文章中,介绍一下带有参数的构造函数和通过构造器注入对象引用. 0. 目录 带有参数的构造函数 通过构造器注入 ...
随机推荐
- 利用python抓取页面数据
1.首先是安装python(注意python3.X和python2.X是不兼容的,我们最好用python3.X) 安装方法:安装python 2.安装成功后,再进行我们需要的插件安装.(这里我们需要用 ...
- 外星人入侵游戏(python代码)
https://github.com/ehmatthes/pcc/tree/master/chapter_12/images
- js 获取链接参数的方法
方法1: /** * 获取链接上的参数 * string 需要获取的参数名称 */ var getHref = function(string){ var reg = new RegExp(" ...
- Native App自动化测试及Appium框架介绍
一 自动化工具简介 1 Appium : 开源,跨平台的自动化测试工具,用于测试Native(原生)和Hybrid(混合)应用,支持IOS/Android/FirefoxOS 平台. 2 环境 : ...
- matlab 入门
---恢复内容开始--- 1.cast表示将元素转化成对应的ASCII值 如cast('hellothere','uint8')输出结果为104 101 108 108 111 116 104 101 ...
- redis序列化
private void setSerializer(StringRedisTemplate template) { Jackson2JsonRedisSerializer jackson2JsonR ...
- Git仓库删除大文件
Git仓库删除大文件 背景 当用Git久了,难免会手误或临时添加一些大文件到仓库中,即使以后添加进了.gitignore,甚至做了git rm,但是Git为了保证版本可回退,history pack里 ...
- 网球pt站 T3nnis 情况说明
网球收藏爱好者们一定知道这个站,网球界的海德堡. 但想进的人发现没什么办法.满世界的找门路.那我说一下具体的情况吧. ************************************ 更新:现 ...
- 金蝶K3常用数据表
金蝶K3WISE常用数据表 K3Wise 14.2 清空密码update t_User set FSID=') F ", ,P T #8 *P!D &D 80!N &@ &l ...
- eclipse运行项目,tomcat报错:Exception in thread :http-bio-8080-exec-4
eclipse运行项目,tomcat报错:Exception in thread :http-bio-8080-exec-4 转自 https://www.cnblogs.com/yby-blogs/ ...