idea结合maven开发spring

来源:互联网 发布:文明5金币修改器 知乎 编辑:程序博客网 时间:2024/05/21 01:52

      我上次写过一篇用idea结合maven开发hibernate的文章,现在利用寒假时期,我学了spring,就用了idea结合maven开发spring,刚开始入手时,我用谷歌和百度上网搜很多用idea结合maven开发spring的例子,但是基本上都是springMVC的模式或者是web的应用,而不是单纯的spring入门级的简单开发,只看到eclipse有这个例子,但跟idea不太一样,这过程我用idea照着eclipse的例子结合maven开发spring,碰到了一个bug,也让我用了整整的一天时间去问人家,去查资料,最终靠自己的不断尝试才解决的小bug,可能对很多初学者初用idea结合maven开发单纯spring估计也会碰上这个错误的,现在我就用图例分享一下怎么用idea结合maven开发spring的过程以及遇到的bug个。

步骤:

1创建spring项目:


2选择maven模板:


3添加spring框架


4建立一个名叫PersonService的javabean对象:

camel-context.xml

public class PersonService{    private String name;    public PersonService()    {            }    public void setName(String name)    {        this.name = name;    }    public String getName()    {        return name;    }    public void info()    {        System.out.println("此人名为:" + name);    }}
5项目默认XML的文件是camel-context.xml

<?xml version="1.0" encoding="UTF-8"?><!-- Configures the Camel Context--><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:camel="http://camel.apache.org/schema/spring" xmlns:context="http://www.springframework.org/schema/context"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">  <camel:camelContext xmlns="http://camel.apache.org/schema/spring"/>    <bean id="personService"  class="com.scau.beyondboy.demo.PersonService">        <property name="name" value="beyondboy"/>    </bean></beans>

6项目的最后一步是主类SpringTest:

存放目录:


第一种错误:

public class SpringTest{    public static void main(String[] args)    {        ApplicationContext test=new ClassPathXmlApplicationContext("camel-context.xml");        System.out.println("容器"+test);        PersonService personService=test.getBean("personService",PersonService.class);        personService.info();    }}


说找不到camel-context.xml的文件,于是我上网查了人家的解决方案,用了下面的方案

第二种错误:

public class SpringTest{    public static void main(String[] args)    {        ApplicationContext test=new ClassPathXmlApplicationContext("classpath*:camel-context.xml");        System.out.println("容器"+test);        PersonService personService=test.getBean("personService",PersonService.class);        personService.info();    }}

这个错误搞了我好多时间才解决的,这个是说找不到那个PersonService的javabean对象实例,后来我上网才了解到classpath:*这些的用途。下满就是关于在spring这个的classpath:*的介绍的链接:

classpath:*的介绍

修改错误的方案:

public class SpringTest{    public static void main(String[] args)    {        ApplicationContext test=new ClassPathXmlApplicationContext("META-INF/spring/camel-context.xml");        PersonService personService=test.getBean("personService",PersonService.class);        personService.info();    }}

运行正常.

最后大家可能会觉得很奇怪,maven的pom.xml文件我始终没动过,其实整个配置文件,idea已经帮我们做好了,一下是idea自动配置的spring的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.scau.beyondboy</groupId>  <artifactId>Spring</artifactId>  <packaging>jar</packaging>  <version>1.0-SNAPSHOT</version>  <name>A Camel Spring Route</name>  <url>http://www.myorganization.org</url>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  </properties>  <dependencies>    <dependency>      <groupId>org.apache.camel</groupId>      <artifactId>camel-core</artifactId>      <version>2.14.1</version>    </dependency>    <dependency>      <groupId>org.apache.camel</groupId>      <artifactId>camel-spring</artifactId>      <version>2.14.1</version>    </dependency>    <!-- logging -->    <dependency>      <groupId>org.slf4j</groupId>      <artifactId>slf4j-api</artifactId>      <version>1.7.7</version>    </dependency>    <dependency>      <groupId>org.slf4j</groupId>      <artifactId>slf4j-log4j12</artifactId>      <version>1.7.7</version>    </dependency>    <dependency>      <groupId>log4j</groupId>      <artifactId>log4j</artifactId>      <version>1.2.17</version>    </dependency>    <!-- testing -->    <dependency>      <groupId>org.apache.camel</groupId>      <artifactId>camel-test-spring</artifactId>      <version>2.14.1</version>      <scope>test</scope>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-test</artifactId>      <version>4.0.7.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework.batch</groupId>      <artifactId>spring-batch-core</artifactId>      <version>3.0.3.RELEASE</version>    </dependency>  </dependencies>  <build>    <defaultGoal>install</defaultGoal>    <plugins>      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-compiler-plugin</artifactId>        <version>2.5.1</version>        <configuration>          <source>1.6</source>          <target>1.6</target>        </configuration>      </plugin>      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-resources-plugin</artifactId>        <version>2.6</version>        <configuration>          <encoding>UTF-8</encoding>        </configuration>      </plugin>      <!-- allows the route to be ran via 'mvn camel:run' -->      <plugin>        <groupId>org.apache.camel</groupId>        <artifactId>camel-maven-plugin</artifactId>        <version>2.14.1</version>      </plugin>    </plugins>  </build></project>


0 0
原创粉丝点击