初识spring(一)
最近在看spring相关的东西,虽然当时懂了,但是真正用起来还是没有记住多少,所以呢,还是抛砖引玉,写点简单的例子吧。
要说spring,首先要知道什么是spring?spring给我们做了什么?初衷是什么?优点有哪些?
什么是spring###
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性的角度而言,绝大部分Java应用都可以从Spring中受益。
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
spring做了什么
解决企业应用开发的复杂性
spring初衷是什么
1、J2EE开始应该更加简单。
2、使用接口而不是使用类,是更好的编程习惯。Spring将使用接口的复杂度几乎降低到了零。
3、为JavaBean提供了一个更好的应用配置框架。
4、更多地强调面向对象的设计,而不是现行的技术如J2EE。
5、尽量减少不必要的异常捕捉。
6、使应用程序更加容易测试。
spring优点
1、J2EE应该更加容易使用。
2、面向对象的设计比任何实现技术(比如J2EE)都重要。
3、面向接口编程,而不是针对类编程。Spring将使用接口的复杂度降低到零。(面向接口编程有哪些复杂度?)
4、代码应该易于测试。Spring框架会帮助你,使代码的测试更加简单。
5、JavaBean提供了应用程序配置的最好方法。
6、在Java中,已检查异常(Checked exception)被过度使用。框架不应该迫使你捕获不能恢复的异常。
以上解释均来自百度百科,下面就写点代码测试一下。
首先需要两个jar包,分别是spring.jar和commons-logging-1.0.4.jar
为了测试spring,先创建接口和几个基本的类,内容如下:
动物接口
public interface animal {
void say(String text);
}
男人类
@Service(value="manTest")//spring自动注入时候用
public class man implements animal{
@Override
public void say(String text) {
System.out.println("男人类"+text);
}
女人类
@Service(value="womanTest")//spring自动注入时候用
public class woman implements animal {
@Override
public void say(String text) {
System.out.println("女人类"+text);
}
程序的主方法
public static void main(String[] args) {
//没有引用spring的写法
animal manTest=new man();
manTest.say("男人");
animal womanTest=new woman();
womanTest.say("女人");
//引用spring的写法
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
animal manAnimal = (man) context.getBean("man");
manAnimal.say("spring男人");
animal womanAnimal = (woman) context.getBean("woman");
womanAnimal.say("spring女人");
}
要用spring,要有配置文件,配置文件的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="man" class="com.spring.test.man"/>
<bean id="woman" class="com.spring.test.woman"/>
</beans>
运行结果
男人类男人
女人类女人
男人类spring男人
女人类spring女人
如果spring是自动注入的写法,就不用写配置文件,这只是spring简单的应用,以后还要继续写其他的应用,希望对你们有所帮助。