在idea中新建spring项目,确实直接新建,然后等待其从官网下载好,是springframework 包+ 2个日志包
但这次我弄的时候,不知道为啥5.2.3版本一直下不起来,于是我另寻出路。
就有了下面这篇文章,就是帮助我自己记录,如果对你有帮助,那就挺好的。有说的不对的地方欢迎指正
文章目录
我们也可以手动导入。
而需要导入的jar包则是,需要自己一个个下的,版本要对应好
贴一下版本对应关系
版本图片来源Spring Framework和Java版本之间的关系
一、本地导入项目的library
进去之后选择你想要的版本,然后下载-dist结尾的。
下载好之后,在你的文件夹里解压,然后打开,点进libs
可以看到这么多的 (我这里默认打开软件是notepad++,所以显示是这样。这个你们随意)
然后我们将我上图中的jar包(看注释),拉到一个文件夹里。等等好导入
开始导入,按步骤一步步来 (我这里同时勾选了web项目)
注意
如果想使用aop编程,还得下aspectJweaver和aspectJ-core的jar包,比较现在spring官网推荐的就是这个
后面就是正常创建。
新项目打开后,然后我们打开file->ProjectStructure
可以看到Libary里面已经出现了刚刚我们添加的jar包。(这里也可以在Name那里改名字,在这里的jar包只能用于这个项目)
如果带web项目的话,就得把jar包添加到web项目的WEB-INF下的lib目录里,你也可以看到上图里有一个problem 1
二、global library,避免每次从本地导入(有缺点)
没错,这样子确实每次都要添加jar包,而且jar包比较多的情况 下确实比较麻烦,所以我们可以将其设置成 global library 适合于自己工作,发给别人的时候,别人就没有jar包的
然后就出现了这个在我们的Global Librarie中
然后每次新建项目后,我们啥也不用做,use library即可
目录这里的jar包就会多出我们刚刚那个
三、web项目的话,本地复制粘贴到lib中
在WEN-INF下创建classes和lib文件夹
然后将outpath改为classes
然后将lib目录作为一个jar包路径
然后我们只要直接拖动我们本地的jar包到lib目录里就可以了。
使用前两种的方法,缺点就是将项目文件夹发送给别人时,别人还得自己下载jar包
日志包
当然最后还是需要导入两个日志jar包,可以在maven仓库找到
解释包名作用
一些包的解释
包名 | 简单解释 |
---|---|
spring-aop | 提供对aop(切面编程)的支持 |
spring-aspcets | 是aop的一个开源库,集成了一些aop的方法 |
spring-beans | 对配置文件bean的创建和解析(很重要) |
spring-context | 对上下文(运行环境)的支持 |
spring-context-support | 上下文中集成的一些第三方库 |
spring-core | spring的核心包 |
spring-jdbc | 对数据访问的支持 |
spring-messaging | 对消息中间件的支持,如MQ |
spring-orm,spring-oxm | 对第三方ORM框架的扩展和支持 |
spring-test | 测试 |
spring-web | 对web开发的支持 |
spring-webmvc | springmvc容器的支持 |
spring-websocket | 对即时网页聊天的支持 |
新建第一个项目(spring web项目)注释方式
创建配置文件
idea在新建项目的时候可以勾选起来,自动创建。如果忘记了
也可以右键文件夹,创建,这样就不用写bean的头部了(这谁记得住!)
名字一般就起 applicationContext.xml (可能因为系统默认创建的就是这个名字吧,默认规则)
如果我们是默认生成的话,配置文件会在WEB-INF目录下,然后web.xml里面对于配置文件位置的写法就也是最开始设定好的。
所以如果我们想更改配置文件的位置,别忘记了更改web.xml
classpath:你的class路径;
存放位置:
1:src下面 需要在web.xml中定义如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
< /context-param>
<!--如果有路径,比如在src的config包下面,记得前面加上路径
classpath:config/applicationContext.xml-->
2:WEB-INF下面 需要在web.xml中定义如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/applicationContext*.xml</param-value>
< /context-param>
创建UserDao
public interface UserDao {
public void say();
}
创建UserDaoImpl
package Dao.DaoImpl;
import Dao.UserDao;
import org.springframework.stereotype.Repository;
@Repository
public class UserDaoImpl implements UserDao {
@Override
public void say() {
System.out.println("你最终来到了dao层的实现");
}
}
创建UserService
public interface UserService {
public void say();
}
创建UserServiceImpl
package Service.ServiceImpl;
import Dao.UserDao;
import Service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
</