为什么?在调用方法sign。main方法可用执行@test也可用,调用service就不行spring+spirngmvc +hibernate
Java,为什么用对象调用方法无法执行?
问题1:
你的System.out.print(x.doSomething());这句是想要什么结果呢?doSomething()这个方法没有返回值,所以不能作为另一个方法System.out.print()的参数。
你只需要直接Test906 x = new Test906();x.doSomething();就可以了。
问题2:
doIt()方法返回一个新创建的Test906对象,当你想要得到一个新的Test906对象时就可以调用,其实该方法可以做成静态方法,那么就只需要用Test906.doIt()就可以得到一个新的Test906对象了。
救急!!求答案!!
// 第一题,你的需求比较简洁,估计是初学者,所有我写的比较简单。
public class Demo1 {
private String name; // 存储姓名
private double money; // 存储金额
public Demo1(String name, double money) {
this.name = name;
this.money = money;
}
// 存款
public void save(double m){
money=money+m;
}
// 取款
public void qu(double m){
money=money-m;
}
// 查询
public void chaXun(){
System.out.println("用户:"+name);
System.out.println("余额:"+money);
}
public static void main(String[] args) {
Demo1 d = new Demo1("高亮",0);
d.chaXun();
// 如果需要从控制台输入数据,可以加上Scanner对象,并输出提示信息等
}
}
// 第二题
public class Demo2 {
public static void main(String[] args) {
// 求两数最大公约数普通思路
int a = 24;
int b = 60;
int ys = digui(a, b); // 调用递归求最大公约数
System.out.println("最大公约数:" + ys);
int bs=a*b/ys; // 最小公倍数用两数乘积除以最大公约数结果即可
System.out.println("最小公倍数:"+bs);
// 求三个数的最大公约数,先求两个数最大公约数ys,再求ys与另一个数的最大公约数
int c=15;
int sys=digui(c,ys);
System.out.println("三个数的最大公约数:"+sys);
}
// 递归求两个数的最大公约数
public static int digui(int a, int b) {
if (a % b == 0) {
return b;
} else {
return digui(b, a % b);
}
}
}
// 第三题,题意太简洁,没能理解!如果只是表面意思,很简单。还是自己实现一个大数据加减乘除类
// 第四题
public class Demo4 {
public static void main(String[] args) {
final int Row = 6; // 输出六列的杨辉三角
int yh[][] = new int[Row][Row];
for (int i = 0; i < Row; i++) { // 初始化两边的1
yh[i][0] = 1;
yh[i][i] = 1;
}
for (int i = 2; i < Row; i++) { // 初始化中间部分
for (int j = 1; j < Row; j++) {
yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j];
}
}
for (int i = 0; i < Row; i++) { // 输出
// \t是制表符,可换成空格。由于每个字大小不同,如1和0,会产生不对称效果
for (int j = Row; j-i >= 0; j--) {
System.out.print(" " + "\t");
}
for (int j = 0; j <= i; j++) {
System.out.print(yh[i][j] + "\t\t");
}
System.out.println();
}
}
}
// 第五题
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入直角三角形的行数:");
int n=sc.nextInt(); // 输入行数
for (int i = 1; i <= n; i++) {
for (int j = 1; j <=2*i-1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
// 第六题 不知道是只存储一个人的成绩还是很多人的成绩,利用List存储还是存储到文件或是数据库中。完成一个人简单的成绩计算。
//成绩类
public class Score {
private double kc1;
private double kc2;
private double kc3;
// 相应getter和setter方法
public double getKc1() {
return kc1;
}
public void setKc1(double kc1) {
this.kc1 = kc1;
}
public double getKc2() {
return kc2;
}
public void setKc2(double kc2) {
this.kc2 = kc2;
}
public double getKc3() {
return kc3;
}
public void setKc3(double kc3) {
this.kc3 = kc3;
}
public Score(double kc1, double kc2, double kc3) {
this.kc1 = kc1;
this.kc2 = kc2;
this.kc3 = kc3;
}
}
//计算机类,用于计算平均成绩,总成绩,显示等
public class Computer {
private Score score;
// 计算平均成绩
public Computer(Score score) {
this.score=score;
}
public double avg(){
return sum()/3;
}
// 计算总成绩
public double sum(){
return (score.getKc1()+score.getKc2()+score.getKc3());
}
// 打印平均成绩
public void printAve(){
System.out.println("平均成绩:"+avg());
}
// 打印总成绩
public void printSum(){
System.out.println("总成绩:"+sum());
}
}
public class Test {
public static void main(String[] args) {
Score score = new Score(80,60,94); // 创建成绩对象
Computer computer = new Computer(score); // 创建电脑对象
computer.sum(); // 计算总成绩
computer.avg(); // 计算平均成绩
computer.printSum(); // 打印总成绩
computer.printAve(); // 打印平均成绩
}
}
spring中为什么是通过连接获取操作数据库的对象
展开全部
你的 DataSourceUtils 应该是 Spring 获得数据库连接对象的类。
DataSourceUtils (Spring Framework 5.0.4.RELEASE API)
在 Java 数据库操作的框架中,不论是 Spring, Struts,或者你自己写的连接控制也不管你是否集成连接池,比如说 C3P0。
一般来说,都是先要获得数据库的链接。
在这里你的连接 在 Connection 里面。
获得连接后才能对数据库进行操作。
为什么要用spring而不用hibernate
spring 和 hibernate并不冲突
spring 提供了 “面向切片编程”和“控制反转”的概念,它是一个容易方便我们对代码的组织。
hibernate 提供了一个“ORM(Object-Relational-Mapping,对象关系映射)”的解决方案。简而言之就是方便了dao层与数据库的交互。
题主可能是看到有的书上在使用Spring MVC时不推荐使用Hibernate,这是因为Hibernate的框架相对笨重,很多时候使用起来并不自由。目前有很多轻量级的工具可以使用比如ibatis或者myibatis。
所以spring 和 Hibernate 并不冲突,这二者发挥的作用不同,可以一起使用,如果再加上Struts的话就是前几年风靡一时的SSH(Struts-Spring-Hibernate)框架了