在idea中创建和使用简单的Spring Bean
1,创建maven工程
在idea中创建一个Maven工程
最终的目录组织结构如下:
./pom.xml ./src ./src/main ./src/main/java ./src/main/java/hover ./src/main/java/hover/App.java ./src/main/java/hover/HelloWorld.java ./src/main/resources ./src/main/resources/Spring-Module.xml ./src/test ./src/test/java |
2,添加springframework依赖
在maven中的配置文件pom.xml中,添加以下内容:
<dependencies> <!-- Spring framework --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.5.6</version> </dependency> </dependencies> |
3,创建一个Bean(一个类)
代码如下:
package hover; /** * Created by hover on 2017/5/26. */ /** * Spring bean * */ public class HelloWorld { private String name; public void setName(String name) { this.name = name; } public void printHello() { System.out.println("Hello ! " + name); } } |
代码所在的位置:src/main/java/hover/HelloWorld.java
4,添加一个Spring Bean的配置文件(xml)
在src/main/resource/目录中点击右键,New->XML Configure file->Spring Config,并给文件命名为:
Spring-Module
在该配置文件Spring-Module.xml中添加以下内容:
<bean id="helloBean" class="hover.HelloWorld"> <property name="name" value="Smith"> </property> </bean> |
注意:若这里看不到Spring Config的选项,可以通过以下办法解决:
在pom.xml中添加spring-context依赖:
代码如下:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>2.5.6</version> </dependency>
5,在Bean的文件夹位置编写一个应用Bean的类App:
代码如下:
package hover; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * Created by hover on 2017/5/26. */ /** * Use Spring bean. */ public class App { public static void main( String[] args ) { ApplicationContext context = new ClassPathXmlApplicationContext("Spring-Module.xml"); // 获取bean HelloWorld obj = (HelloWorld) context.getBean("helloBean"); // 使用bean的方法 obj.printHello(); System.out.println( "All is complete, good bye!" ); } } |
6,运行
右键点击App.java,选择Run ...
按照Application方式运行。可以看到App已经获取到Bean的变量内容了。
注意:idea是2017.1.3的ultimate版,ultimate版才有Spring的相关模块和配置文件格式。
参考:
https://www.mkyong.com/spring/quick-start-maven-spring-example/