您的位置:首页 > 其它

idea+maven+ssm环境搭建

2017-09-09 13:30 441 查看

maven的下载、安装、配置到idea中

maven下载地址http://maven.apache.org/download.cgi

在这个网页里你会看到如下图,这两个安装包都可以下载



下载好了就可以安装了,创建一个目录,将解压的maven放入其中,在这个目录里在创建个目录,用来放置maven的本地仓库(第二个目录也可以不建立,maven安装时会在你的系统盘c://user/用户名/.m2里自动创建个本地仓库,可能在你安装好时看不到这个仓库,这时你可以命令行 cmd -> mvn -intall,你就可以看到了),这是我的maven安装后的目录



安装好以后再conf目录下有个setting.xml文件,在其localRepository节点下添加
<localRepository>D:\java\apache-maven-3.5.0\maven_jar</localRepository>
(这是你本地仓库的地址)。

在其mirrors节点下添加

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>


(因为maven的中央仓库下载速度太慢了,在这将其改成阿里的镜像仓库,速度扛扛的),最后将其setting.xml复制一份放到你的本地仓库中,这样maven就安装好了,接下来就将其集成到idea中去

打开idea,点击file -> setting 在弹出的窗口中左上方有个搜索,搜索maven,修改如下三项



这样maven就集成到你的idea中了

接下就是在idea中搭建maven+ssm了

打开idea,做上面file -> new -> project 这时会弹出个窗口



选择好,然后next ,弹出另一个窗口



继续next ,弹出窗口



点击 finish

这是等待下,idea将自动创建这个项目,记得点击右下角的config

将其文件补全成如下图



在这过程中你可能找不到建立package按钮,按下图操作,选择sources file



因为使用了maven(jar包管理工具)会有个pom.xml文件,在这里面添加

pom.xml配置如下(它会自动从镜像仓库下载项目所需要的jar包)

<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>cn.saleNc</groupId>
<artifactId>SaleNc</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>SaleNc Maven Webapp</name>
<url>http://maven.apache.org</url>

<properties>
<!-- 设置项目编码编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- spring版本号 -->
<spring.version>4.3.5.RELEASE</spring.version>
<!-- mybatis版本号 -->
<mybatis.version>3.4.1</mybatis.version>
</properties>

<dependencies>

<!-- java ee -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>

<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>

<!-- 实现slf4j接口并整合 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.2</version>
</dependency>

<!-- JSON -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>

<!-- 数据库 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
<scope>runtime</scope>
</dependency>

<!-- 数据库连接池 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>

<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>

<!-- mybatis/spring整合包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>

<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>

</dependencies>

<build>
<finalName>CaleNc</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- 设置JDK版本 -->
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

</project>


jabc.properties配置

jdbc.driver=com.mysql.jdbc.Driver
#数据库地址
jdbc.url=jdbc:mysql://192.168.1.230:3306/SaleNc?useUnicode=true&characterEncoding=utf8
#用户名
jdbc.username=root
#密码
jdbc.password=sa
#最大连接数
c3p0.maxPoolSize=30
#最小连接数
c3p0.minPoolSize=10
#关闭连接后不自动commit
c3p0.autoCommitOnClose=false
#获取连接超时时间
c3p0.checkoutTimeout=10000
#当获取连接失败重试次数
c3p0.acquireRetryAttempts=2


spring-mvc.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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 
<!-- 扫描web相关的bean -->
<context:component-scan base-package="cn.saleNc.controller"/>

<!-- 开启SpringMVC注解模式 -->
<mvc:annotation-driven/>

<!-- 静态资源默认servlet配置 -->
<mvc:default-servlet-handler/>

<!-- 配置jsp 显示ViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>

</beans>


spring-mybatis.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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> 
<!-- 扫描service包下所有使用注解的类型 -->
<context:component-scan base-package="cn.saleNc.service"/>

<!-- 配置数据库相关参数properties的属性:${url} -->
<context:property-placeholder location="classpath:jdbc.properties"/>

<!-- 数据库连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxPoolSize" value="${c3p0.maxPoolSize}"/>
<property name="minPoolSize" value="${c3p0.minPoolSize}"/>
<property name="autoCommitOnClose" value="${c3p0.autoCommitOnClose}"/>
<property name="checkoutTimeout" value="${c3p0.checkoutTimeout}"/>
<property name="acquireRetryAttempts" value="${c3p0.acquireRetryAttempts}"/>
</bean>

<!-- 配置SqlSessionFactory对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据库连接池 -->
<property name="dataSource" ref="dataSource"/>
<!-- 扫描model包 使用别名 -->
<property name="typeAliasesPackage" value="cn.saleNc.model"/>
<!-- 扫描sql配置文件:mapper需要的xml文件 -->
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>

<!-- 配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入sqlSessionFactory -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!-- 给出需要扫描Dao接口包 -->
<property name="basePackage" value="cn.saleNc.dao"/>
</bean>

<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 注入数据库连接池 -->
<property name="dataSource" ref="dataSource"/>
</bean>

<!-- 配置基于注解的声明式事务 -->
<tx:annotation-driven transaction-manager="transactionManager"/>

</beans>

web.xml配置


UserController.java代码


package cn.saleNc.controller;

import javax.servlet.http.HttpServletRequest;

import cn.saleNc.model.User;

import cn.saleNc.service.UserService;

import com.fasterxml.jackson.databind.ObjectMapper;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import javax.annotation.Resource;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@Controller

@RequestMapping(“/user”)

public class UserController {

@Resource
private UserService userService;

@RequestMapping("/showUser.do")
public void selectUser(HttpServletRequest request, HttpServletResponse response) throws IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
long userId = Long.parseLong(request.getParameter("id"));
User user = this.userService.selectUser(userId);
ObjectMapper mapper = new ObjectMapper();
response.getWriter().write(mapper.writeValueAsString(user));
response.getWriter().close();
}


}

UserDao.java代码


package cn.saleNc.dao;

import cn.saleNc.model.User;

public interface UserDao {

User selectUser(long id);


}

User.java 代码


package cn.saleNc.model;

import java.util.Date;

public class User {

private long id;
private String email;
private String password;
private String username;
private String role;
private int status;
private Date regTime;
private String regIp;

public long getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getRole() {
return role;
}

public void setRole(String role) {
this.role = role;
}

public int getStatus() {
return status;
}

public void setStatus(int status) {
this.status = status;
}

public Date getRegTime() {
return regTime;
}

public void setRegTime(Date regTime) {
this.regTime = regTime;
}

public String getRegIp() {
return regIp;
}

public void setRegIp(String regIp) {
this.regIp = regIp;
}


}

UserService.java  代码


package cn.saleNc.service;

import cn.saleNc.model.User;

public interface UserService {

public User selectUser(long userId);


}

UserServiceImpl.java代码


package cn.saleNc.service.impl;

import cn.saleNc.dao.UserDao;

import cn.saleNc.model.User;

import cn.saleNc.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service(“userService”)

public class UserServiceImpl implements UserService {

@Autowired
private UserDao userDao;

public User selectUser(long userId) {
return this.userDao.selectUser(userId);
}


}

index.html代码


test

function selectUser() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("test").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", "user/showUser.do", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("id=1");
}

Hello World!

onclick test

然后在你的数据库中执行这段代码


CREATE TABLE
user
(

id
int(11) NOT NULL AUTO_INCREMENT COMMENT ‘用户ID’,

email
varchar(255) NOT NULL COMMENT ‘用户邮箱’,

password
varchar(255) NOT NULL COMMENT ‘用户密码’,

username
varchar(255) NOT NULL COMMENT ‘用户昵称’,

role
varchar(255) NOT NULL COMMENT ‘用户身份’,

status
int(1) NOT NULL COMMENT ‘用户状态’,

regTime
datetime NOT NULL COMMENT ‘注册时间’,

regIp
varchar(255) NOT NULL COMMENT ‘注册IP’,

PRIMARY KEY (
id
),

UNIQUE KEY
email
(
email
) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

INSERT INTO
user
VALUES (‘1’, ‘754167208@qq.com’, ‘**‘, ‘沉年’, ‘root’, ‘0’, ‘2017-09-9 09:40:31’, ‘127.0.0.1’);

SET FOREIGN_KEY_CHECKS=1;

“`

然后idea右上角(如图)点击Edit Configurations



会出现如下弹窗



选择第二项,点击OK



这时 run 你的项目

弹出



点击按钮弹出你存进数据库的信息说明你搭建成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: