【SSH】Spring简介和应用
2016-04-24 21:30
597 查看
Spring简介
Spring是一个开源框架,轻量级的Java开发框架,是为了解决企业应用程序开发复杂性而创建的。Spring核心是IOC容器,具有控制反转的作用。IoC(控制反转):本来是由应用程序管理对象之间的依赖关系,现在交给了容器管理,即交给了IoC容器,Spring的IoC容器主要使用注入(DI)的方式实现的,不需要主动查找对象,对象的查找、定位和创建全部交给容器管理。
Spring包结构
添加User Libraries
添加User Libraries:Window---Preferences打开下面的页面在项目中引入User Libraries:在项目上右键-- Properties,打开项目的Properties页面,按照下面的步骤添加User Libraries。
选择要添加的User Libraries,就Ok了!
Demo
需要引入的jar包:
代码:
数据访问层:package com.jmj.spring.dao; public interface UserDao { public void addUser(String username,String password); }
package com.jmj.spring.dao; public class UserDao4OracleImpl implements UserDao { @Override public void addUser(String username, String password) { System.out.println("UserDao4OracleImpl.addUser()"); } }
package com.jmj.spring.dao; public class UserDao4MysqlImpl implements UserDao { @Override public void addUser(String username, String password) { System.out.println("UserDao4MysqlImpl.addUser()"); } }
业务逻辑层:
package com.jmj.spring.manager; public interface UserManager { public void addUser(String username,String password); }
package com.jmj.spring.manager; import com.jmj.spring.dao.UserDao; public class UserManagerImpl implements UserManager { private UserDao userDao; //set方法注入 public void setUserDao(UserDao userDao) { this.userDao = userDao; } //构造方法注入 //UserManager中提供构造函数,让spring将UserDao注入过来 /*public UserManagerImpl(UserDao userDao){ this.userDao=userDao; } */ @Override public void addUser(String username, String password) { //UserDao userDao=new UserDao4MysqlImpl(); userDao.addUser(username, password); } }
ApplicationContext.xml中配置,它是spring的核心配置文件,配置了层与层之间的依赖关系。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <bean id="userDao4OracleImpl" class="com.jmj.spring.dao.UserDao4OracleImpl"></bean> <bean id="userDao4MysqlImpl" class="com.jmj.spring.dao.UserDao4MysqlImpl"></bean> <bean id="userManager" class="com.jmj.spring.manager.UserManagerImpl"> <!--调用构造方法 --> <!-- <constructor-arg ref="userDao4MysqlImpl"/> --> <!-- <constructor-arg ref="userDao4OracleImpl"/> --> <!--调用set方法 --> <property name="userDao" ref="userDao4MysqlImpl"></property> </bean> </beans>
注入有两种方式:一种是构造方法注入,另一种是set方法注入。
两种方式的区别:
1、如果参数少可以使用构造方法,若参数多了,使用set方法更好
2、根据构造方法注入,构造方法是在new的时候,就完成了注入
3、根据set方法注入,set方法是在调用此方法的时候,才注入
4、构造方法不明确,set方法明确
客户端调用:
package com.jmj.spring.client; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.jmj.spring.manager.UserManager; public class Client { /** * @param args */ public static void main(String[] args) { BeanFactory factory=new ClassPathXmlApplicationContext("applicationContext.xml"); UserManager userManager=(UserManager)factory.getBean("userManager"); userManager.addUser("张三", "123"); } }
使用Spring的好处:
1、减少了Factory和Singleton的数量,是代码层次更加清晰,主要原因是将查找、定位、创建和管理对象之间的依赖关系都交给Ioc容器管理。2、Spring的Ioc容器是一个轻量级的容器,没有侵入性,不需要依赖容器的API,也不需要实现特殊接口。
3、解耦和,将耦合推迟到配置文件中,发生了变化也更容易控制。
相关文章推荐
- Linux Generating SSH Keys
- perl脚本实现限制ssh最大登录次数(支持白名单)
- rsync ssh 数据同步分析
- 搭建SSH时的思考和遇到的几个问题的解决方法
- SSH 使用原理 与解释
- SSH整合中 hibernate托管给Spring得到SessionFactory
- Linux VPS利用SSH重置ROOT密码的方法
- ssh,scp自动登陆的实现方法
- linux下使用ssh远程执行命令批量导出数据库到本地
- shell脚本实现ssh自动登录功能分享
- linux下ssh安装与scp命令使用详解
- ssh项目环境搭建步骤(web项目)
- 脚本实现SSH登录邮件报警
- Linux SSH 安全策略 限制 IP 登录方法
- 解决SSH连接超时的2个配置方法
- 用shell脚本防ssh和vsftpd暴力破解的详解讲解
- 内网ssh/mysql登录缓慢的解决方法
- Java实现SSH模式加密
- Linux sshd_config配置手册中文版