eclipse4.7.0 + jdk8 + tomcat9 + spring4.2.0 + mybatis

Maven项目结构

jitu.png

POM.XML

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.yg

YouGan

0.0.1-SNAPSHOT

jar

YouGan

http://maven.apache.org

UTF-8

1.8

2.2

1.2

3.1.0

4.2.0.RELEASE

1.6.6

3.2.6

junit

junit

3.8.1

test

javax.servlet

jstl

${jstl.version}

javax.servlet

javax.servlet-api

${servlet.version}

provided

javax.servlet.jsp

jsp-api

${jsp.version}

provided

org.springframework

spring-beans

${spring-framework.version}

org.springframework

spring-context

${spring-framework.version}

commons-logging

commons-logging

org.springframework

spring-expression

${spring-framework.version}

org.springframework

spring-webmvc

${spring-framework.version}

org.springframework

spring-test

${spring-framework.version}

org.springframework

spring-tx

${spring-framework.version}

org.springframework

spring-core

${spring-framework.version}

org.springframework

spring-web

${spring-framework.version}

org.springframework

spring-orm

${spring-framework.version}

org.springframework

spring-jdbc

${spring-framework.version}

org.springframework

spring-aop

${spring-framework.version}

org.slf4j

slf4j-api

${org.slf4j-version}

org.slf4j

jcl-over-slf4j

${org.slf4j-version}

runtime

org.slf4j

slf4j-log4j12

${org.slf4j-version}

runtime

log4j

log4j

1.2.15

javax.mail

mail

javax.jms

jms

com.sun.jdmk

jmxtools

com.sun.jmx

jmxri

runtime

javax.inject

javax.inject

1

com.alibaba

druid

1.0.16

org.apache.commons

commons-dbcp2

2.1.1

org.mybatis

mybatis

${mybatis.version}

org.mybatis

mybatis-spring

1.2.2

YouGan

WeblabWebAppInitializer.JAVA

这是servlet配置

package com.yg.YouGan.config;

import javax.servlet.FilterRegistration;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import org.springframework.web.filter.CharacterEncodingFilter;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class WeblabWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

@Override

protected Class>[] getRootConfigClasses() {

return new Class>[] {};

}

@Override

protected Class>[] getServletConfigClasses() {

return new Class>[] { WebConfig.class };

}

@Override

protected String[] getServletMappings() {

return new String[] { "/" };

}

@Override

public void onStartup(ServletContext servletContext) throws ServletException {

super.onStartup(servletContext);

FilterRegistration.Dynamic encodingFilter = servletContext.addFilter("characterEncodingFilter",

new CharacterEncodingFilter());

encodingFilter.setInitParameter("encoding", "UTF-8");

encodingFilter.setInitParameter("forceEncoding", "true");

encodingFilter.addMappingForUrlPatterns(null, true, "/*");

}

}

WebConfig.JAVA

这是springmvc配置

package com.yg.YouGan.config;

import java.beans.PropertyVetoException;

import java.io.IOException;

import javax.sql.DataSource;

import org.mybatis.spring.SqlSessionFactoryBean;

import org.mybatis.spring.annotation.MapperScan;

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

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.PropertySource;

import org.springframework.core.env.Environment;

import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import org.springframework.core.io.support.ResourcePatternResolver;

import org.springframework.web.servlet.ViewResolver;

import org.springframework.web.servlet.config.annotation.EnableWebMvc;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

import org.springframework.web.servlet.view.InternalResourceViewResolver;

import com.alibaba.druid.pool.DruidDataSource;

/**

* web组件相关配置

*

* @author WebConfig

*

*/

@Configuration

@EnableWebMvc

@PropertySource("classpath:/jdbc.properties")

@MapperScan(basePackages = "com.yg.YouGan.mybatis")

@ComponentScan(basePackages = { "com.yg.YouGan.controller,com.yg.YouGan.service.Imp,com.yg.YouGan.mybatis" })

public class WebConfig extends WebMvcConfigurerAdapter {

@Autowired

Environment env;

/**

* 配置JSP视图解析器

*

* @return

*/

@Bean

public ViewResolver viewResolver() {

System.out.println("配置试图解析");

InternalResourceViewResolver resolver = new InternalResourceViewResolver();

resolver.setPrefix("/WEB-INF/views/");

resolver.setSuffix(".jsp");

return resolver;

}

@Bean

public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) throws IOException {

System.out.println("工厂配置mybatis");

ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();

SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

sqlSessionFactoryBean.setDataSource(dataSource);

sqlSessionFactoryBean.setMapperLocations(resourcePatternResolver.getResources("classpath*:/*Mapper.xml"));

return sqlSessionFactoryBean;

}

/**

* 配置静态资源的处理

*/

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

System.out.println("配置静态资源处理");

registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");

registry.addResourceHandler("js/**").addResourceLocations("/js/");

registry.addResourceHandler("css/**").addResourceLocations("/css/");

registry.addResourceHandler("img/**").addResourceLocations("/img/");

registry.addResourceHandler("images/**").addResourceLocations("/images/");

registry.addResourceHandler("fonts/**").addResourceLocations("/fonts/");

registry.addResourceHandler("plugins/**").addResourceLocations("/plugins/");

}

@Bean

public DataSource dataSource() throws PropertyVetoException {

System.out.println("数据库连接");

DruidDataSource dataSource = new DruidDataSource();

dataSource.setDriverClassName(env.getProperty("jdbc.driver"));

dataSource.setUrl(env.getProperty("jdbc.url"));

dataSource.setUsername(env.getProperty("jdbc.username"));

dataSource.setPassword(env.getProperty("jdbc.password"));

dataSource.setInitialSize(Integer.valueOf(env.getProperty("dbcp.initialSize")));

dataSource.setMaxActive(Integer.valueOf(env.getProperty("dbcp.maxActive")));

// dataSource.setMaxIdle(Integer.valueOf(env.getProperty("dbcp.minIdle")));

// dataSource.setMaxIdle(Integer.valueOf(env.getProperty("dbcp.maxIdle")));

dataSource.setMaxWait(Long.valueOf(env.getProperty("dbcp.maxWait")));

return dataSource;

}

}

jdbc.properties

数据库配置文件,这里我用的是oracle

#----------------------------------------------------------

# oracle

#----------------------------------------------------------

jdbc.driver=oracle.jdbc.OracleDriver

jdbc.url=jdbc:oracle:thin:@ip:端口:orcl

jdbc.username=admin

jdbc.password=123

#dbcp settings

dbcp.initialSize=0

dbcp.minIdle=1

dbcp.maxIdle=20

dbcp.maxActive=20

dbcp.maxWait=60000

UserMpper.XML

/p>

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

SELECT

u.id,u.name,u.age FROM user u WHERE name=#{name}

UserMyBatisDao.JAVA

package com.yg.YouGan.mybatis;

import org.springframework.stereotype.Repository;

import com.yg.YouGan.entity.User;

@Repository

public interface UserMyBatisDao {

public User getUser(String name);

}

UserService.JAVA

package com.yg.YouGan.service;

import com.yg.YouGan.entity.User;

public interface UserService {

public User getUser(String name);

}

UserServiceImp.JAVA

package com.yg.YouGan.service.Imp;

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

import org.springframework.stereotype.Service;

import com.yg.YouGan.entity.User;

import com.yg.YouGan.mybatis.UserMyBatisDao;

import com.yg.YouGan.service.UserService;

@Service

public class UserServiceImp implements UserService {

@Autowired

UserMyBatisDao userMapper;

public User getUser(String name) {

return userMapper.getUser(name);

}

}

UserController.JAVA

package com.yg.YouGan.controller;

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

import org.springframework.stereotype.Controller;

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

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

import org.springframework.web.servlet.ModelAndView;

import com.yg.YouGan.entity.User;

import com.yg.YouGan.service.UserService;

@Controller

public class UserController {

@Autowired

private UserService userService;

@RequestMapping(value = "/", method = RequestMethod.GET)

public String index() {

System.out.println("访问成功");

return "index";

}

@RequestMapping(value = "/getUser", method = RequestMethod.GET)

public Object toIndex() {

System.out.println("访问用户成功");

ModelAndView mv = null;

try {

User user = userService.getUser("张广新");

mv = new ModelAndView("/index");

mv.addObject("user", user);

} catch (Exception e) {

mv = new ModelAndView("/index");

}

return mv;

}

}

User.JAVA

实体类

package com.yg.YouGan.entity;

public class User {

private int id;

private String user_name;

private String name;

private int age;

public int getId() {

return id;

}

public String getUserName() {

return user_name;

}

public void setUserName(String user_name) {

this.user_name = user_name;

}

public void setId(int id) {

this.id = id;

}

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;

}

}

java配置springmvc_告别XML 使用JAVA配置SpringMVC相关推荐

  1. mybatis + spring boot + yml 配置,告别XML

    1第一步配置yml文件 2第二部配置Spring boot启动类 3-spring-boot+mybatis动态sql http://blog.csdn.net/zhugeyangyang1994/a ...

  2. java 日期注解 xml_Spring xml注解+java注解

    1,xml+基于注解配置(第一步:在xml开启注解配置) @Component  被表示类会被纳入 spring ioc 容器进行管理,相当于 @Value    为类注入基本类型和String属性值 ...

  3. java指定sql生成xml,用Java实现可保存状态的数据库生成XML树(8)-JSP教程,Java与XML...

    4.ejb-jar.xml文件 //sun microsystems, inc.//dtd enterprise javabeans 1.1//en http://java.sun.com/j2ee/ ...

  4. java xmlns_如何从xml和java中的根元素中删除xmlns属性

    我想从以下xml字符串中删除xmlns属性.我编写了一个 java程序,但不确定它是否需要在这里完成. 如何删除xmlns属性并获取修改后的xml字符串? 输入XML字符串: abc 预期的XML输出 ...

  5. java宅急送下载_pom.xml · blucywei/java宅急送物流管理项目 - Gitee.com

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.x ...

  6. java document解析xml_[XML]在Java中用Document解析XML实例

    ------showByCondition输出结果------- e01 name:张三 tel:5128 email:txq512@sina.com e02 name:meixin tel:5252 ...

  7. java datasource 配置_Spring boot 基于注解方式配置datasource

    Spring boot 基于注解方式配置datasource Xml配置 我们先来回顾下,使用xml配置数据源. 步骤: 先加载数据库相关配置文件; 配置数据源; 配置sqlSessionFactor ...

  8. java读取并修改xml文件

    java读取并修改xml文件 java如何读取xml并且修改xml文件呢?代码如下: //复制模板xnl File file = new File(xmlSavePath + "/mb.xm ...

  9. Java读取、创建xml(通过dom方式)

    创建一个接口 XmlInterface.java public interface XmlInterface {/** * 建立XML文档 * @param fileName 文件全路径名称 */ p ...

最新文章

  1. 1乘到100 python_python每日一练之如何计算你的应发奖金?
  2. python【蓝桥杯vip练习题库】ADV-236林丹大战李宗伟
  3. C++学习-环境配置
  4. 剑指offer--整数中1出现的次数
  5. 网络——在网络上发送,接收数据
  6. P2572 [SCOI2010]序列操作
  7. 新设计了自己博客的模板
  8. 计算机网络 HTTP工作机制 TCP三次握手四次挥手 TCP滑动窗口
  9. 【GPORF源码编译】GDB源码编译之gprof交叉编译
  10. Twitterrifi常用快捷键汇总
  11. ubuntu安装dockers和images:dvwa
  12. 清华085211计算机技术,2018年清华大学计算机系计算机技术考研(085211)考试科目、参考书目、复习经验---新祥旭考研...
  13. python 股票收益数据统计(柱状图)
  14. 论文复现——PFLD——人脸关键点检测
  15. STM32时钟--基于正点原子STM32视频教程
  16. 计算机鼠标无法控制,鼠标控制不了电脑屏幕
  17. PDO连接数据库及DSN详解
  18. sql中不用group by分组进行计总
  19. 面试时薪资报高了,HR要银行流水怎么办?
  20. 电感、电阻与温度的对应函数关系

热门文章

  1. 罗永浩机场与人发生争执!疑似新机遭偷拍?网友称:这炒作满分
  2. 马斯克与SEC再次达成和解协议 未被罚款也未被削权
  3. oSIP开发者手册 (二)
  4. 真机调试时部分日志丢失(魅族)
  5. Mysql的两种存储引擎以及区别
  6. OAuth 授权的工作原理是怎样的?
  7. windows java配置_菜鸟教程 windows 配置java的环境变量
  8. Golang实践录:简单的代码片段
  9. ubuntu 14.04系统DHCP服务器搭建
  10. 关于h264bitstream的bug修正及完善