怎么在Java中搭建一个Spring开发环境?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
添加依赖包
进入spring官网,切换到projects下点击 spring framework.官网上写的是以maven依赖的形式写的,所以可以新建一个maven项目,然后将下面的依赖加入到pom.xml里
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.0.RELEASE</version> </dependency></dependencies>
或者,也可以点击这个页面右上角的fork me on github,在github里下载依赖包,然后加入到项目的build path中去。
注意, spring-context只是包含了spring最核心的功能,如依赖注入,切面等。
创建spring配置文件
新建一个名为bean.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" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="com.lcl"></context:component-scan></beans>
这个配置文件有几个地方需要说明一下:
命名空间
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
这个是xml的语法,配置当前xml文件中的标签格式,这里配置了context和p两个命名空间。例如,配了context空间,就可以使用</context:XXX>这样的标签。
自动扫描组件
<context:component-scan base-package="com.lcl"></context:component-scan>
这个配置可以让spring框架自动扫描代码中用@component注解了的类,自动创建这些类的对象。
最后注意一下bean.xml要放在代码目录下,其目的是为了将bean.xml添加到classpath中。
编写代码
首先,写一个Person类作为bean类。所谓bean类,简单来说就是所有成员变量都有getter和setter方法,并且有无参构造方法的类。然后用了@Component(“person”)
注解将Person类标注为一个组件,这样,就可以使用@Resource将Person的一个实例注入给其他对象的成员里,或者使用Application类的getBean(Class)
方法得到一个实例。
package com.lcl;import org.springframework.stereotype.Service;@Component("person")public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void info(){ System.out.println("一起来吃麻辣烫!"); System.out.println("name:"+getName()+" age:"+getAge()); }}
然后是A类,A类有person成员变量引用了Person的实例,我们是用spring的依赖注入来管理成员变量person的创建,为了达到这个目的,只需要将person变量用@Resource注解标注即可。
package com.lcl;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.stereotype.Component;import org.springframework.stereotype.Service;@Componentpublic class A { @Resource private Person person; public void info(){ person.setName("abc"); person.setAge(123); person.info(); } public static void main(String[] args){ ApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml"); A a=ctx.getBean(A.class); a.info(); }}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。